springBoot实现定时调度

如何使用

SpringBoot本身已经为我们提供了内置的定时器Scheduled,我们直接使用即可。

[java]  view plain  copy
  1. @Configuration  
  2. @EnableScheduling  
  3. public class SchedulingConfig {  
  4.   
  5.     @Scheduled(cron = "0 0/1 * * * ?")  
  6.     public void test(){  
  7.         System.out.println("定时调度。。。。。。。。。。。。");  
  8.     }  
  9. }  

@Sheduled注解

Cron属性——String
Seconds (秒): 可出现", - * /"四个字符,有效范围为0-59的整数
Minutes (分): 可出现", - * /"四个字符,有效范围为0-59的整数
Hours (时): 可出现", - * /"四个字符,有效范围为0-23的整数
DayofMonth (天/月): 可出现", - * / ? L W C"八个字符,有效范围为0-31的整数
Month (月): 可出现", - * /"四个字符,有效范围为1-12的整数或JAN-DEc
DayofWeek (星期几): 可出现", - * / ? L C #"四个字符,有效范围为1-7的整数或SUN-SAT两个范围。1表示星期天,2表示星期一, 依次类推
Year (年): 可出现", - * /"四个字符,有效范围为1970-2099年
推荐一个cron表达式自动生成的网站 点击获取
fixedRate属性——Long

表示多长时间执行一次,单位为ms(毫秒),后执行

fixedDelay属性——Long

表示多长时间执行一次,单位为ms(毫秒),先执行fixedRate与fixedDelay不同在于启动时先走定时器fixedRate后执行代码块,而fixedDelay先执行代码块,后执行定时器,通过以下代码来演示

[java]  view plain  copy
  1. @Configuration  
  2. @EnableScheduling  
  3. public class SchedulingConfig {  
  4.   
  5.     @Scheduled(fixedRate = 10000)  
  6.     public void test1() throws InterruptedException {  
  7.         Thread.sleep(5000);  
  8.         System.out.println("定时任务1================");  
  9.     }  
  10.   
  11.     @Scheduled(fixedRate = 10000)  
  12.     public void test2() throws InterruptedException {  
  13.         Thread.sleep(5000);  
  14.         System.out.println("定时任务2================");  
  15.     }  
  16. }  

启动application,输出结果为

[plain]  view plain  copy
  1. 定时任务2================  
  2. 定时任务1================  
  3. 定时任务2================  
  4. 定时任务1================  
initialDelay属性——Long

该属性表示第一次执行延时的时间,只针对第一次执行有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值