SchedulerFactoryBean初始化监听

SchedulerFactoryBean初始化监听SchedulerFactoryBean初始化监听今天碰到一个问题,使用的是Quartz动态控制定时器的运行,功能已经完善,但是每次上线定时项目的时候,总要重启,一重启,所有定时任务自动就停止了,就会跟数据库对应的定时器状态不一致,在网上找了半天,找到了关于SchedulerFactoryBean初始化监听的东西,网上的文章大部分是SchedulerFactoryBean初始化解析,全部去研究…

大家好,又见面了,我是你们的朋友全栈君。

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();
            }
        }
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142213.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【工作笔记】PathFileExists 返回 FALSE

    【工作笔记】PathFileExists 返回 FALSE问题描述:在参数传递正确,文件确实存在的情况下,PathFileExists偶尔返回FALSE解决思路:1、首先,由于是网络路径,所以system用户使用文件操作类函数(比如PathFileExists、GetFileAttributesEx等)时需要切token2、在切token并成功的情况下,发现依然会偶尔返回FALSE,打印错误码,有拒绝访问和文件不存在两种情况3、使用P…

    2022年7月12日
    21
  • Android程序员的十大转型之路

    Android程序员的十大转型之路IT行业是一个瞬息万变的行业,程序员是一个不进则退的职业。我作为一个Android程序员,多年来一直保持随时可以转型其他技术领域的状态,保持对新技术敏感的嗅觉。

    2022年6月14日
    128
  • propertydescriptor类的使用_constructor类

    propertydescriptor类的使用_constructor类.NETFramework2.0其他版本提供类上的属性的抽象化。命名空间:System.ComponentModel程序集:System(在system.dll中)语法C#C++VB[ComVisibleAt

    2022年10月1日
    3
  • nginx启动停止命令[通俗易懂]

    nginx常用命令启动停止:先进入nginx目录,再进入子目录sbinnginx启动:./nginxnginx停止:./nginx-sstopnginx重新加载nginx.conf:./nginx-sreloadnginx查看nginx.conf配置是否正确:./nginx-t修改配置:先进入nginx目录,再进入子目录conf修改nginx.conf文件…

    2022年4月13日
    197
  • Python之数学(math)和随机数(random)

    math包包含了最基本的数学运算函数,如果想要更加高级的数学功能,可以使用标准库外的numpy和scipy库,他们不但支持数组和矩阵运算,还有丰富的数学和物理方程可供使用random包可以用来生成

    2021年12月18日
    63
  • 常见JVM面试题及答案整理[通俗易懂]

    常见JVM面试题及答案整理[通俗易懂]前言总结了JVM一些经典面试题,分享出我自己的解题思路,希望对大家有帮助,有哪里你觉得不正确的话,欢迎指出,后续有空会更新。1.什么情况下会发生栈内存溢出。思路:描述栈定义,再描述为什么会溢出,再说明一下相关配置参数,OK的话可以给面试官手写是一个栈溢出的demo。我的答案:栈是线程私有的,他的生命周期与线程相同,每个方法在执行的时候都会创建一个栈帧,用来存储局部变量表,操作…

    2022年6月9日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号