SpringBoot的@Schedule突然失效--@RefreshScope原因导致

问题

SpringBoot中@Schedule定时调度突然失效。

排查原因是在@Schedule注解的方法的类中加了@RefreshScope注解,更改nacos配置中心的配置时,触发@RefreshScope逻辑的执行,导致定时调度任务的缓存失效。

 

解决方法

具体见:https://www.jianshu.com/p/0e490fe4ff7a

 

Schedule类实现ApplicationListener<RefreshScopeRefreshedEvent>接口,在onApplicationEvent(event)方法中,手动调用被@Scheduled标注的方法

当触发RefreshScopeRefreshedEvent事件时,就会重新把调度任务放到缓存中。

posted @ 2022-01-21 15:54  yq055783  阅读(1584)  评论(0编辑  收藏  举报