大家好,又见面了,我是你们的朋友全栈君。
SchedulerFactoryBean初始化监听
今天碰到一个问题,使用的是Quartz动态控制定时器的运行,功能已经完善,但是每次上线定时项目的时候,总要重启,一重启,所有定时任务自动就停止了,就会跟数据库对应的定时器状态不一致,在网上找了半天,找到了关于SchedulerFactoryBean初始化监听的东西,网上的文章大部分是SchedulerFactoryBean初始化解析,全部去研究代码去了,找了半天才找到了一篇有用的文章,我也很无语。为此,我就把这个记录了一下,主要怕自己下次还是不会,也为了广大攻城狮们做个记录。有帮助的可以点个赞。
PS:我想写那篇文章链接的,但是一不小心给关了,我用的还是纯净模式,那个文章是我翻了好多页才找到的,比较难找,所以就没写链接了。
@Component("quartzStarterListener")
public class QuartzStarterListener implements ApplicationListener {
private static final Logger logger = Logger.getLogger(QuartzStarterListener.class);
private boolean started = false;
@Override
public void onApplicationEvent(ApplicationEvent event) {
if (event instanceof ContextRefreshedEvent){
try {
if (!started && !scheduler.isStarted()){
started = true;
System.out.println("监听工程,初始化完成,可以在这里查询数据库,用来完成项目启动,查数据库动态跑定时的功能")
}
} catch (SchedulerException e) {
logger.error("监听异常", e);
e.printStackTrace();
}
}
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142213.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...