首页 > 编程知识 正文

springboot 定时器时间可配置,spring定时器实现

时间:2023-05-03 10:02:35 阅读:209619 作者:1694

对于SpringBoot的定时器使用相当简单

只需在启动类上加入注解@EnableScheduling

1.静态定时器

@Componentpublic class ScheduledDemo{ //@Scheduled(cron = "0 0 0 * * ?")//每天凌晨执行一次 @Scheduled(cron="0/10 * * * * ?")//每10秒执行一次 public void timmer(){ //写自己的业务逻辑System.out.println("定时任务"); }}

OK简单好用

2.动态定时器

import org.springframework.scheduling.Trigger;import org.springframework.scheduling.TriggerContext;import org.springframework.scheduling.annotation.SchedulingConfigurer;import org.springframework.scheduling.config.ScheduledTaskRegistrar;import org.springframework.scheduling.support.CronTrigger;import org.springframework.stereotype.Component;import java.util.Date;@Componentpublic class TimeTrak implements SchedulingConfigurer { private String cron = "0/03 * * * * ?"; @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.addTriggerTask(new Runnable() { @Override public void run() { //自己的业务逻辑 System.out.println("定时执行"); } },new Trigger(){ @Override public Date nextExecutionTime(TriggerContext triggerContext) { return new CronTrigger(cron).nextExecutionTime(triggerContext); } }); } public void setCron(String cron) { this.cron = cron; }}

搞定

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。