缙云网站建设,wordpress 购物 插件下载,印刷网站 源码,专门做家教的网站Spring 中#xff0c;创建定时任务除了使用Scheduled 注解外#xff0c;还可以使用 SchedulingConfigurer。
Schedule 注解有一个缺点#xff0c;其定时的时间不能动态的改变#xff0c;而基于 SchedulingConfigurer 接口的方式可以做到。SchedulingConfigurer 接口可以实…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博客