springmvc实战技巧解析(八)实现自定义定时任务(重数据库中获取定时任务的时间)
【摘要】
@Configuration@EnableSchedulingpublic class JobConfig implements SchedulingConfigurer { @Autowired @Qualifier("timingTasks") TimingTasks timingTasks; //获取定...
-
@Configuration
-
@EnableScheduling
-
public class JobConfig implements SchedulingConfigurer {
-
-
@Autowired
-
@Qualifier("timingTasks")
-
TimingTasks timingTasks;
-
-
//获取定时任务的时间service
-
@Bean(name={"timingTasks"})
-
public TimingTasks timingTasks() {
-
return new TimingTasks();
-
}
-
-
/**
-
* 执行定时任务.
-
*/
-
@Override
-
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
-
taskRegistrar.addTriggerTask(
-
// 1.添加任务内容(Runnable)
-
() -> System.out.println("执行定时任务2: " + LocalDateTime.now().toLocalTime()),
-
// 2.设置执行周期(Trigger)
-
triggerContext -> {
-
// 2.1 从数据库获取执行周期
-
System.out.println("开始执行");
-
List<SaleProductFileBO> resultBO = timingTasks.selectTimingTasks(Long.valueOf(2));
-
//获取定时任务的时间
-
String cron = resultBO.get(0).getFiles();
-
// 2.3 返回执行周期(Date)
-
return new CronTrigger(cron).nextExecutionTime(triggerContext);
-
});
-
}
-
-
-
}
文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。
原文链接:baocl.blog.csdn.net/article/details/99296964
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)