SpringBoot启动quartz定时任务创建失败

Caused by: org.quartz.ObjectAlreadyExistsException: Unable to store Job : 'DEFAULT.TASK_1', because one already exists with this identification.
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1113) ~[quartz-2.3.0.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$2.executeVoid(JobStoreSupport.java:1067) ~[quartz-2.3.0.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3765) ~[quartz-2.3.0.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3763) ~[quartz-2.3.0.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:245) ~[quartz-2.3.0.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:1063) ~[quartz-2.3.0.jar:na]
	at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:855) ~[quartz-2.3.0.jar:na]
	at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:249) ~[quartz-2.3.0.jar:na]
	at io.renren.modules.job.utils.ScheduleUtils.createScheduleJob(ScheduleUtils.java:67) ~[classes/:na]
	... 39 common frames omitted

找了好久,以为是误改了什么文件导致的,但是查看修改记录,发现前一天修改的内容没有关于报错项目的,最后摸索到了数据库

QRTZ_JOB_DETAILS表中,找到上述报错的,JOB_NAME:TASK_1,JOB_GROUP:DEFAULT的记录了.
在这里插入图片描述
这里直接将这条记录删除即可.

如果直接允许删除,那么说明上一次退出或启动时发生了问题,该表中的内容没有被正常删除.

正常而言,QRTZ_TRIGGERS表中对QRTZ_JOB_DETAILS有外键引用,所以直接是删除不掉的,而QRTZ_CRON_TRIGGERS表中又有对QRTZ_TRIGGERS的外键引用.所以,要按照:以下顺序删除数据

QRTZ_CRON_TRIGGERS > QRTZ_TRIGGERS > QRTZ_JOB_DETAILS

删除后即可正常启动了.


DELETE from qrtz_cron_triggers;
DELETE from qrtz_triggers;
DELETE from qrtz_job_details;

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值