spring boot中实现配置和使用定时器

简单两步,实现在spring boot中配置和使用定时器:

1、在入口类中加入@EnableScheduling注解(即springboot启动类添加注解@EnableScheduling)

[java]  view plain  copy
  1. @SpringBootApplication  
  2. @EnableScheduling  
  3. public class MySpringBootApplication {  
  4.     private static Logger logger = LoggerFactory.getLogger(MySpringBootApplication.class);  
  5.       
  6.     public static void main(String[] args) {  
  7.         SpringApplication.run(MySpringBootApplication.class, args);  
  8.         logger.info("My Spring Boot Application Started");  
  9.     }  
  10. }  

2、创建定时器类,类中的方法注解了@Scheduled就是一个定时器,我这里谢了两个定时器,你们用一个也行。:

[java]  view plain  copy
  1. @Component  
  2. public class Scheduler {  
  3.     private final Logger logger = LoggerFactory.getLogger(this.getClass());  
  4.       
  5.     @Scheduled(cron="0 0/1 * * * ?"//每分钟执行一次,这是cron表达式  
  6.     public void statusCheck() {      
  7.         logger.info("每分钟执行一次。开始……");  
  8.         //statusTask.healthCheck();  
  9.         logger.info("每分钟执行一次。结束。");  
  10.     }    
  11.   
  12.     @Scheduled(fixedRate=20000)  
  13.     public void testTasks() {      
  14.         logger.info("每20秒执行一次。开始……");  
  15.         //statusTask.healthCheck();  
  16.         logger.info("每20秒执行一次。结束。");  
  17.     }    
  18. }  


启动项目,验证结果:

[plain]  view plain  copy
  1. 2016-07-19 14:51:57,049:INFO pool-2-thread-1 (Scheduler.java:28) - 每20秒执行一次。开始……  
  2. 2016-07-19 14:51:57,049:INFO pool-2-thread-1 (Scheduler.java:31) - 每20秒执行一次。结束。  
  3. 2016-07-19 14:52:00,002:INFO pool-2-thread-1 (Scheduler.java:19) - 每分钟执行一次。开始……  
  4. 2016-07-19 14:52:00,002:INFO pool-2-thread-1 (Scheduler.java:22) - 每分钟执行一次。结束。  
  5. 2016-07-19 14:52:17,049:INFO pool-2-thread-1 (Scheduler.java:28) - 每20秒执行一次。开始……  
  6. 2016-07-19 14:52:17,049:INFO pool-2-thread-1 (Scheduler.java:31) - 每20秒执行一次。结束。  
  7. 2016-07-19 14:52:37,049:INFO pool-2-thread-1 (Scheduler.java:28) - 每20秒执行一次。开始……  
  8. 2016-07-19 14:52:37,049:INFO pool-2-thread-1 (Scheduler.java:31) - 每20秒执行一次。结束。  
  9. 2016-07-19 14:52:57,049:INFO pool-2-thread-1 (Scheduler.java:28) - 每20秒执行一次。开始……  
  10. 2016-07-19 14:52:57,049:INFO pool-2-thread-1 (Scheduler.java:31) - 每20秒执行一次。结束。  
  11. 2016-07-19 14:53:00,002:INFO pool-2-thread-1 (Scheduler.java:19) - 每分钟执行一次。开始……  
  12. 2016-07-19 14:53:00,002:INFO pool-2-thread-1 (Scheduler.java:22) - 每分钟执行一次。结束。  
  13. 2016-07-19 14:53:17,049:INFO pool-2-thread-1 (Scheduler.java:28) - 每20秒执行一次。开始……  
  14. 2016-07-19 14:53:17,049:INFO pool-2-thread-1 (Scheduler.java:31) - 每20秒执行一次。结束。  

关于@Scheduled注解中参数的使用,以及cron的定义,请参考: http://blog.csdn.net/ClementAD/article/details/42042111

源代码参考:https://github.com/xujijun/my-spring-boot

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值