JAVA项目代码几乎没有改动,重新发布后突然报错,无法启动

在几乎未修改代码的情况下,JAVA项目重新发布后无法启动,报错与定时任务相关。分析认为非代码改动引起,可能是数据库中的脏数据导致。解决方案是按表间外键依赖顺序清理定时任务日志表,先清空qrtz_cron_triggers,再清空qrtz_triggers,最后处理qrtz_job_details表。
摘要由CSDN通过智能技术生成

项目场景:

提示:这里简述项目相关背景:

JAVA项目代码几乎没有改动,重新发布后突然报错,无法启动


问题描述

提示:这里描述项目中遇到的问题:

JAVA项目代码几乎没有改动,重新发布后突然报错,无法启动,报错信息如下所示:
在这里插入图片描述


原因分析:

提示:这里填写问题的分析:

因为我在项目中 代码几乎没有进行改动 ,但在 重新发布后 后台控制台 突然出现 上述错误, 而且

从报错信息中我们看到,是和定时任务有关,所以我们基本上可以确定,不是 代码导致的原因,其它详细的信息从日志信息中我们无法获取到。

查看定时任务相关数据表:
在这里插入图片描述

解决方案:

提示:具体的解决方式:

数据库中产生脏数据,最直接的方法是清空定时任务日志表

需要注意的是,定时任务日志表中存在表格的关联性,故需根据表格的关联前后顺序进行清空或删除表格,否则会提示无法删除或清空数据。

说明:
需删除 qrtz_job_details 表中的数据信息
需要注意的是,如果我们直接 去删除 qrtz_job_details 表中的数据, 是删除不掉的,会有提示信息出现,如下图所示:
在这里插入图片描述

所以我们要先了解 定时任务各表之间的联系,其中 qrtz_triggers 表中对 qrtz_job_details 有外键引用, qrtz_cron_triggers 表中 又有对 qrtz_triggers 的外键引用,所以,要按照 表格外键引用的顺序才能删除数据成功,
即 :

先删除 qrtz_cron_triggers 表中的数据, 然后再 删除 qrtz_triggers 表中的数据 ,最后再删除 qrtz_job_details 表中的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值