加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

SpringBoot下使用定时任务的方式全揭秘

发布时间:2019-02-21 20:52:53 所属栏目:优化 来源:佚名
导读:本文旨在用通俗的语言讲述枯燥的知识 定时任务作为一种系统调度工具,在一些需要有定时作业的系统中应用广泛,如每逢某个时间点统计数据、在将来某个时刻执行某些动作...定时任务在主流开发语言均提供相应的API供开发者调用,在Java中,实现定时任务有很多

可以看出:Scheduled注解中的参数用来设置“定时”动作,通常情况下,比较常用的参数是cron(),这意味着我们需要学会一些cron表达式相关的语法,但由于内容较多,篇幅较长,在这里暂不铺开讲解,我们把cron语法相关放到文章最后,在此先讲解如何用Scheduled注解来实现定时任务。

1)开启定时任务支持

  1. @SpringBootApplication 
  2. /** 
  3.  * 开启定时任务支持 
  4.  */ 
  5. @EnableScheduling 
  6. public class TestApplication  extends SpringBootServletInitializer { 
  7.     public static void main(String[] args) { 
  8.         SpringApplication.run(TestApplication.class, args); 
  9.     } 
  10.     @Override 
  11.     protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { 
  12.         return builder.sources(this.getClass()); 
  13.     } 

2)使用

  1. @Component 
  2. public class ScheduledTest { 
  3.     private Logger logger = LoggerFactory.getLogger(ScheduledTest.class); 
  4.     /** 
  5.      * 每15秒执行一次定时任务 
  6.      */ 
  7.     @Scheduled(cron = "0/15 * * * * ? ") 
  8.     public void testCron(){ 
  9.         logger.info("Scheduled 执行一次定时任务"); 
  10.     } 

6. cron表达式

cron表达式是一个字符串其语法为:

  1. [秒] [分] [小时] [日] [月] [周] [年] 

其中[年]为非必填项,因此通常cron表达式通常由6或7部分内容组成,内容的取值为数字或者一些cron表达式约定的特殊字符,这些特殊字符称为“通配符”,每一个通配符分别代指一种值。cron表达式可以用这样的表格来表示:

其中通配符的解释以及作用如下:


  1. 示例: 
  2. 每2秒执行一次:0/5 ? 
  3. 每5分钟执行一次:0 0/5 * ? 
  4. 1分、12分、45分执行一次:0 1,12,45 * ? 
  5. 每天23点59分59秒执行一次:59 59 23 ? 
  6. 每月15号凌晨3点执行一次:0 0 3 15 * ? 
  7. 每月最后一天12点执行一次:0 0 12 L *  

【编辑推荐】

  1. 史上最污技术解读,我竟然秒懂了...
  2. 白帽黑客展示新技术,仅需换一条数据线就能远程操控你的电脑
  3. 不服就干,程序员过年回家装逼指南_技术栈微信半月刊第35期
  4. “90后中年危机”提前到来,代码还没写够,就已中年,而且还危机
  5. Gartner 2019年「数据和分析技术」领域的十大趋势
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读