对于SpringBoot的定时器使用相当简单
只需在启动类上加入注解@EnableScheduling
1.静态定时器
@Component
public 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;
@Component
public 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;
}
}
搞定