Quartz修改代码后仍运行老代码的问题

问题描述:

今天在使用quartz时,因为一个疏忽,错误的将一个job加入了scheduler中.
之后不管怎么改代码都是老的结果,并没有细想原因而是单方面认为是缓存的原因.导致不管是清class文件还是重启都无法解决.直到下班都没有解决.
带着疑惑,想着明天再过来说不定就好了.就在下楼骑上车刚上路没几步时,突然想起来: __ quartz支持使用数据库持久化保存定时任务的状态和信息.__
破案了! 难怪不管怎么清缓存都不会生效,在项目重启时,quartz自己去数据库读取任务执行,当然不会收代码的影响.
这次事件记录在问题发生的晚上.先记录下来明天到公司去验证猜想.
也给了我一些思考:

  1. 对quartz的持久化没有做出充分全局的认识,以前在做的过程中只是做代码的搬运工而没有深入了解到底是为什么.
  2. quartz框架的持久化似乎更新有问题,如果相同id的定时任务,第二次应该更新数据库中的信息才对.而实际并没有更新,这点并没有做出验证,要等到有时间再好好看看.

附上quartz中文文档,今天粗粗的瞄了一眼似乎写的挺全的 : Quartz快速入门指南


   转载规则


《Quartz修改代码后仍运行老代码的问题》 echi1995 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
记录一下自己觉得实用的帖子 (持续更新) 记录一下自己觉得实用的帖子 (持续更新)
使用MongoDB时,因为是使用spring整合,基本是用Criteria类进行查询.有时会出现一些Criteria类不能支持的情况,帖子里介绍了BasicQuery类使用起来和直接用MongoDB差不多.Spring Data Mong
下一篇 
在使用@Async情况下,子线程访问父线程中@RequestScope注解修饰的对象 在使用@Async情况下,子线程访问父线程中@RequestScope注解修饰的对象
问题描述: 在开发过程中,发现使用@Async修饰的方法,一旦使用到@RequestScope修饰的对象时,就会出现异常。大致意思是当前线程没有request scope。 搜索过程:在搜索问题的过程中,发现似乎所有的线索都在指向:H
  目录