Quartz修改定时任务时间,无须重启服务

quartz通过动态设置读取配置文件,有时排查问题需要重新执行定时任务,因为重启一次服务器所需的成本太多。
这时,就需要我们仅仅修改数据库就能实现动态的更新定时任务的定时时间。

但仅仅修改表qrtz_cron_triggers对应cronExpression并不能生效,原因在于表qrtz_triggers中的所有时间相关的值并没有变动。

1.更改表qrtz_cron_triggers的cronExpression(定时任务时间)

例子:

update QRTZ_CRON_TRIGGERS set CRON_EXPRESSION='0 */1 * * * ?' where TRIGGER_NAME='oidcRotationCiperTriggerBean';


2.将表qrtz_triggers的NEXT_FIRE_TIME(下一次执行时间)和PREV_FIRE_TIME(上一次执行时间)的值改为0

例子:

update QRTZ_TRIGGERS set NEXT_FIRE_TIME=0,PREV_FIRE_TIME=0 where TRIGGER_NAME='oidcRotationCiperTriggerBean';

友情提示:使用此法则不能实现配置文件同数据库的同步,重启后会读取配置文件的设置。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值