您的位置:首页 > 编程语言 > Java开发

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

2017-09-15 09:54 573 查看
简单两步,实现在spring boot中配置和使用定时器:
1、在入口类中加入@EnableScheduling注解(即springboot启动类添加注解@EnableScheduling):

[java] view
plain copy

@SpringBootApplication  

@EnableScheduling  

public class MySpringBootApplication {  

    private static Logger logger = LoggerFactory.getLogger(MySpringBootApplication.class);  

      

    public static void main(String[] args) {  

        SpringApplication.run(MySpringBootApplication.class, args);  

        logger.info("My Spring Boot Application Started");  

    }  

}  

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

[java] view
plain copy

@Component  

public class Scheduler {  

    private final Logger logger = LoggerFactory.getLogger(this.getClass());  

      

    @Scheduled(cron="0 0/1 * * * ?") //每分钟执行一次,这是cron表达式  

    public void statusCheck() {      

        logger.info("每分钟执行一次。开始……");  

        //statusTask.healthCheck();  

        logger.info("每分钟执行一次。结束。");  

    }    

  

    @Scheduled(fixedRate=20000)  

    public void testTasks() {      

        logger.info("每20秒执行一次。开始……");  

        //statusTask.healthCheck();  

        logger.info("每20秒执行一次。结束。");  

    }    

}  

启动项目,验证结果:

[plain] view
plain copy

2016-07-19 14:51:57,049:INFO pool-2-thread-1 (Scheduler.java:28) - 每20秒执行一次。开始……  

2016-07-19 14:51:57,049:INFO pool-2-thread-1 (Scheduler.java:31) - 每20秒执行一次。结束。  

2016-07-19 14:52:00,002:INFO pool-2-thread-1 (Scheduler.java:19) - 每分钟执行一次。开始……  

2016-07-19 14:52:00,002:INFO pool-2-thread-1 (Scheduler.java:22) - 每分钟执行一次。结束。  

2016-07-19 14:52:17,049:INFO pool-2-thread-1 (Scheduler.java:28) - 每20秒执行一次。开始……  

2016-07-19 14:52:17,049:INFO pool-2-thread-1 (Scheduler.java:31) - 每20秒执行一次。结束。  

2016-07-19 14:52:37,049:INFO pool-2-thread-1 (Scheduler.java:28) - 每20秒执行一次。开始……  

2016-07-19 14:52:37,049:INFO pool-2-thread-1 (Scheduler.java:31) - 每20秒执行一次。结束。  

2016-07-19 14:52:57,049:INFO pool-2-thread-1 (Scheduler.java:28) - 每20秒执行一次。开始……  

2016-07-19 14:52:57,049:INFO pool-2-thread-1 (Scheduler.java:31) - 每20秒执行一次。结束。  

2016-07-19 14:53:00,002:INFO pool-2-thread-1 (Scheduler.java:19) - 每分钟执行一次。开始……  

2016-07-19 14:53:00,002:INFO pool-2-thread-1 (Scheduler.java:22) - 每分钟执行一次。结束。  

2016-07-19 14:53:17,049:INFO pool-2-thread-1 (Scheduler.java:28) - 每20秒执行一次。开始……  

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: