Handling 2 trigger(s) that missed their scheduled fire-time,JobPersistenceException: Couldn't store
测试服应用 启动, quartz模块 报错
Handling 2 trigger(s) that missed their scheduled fire-time
MisfireHandler: Error handling misfires: Couldn’t store trigger ‘group2.job2’ for ‘group2.job2’ job:Couldn’t retrieve job because a required class was not found: com.example.quartz_demo.job.ScheduledJob
org.quartz.JobPersistenceException: Couldn’t store trigger ‘group2.job2’ for ‘group2.job2’ job:Couldn’t retrieve job because a required class was not found: com.example.quartz_demo.job.ScheduledJob
Caused by: org.quartz.JobPersistenceException: Couldn’t retrieve job because a required class was not found: com.example.quartz_demo.job.ScheduledJob
Caused by: java.lang.ClassNotFoundException: com.example.quartz_demo.job.ScheduledJob
具体如下:
2019-11-15 14:12:22.721 INFO 6 --- [lerFactoryBean]] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now, after delay of 1 seconds
2019-11-15 14:12:22.756 INFO 6 --- [lerFactoryBean]] o.s.s.quartz.LocalDataSourceJobStore : ClusterManager: detected 1 failed or restarted instances.
2019-11-15 14:12:22.756 INFO 6 --- [lerFactoryBean]] o.s.s.quartz.LocalDataSourceJobStore : ClusterManager: Scanning for instance "BizMsTestAlpha1573796467977"'s failed in-progress jobs.
2019-11-15 14:12:22.778 INFO 6 --- [lerFactoryBean]] org.quartz.core.QuartzScheduler : Scheduler schedulerFactoryBean_$_BizMsTestAlpha1573798335259 started.
2019-11-15 14:12:22.810 INFO 6 --- [_MisfireHandler] o.s.s.quartz.LocalDataSourceJobStore : Handling 2 trigger(s) that missed their scheduled fire-time.
2019-11-15 14:12:22.865 ERROR 6 --- [_MisfireHandler] o.s.s.quartz.LocalDataSourceJobStore : MisfireHandler: Error handling misfires: Couldn't store trigger 'group2.job2' for 'group2.job2' job:Couldn't retrieve job because a required class was not found: com.example.quartz_demo.job.ScheduledJoborg.quartz.JobPersistenceException: Couldn't store trigger 'group2.job2' for 'group2.job2' job:Couldn't retrieve job because a required class was not found: com.example.quartz_demo.job.ScheduledJobat org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1223) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport.doUpdateOfMisfiredTrigger(JobStoreSupport.java:1037) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:986) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3203) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:3951) [quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:3972) [quartz-2.2.3.jar!/:na]
Caused by: org.quartz.JobPersistenceException: Couldn't retrieve job because a required class was not found: com.example.quartz_demo.job.ScheduledJobat org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1388) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1205) ~[quartz-2.2.3.jar!/:na]... 5 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.example.quartz_demo.job.ScheduledJobat java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_222]at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_222]at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94) ~[core-0.0.1.jar:0.0.1]at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_222]at org.springframework.util.ClassUtils.forName(ClassUtils.java:274) ~[spring-core-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]at org.springframework.scheduling.quartz.ResourceLoaderClassLoadHelper.loadClass(ResourceLoaderClassLoadHelper.java:81) ~[spring-context-support-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]at org.springframework.scheduling.quartz.ResourceLoaderClassLoadHelper.loadClass(ResourceLoaderClassLoadHelper.java:86) ~[spring-context-support-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectJobDetail(StdJDBCDelegate.java:852) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1385) ~[quartz-2.2.3.jar!/:na]... 6 common frames omitted2019-11-15 14:13:12.804 INFO 6 --- [_MisfireHandler] o.s.s.quartz.LocalDataSourceJobStore : Handling 2 trigger(s) that missed their scheduled fire-time.
2019-11-15 14:14:02.852 INFO 6 --- [_MisfireHandler] o.s.s.quartz.LocalDataSourceJobStore : Handling 2 trigger(s) that missed their scheduled fire-time.
2019-11-15 14:14:52.802 INFO 6 --- [_MisfireHandler] o.s.s.quartz.LocalDataSourceJobStore : Handling 2 trigger(s) that missed their scheduled fire-time.
2019-11-15 14:15:42.864 INFO 6 --- [_MisfireHandler] o.s.s.quartz.LocalDataSourceJobStore : Handling 2 trigger(s) that missed their scheduled fire-time.
2019-11-15 14:15:42.908 ERROR 6 --- [_MisfireHandler] o.s.s.quartz.LocalDataSourceJobStore : MisfireHandler: Error handling misfires: Couldn't store trigger 'group2.job2' for 'group2.job2' job:Couldn't retrieve job because a required class was not found: com.example.quartz_demo.job.ScheduledJoborg.quartz.JobPersistenceException: Couldn't store trigger 'group2.job2' for 'group2.job2' job:Couldn't retrieve job because a required class was not found: com.example.quartz_demo.job.ScheduledJobat org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1223) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport.doUpdateOfMisfiredTrigger(JobStoreSupport.java:1037) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:986) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3203) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:3951) [quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:3972) [quartz-2.2.3.jar!/:na]
Caused by: org.quartz.JobPersistenceException: Couldn't retrieve job because a required class was not found: com.example.quartz_demo.job.ScheduledJobat org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1388) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1205) ~[quartz-2.2.3.jar!/:na]... 5 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.example.quartz_demo.job.ScheduledJobat java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_222]at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_222]at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94) ~[core-0.0.1.jar:0.0.1]at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_222]at org.springframework.util.ClassUtils.forName(ClassUtils.java:274) ~[spring-core-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]at org.springframework.scheduling.quartz.ResourceLoaderClassLoadHelper.loadClass(ResourceLoaderClassLoadHelper.java:81) ~[spring-context-support-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]at org.springframework.scheduling.quartz.ResourceLoaderClassLoadHelper.loadClass(ResourceLoaderClassLoadHelper.java:86) ~[spring-context-support-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectJobDetail(StdJDBCDelegate.java:852) ~[quartz-2.2.3.jar!/:na]at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1385) ~[quartz-2.2.3.jar!/:na]... 6 common frames omitted2019-11-15 14:16:32.808 INFO 6 --- [_MisfireHandler] o.s.s.quartz.LocalDataSourceJobStore : Handling 2 trigger(s) that missed their scheduled fire-time.
分析:
上述报错说 触发不了group2.job2 找不到 任务 group2.job2 的执行类 com.example.quartz_demo.job.ScheduledJob,但是在测试服应用中根本就没有这个类,不存在包 com.example.quartz_demo,而且这个命名很像我写测试demo的工程命名风格。
而且,测试demo 和 现在启动的测试服应用 quartz模块 访问的数据库是同一个
所以呢,我怀疑是测试服应用启动时quartz模块从数据库加载任务时读取到了测试quartz的demo工程中创建的任务,去数据库中找到quartz表 QRTZ_TRIGGERS,可以看到有 group2.job2 ,在QRTZ_JOB_DETAILS表JOB_CLASS_NAME字段记录了任务执行类 com.example.quartz_demo.job.ScheduledJob
解决:
依次删除 QRTZ_CRON_TRIGGERS 、 QRTZ_JOB_DETAILS 、QRTZ_TRIGGERS 表中 group2.job2 记录信息(注: 如果不是按顺序删除,会报错 外键问题,根据提示找到外键关联表,删除其中记录即可)
重启项目,上述错误不再出现
注:如果还继续报错,但不是刚才删除的那个任务,而是新的任务,例如 group3.job3 , 那么继续按上面一样 删除掉数据库表中group3.job3记录信息,重启项目即可.
Handling 2 trigger(s) that missed their scheduled fire-time,JobPersistenceException: Couldn't store相关推荐
- org.quartz.JobPersistenceException: Couldn‘t store trigger ‘DEFAULT.MT_vqhsgkj1lrr8‘ for ‘?,?‘
Couldn't store trigger 'DEFAULT.MT_vqhsgkj1lrr8' 错误信息 解决办法 错误信息 org.quartz.JobPersistenceException: ...
- springboot整合quartz实现动态添加、修改、删除、停止job,以及优化quartz工具类,支持自动停止逻辑
原文链接:http://pengfeiguo.com/article/16 什么是Quartz? 一个定时任务调度框架,简单易用,功能强大可以使实现定时任务的. 优点: 支持集群下定时任务处理 支持任 ...
- Quartz定时任务 - Springboot之Quartz
什么是Quartz? 一个定时任务调度框架,简单易用,功能强大可以使实现定时任务的. 优点: 支持集群下定时任务处理 支持任务并发阻塞(上一个任务完成后,才能继续下一个任务) 支持通过API对任务的操 ...
- quartz定时任务创建成功但无法生成实例
quartz在oracle中无法生成实例 描述:使用quartz完成定时任务,连接oracle库时可以正常创建任务,quartz的那些表中也正常创建了jobdetail和trigger等信息,但就是到 ...
- Couldn‘t store trigger ‘‘ for ‘‘ job:Couldn‘t retrieve job because the BLOB couldn‘t be deserialized
解决方法在最下面,可以直接跳过前面解析部分. 具体错误日志如下: org.quartz.JobPersistenceException: Couldn't store trigger 'Axxxx' ...
- Structured Streaming编程 Programming Guide
Structured Streaming编程 Programming Guide • Overview • Quick Example • Programming Model o Basic Conc ...
- quartz集群调度机制调研及源码分析---转载
quartz2.2.1集群调度机制调研及源码分析 引言 quartz集群架构 调度器实例化 调度过程 触发器的获取 触发trigger: Job执行过程: 总结: 附: 引言 quratz是目前最为成 ...
- 一文揭秘定时任务调度框架quartz
之前写过quartz或者引用过quartz的一些文章,有很多人给我发消息问quartz的相关问题, quartz 报错:java.lang.classNotFoundException quartz源 ...
- Spring4.2+quartz2.2集群
2019独角兽企业重金招聘Python工程师标准>>> 不了解定时器概念的朋友们可以参考: 基于 Quartz 开发企业级任务调度应用 1.maven创建工程 2.导入依赖 pom. ...
最新文章
- Asp.Net MVC3 简单入门详解过滤器Filter
- Java 面试题基础概念收集(高级)
- 信息化监理是请来的第三者?
- 牛客月赛42题解【完结】
- 如何在React中做到jQuery-free
- Oracle 表空间的段管理
- 小学数学加减法测试软件,小学生数学加减测试题
- win定时关机_两种方法让你设置电脑定时关机
- HTML参考系列(5)-表格标签
- php input file 上传文件类型,php轻松实现文件上传功能
- QTableWidget动态添加QComboBox并获取表格单元的Widget类型
- extjs java 教程,JAVA开发工具 - 在IntelliJ IDEA下开发ExtJS应用指南
- 大数据应用让医疗护理更高效
- python爬虫心得_Python爬虫入门心得分享
- python rpc框架对比_RPC简介及框架选择
- java海康摄像头添加人脸_java调用海康人脸识别机5603的sdk的使用总结(二)
- 峰值电流检测电路设计/自己备忘
- authinfo.php,微信刷脸支付getWxpayFaceAuthInfo.php一直返回“无效的RawData数据”?
- Y05 - 999、Python - 风变编程
- js解析json js获取json里面的某个节点的数据 js解析json数据
热门文章
- android 开发的步骤
- 运放稳定性连载14:RO何时转变为ZO?(3)
- 记一次连接数据库报错The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zo
- Uncaught SyntaxError: missing ) after argument list 解决办法
- uni-app视频加图片轮播
- (转)Android QQ空间(Apad)项目总结(三)---应用UI框架的搭建!!!
- effective python怎么样_【Python】《Effective Python》 读书笔记 (一)
- java 第三方登录之QQ登录
- BUUCTFweb比赛做题记录
- 第二银河消息窗口 彩色字体,超大字体实现方法