spring boot中使用定时:
方式1:
新建一个java类,添加注解@Configuration和@EnableScheduling,开启调度任务。在类中新建一个定时的方法添加注解@Scheduled ,表明该方法是一个调度任务。cron表达式配置定时执行的规则
实例:
@Configuration
@EnableScheduling
public classSpringBootScheduledController {
/**
*每20秒执行一次
*/
@Scheduled(cron="0/20 * * * * ?")
public voidmethodScheduling(){
System.out.println("methodScheduling定时任务启动了");
}
}
方式2:
在启动类上添加注解@EnableScheduling,开启调度任务。创建一个任务类添加注解@Component,类中方法添加注解@Scheduled,表明该方法是一个调度任务。
示例:
启动类
@SpringBootApplication
@EnableScheduling
public classSpringBootRestApplication {
public static voidmain(String[] args) {
SpringApplication.run(SpringBootRestApplication.class,args);
}
}
任务类
@Component
public classSpringBootScheduledController {
/**
*每20秒执行一次
*/
@Scheduled(cron="0/20 * * * * ?")
public voidmethodScheduling(){
System.out.println("methodScheduling定时任务启动了");
}
}
说明:
@Scheduled(cron="0/10 * * * * ?")//通过cron表达式定义执行规则, 每隔十秒执行1次
@Scheduled(fixedRate=1000)//上次开始执行时间点之后1秒再执行
@Scheduled(fixedDelay=1000)//上次执行完毕时间点之后1秒再执行
@Scheduled(initialDelay=1000,fixedRate=1000)//第一次延迟1秒后执行,之后按fixedRate的规则每1秒执行1次
网友评论