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)
上一篇 2022年5月24日 上午10:20
下一篇 2022年5月24日 上午10:20


相关推荐

  • Lunix 命令_linux常用基本命令实例

    Lunix 命令_linux常用基本命令实例将常用到的Lunix基本命令整理一下。1.文本编辑命令使用:vifilename:对文本可以增删改查操作。viewfilename:可以理解成vi版本的只读操作。catfilename:普通查阅2.vi命令详解(1)退出并保存::ZZ或是:wq退出不保存::q!(2)光标移动:hjkl分别对应←…

    2026年4月15日
    5
  • linux下keras安装教程_keras安装及使用

    linux下keras安装教程_keras安装及使用安装全称参考 https keras cn readthedocs io en latest for beginners keras linux 环境中已配置 cuda8 0 cudnn5 0 ubuntu16 04 安装的 tensorflow gpu 版本安装完成后进行测试 importtensor 问题 ImportError libcublas so 9 0 cannotopens

    2026年3月18日
    3
  • 存储过程示例

    存储过程示例存储过程示例:例1:创建不带参数的存储过程输出系统日期createorreplaceprocedureoutput_dateisbegindbms_output.put_line(sysd

    2022年7月2日
    26
  • HashSet介绍

    HashSet介绍HashSet 简介 HashSet 是一个没有重复元素的集合 它是由 HashMap 实现的 不保证元素的顺序 而且 HashSet 允许使用 null 元素 HashSet 是非同步的 如果多个线程同时访问一个哈希 set 而其中至少一个线程修改了该 set 那么它必须保持外部同步 这通常是通过对自然封装该 set 的对象执行同步操作来完成的 如果不存在这样的对象 则应该使用 Collections synchronized 方法来 包装 set 最好在创建时完成这一操作 以防止对该 set

    2026年3月16日
    2
  • ehcache缓存原理_实现lru缓存

    ehcache缓存原理_实现lru缓存运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久

    2022年8月8日
    4
  • Android 调用微信小程序支付badparam_微信定时发消息

    Android 调用微信小程序支付badparam_微信定时发消息最近一项目需要添加微信的分享:朋友、朋友圈。原本以为挺简单的一事,无非就是去官网下个Demo,集成到自己项目中,可以分分钟搞定,结果这帮写文档的坑爹玩意,愣是浪费了我N多时间,好了吐槽完毕,接下来分享下此次调用微信中遇到的问题和解决方法:首先第一个问题:死活调不出微信客户端原因:是没有按照所谓的官方说明来操作,解决方法:1)对要加微信的项目进行打包签名,此时就有了自己的

    2026年4月15日
    6

发表回复

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

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