动态定时任务数据库获取方式
生活随笔
收集整理的這篇文章主要介紹了
动态定时任务数据库获取方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Spring 中,創建定時任務除了使用@Scheduled 注解外,還可以使用 SchedulingConfigurer。
@Schedule 注解有一個缺點,其定時的時間不能動態的改變,而基于 SchedulingConfigurer 接口的方式可以做到。SchedulingConfigurer 接口可以實現在@Configuration 類上,同時不要忘了,還需要@EnableScheduling 注解的支持。
/*** 執行定時任務.*/@Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {taskRegistrar.addTriggerTask(() -> {System.out.println("=================執行動態定時任務============= ");},triggerContext -> {//獲取數據庫定時任務拉姆達表達式String cron = scheduledMapper.getCron();Date date = new CronTrigger(cron).nextExecutionTime(triggerContext);System.out.println("===========定時任務執行周期:" + cron + ":" + date);return date;});}此方法,是在觸發運行的時候,刷新定時規則,這種方法的缺點是,刷新規則的時間必須是在某次觸發運行的時候。
想要立即生效 參考
spring schedule 實時更新 cron 表達式,并且立即生效。(單機,非分布式調度,無需quartz)_stomfeng的專欄-CSDN博客
總結
以上是生活随笔為你收集整理的动态定时任务数据库获取方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4个月规模骤降2.5万亿,未来要再降3万
- 下一篇: 浦发万用随借金和万用金有什么区别 随借金