@Lazy(false)
@Component
@EnableScheduling
@Slf4j
public class CustomTask implements SchedulingConfigurer {
@Autowired
private RedisTemplate<String, String> redisTemplate;
private String cron = "0/5 * * * * ?";
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
TriggerTask triggrtTask = new TriggerTask(
() -> {
//需要处理的业务逻辑
},
// 设置触发器,传入的TriggerContext类型,返回的是Date类型
triggerContext -> {
try{
String customCron = redisTemplate.opsForValue().get("orderCron");
if(customCron==null||customCron.isEmpty()){
customCron = cron;
}
// 2.3 返回执行周期(Date)
return new CronTrigger(customCron).nextExecutionTime(triggerContext);
}catch (Exception e){
e.printStackTrace();
// 2.3 返回执行周期(Date)
return new CronTrigger(cron).nextExecutionTime(triggerContext);
}
});
scheduledTaskRegistrar.addTriggerTask(triggrtTask);
}
}
定时器时间存于redis可以随意更改
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- springboot -- 自带定时器实现定时任务的开启关闭以及定时时间可以配置 pom.xml 2.配置文件ap...
- 我们都知道竞拍的时效要求是非常高的。每秒都有可能出现新的拍卖结果,这个时候拍卖的单价,拍卖人,拍卖剩余时间都可能会...
- 定时器的作用: 每隔一段时间或者延迟一段时间,执行一段指定的代码。 定时器的分类: 1.延迟定时器 setTi...
- Node.js+Redis实现定时器任务 标签(空格分隔): Node.js [TOC] 简介 在 Redis 的...