作家
登录

SpringBoot定时任务及Cron表达式详解

作者: 来源: 2017-08-17 12:20:28 阅读 我要评论

【51CTO晃荡】8.26 带你深度懂得清华大年夜学、搜狗基于算法的IT运维实践与摸索


(3)fixedDelayString:与fixedDelay含义一样,只是参数类型变为String;

摘要: 讲解若何应用SpringBoot准时义务,并经由过程源码解释若何应用多线程处理各准时义务。 具体解释cron表达式用法。

一、准时义务概述

后台项目开辟中经常会用到准时义务,如今实现准时义务都方法也是多种多样。下面列举几种常见的准时义务实现方法:

1. Quartz:Quartz的应用相当广泛,它是一个功能强大年夜的调剂器,当然应用起来也相对麻烦;

2. java.util包里的Timer,它也可以实现准时义务然则功能过于单一所有应用很少。

3. 就是我们今天要介绍的Spring自带的准时义务Schedule,其实可以把它看作是一个简化版的,轻量级的Quartz,应用起来也相对便利很多。

二、实现准时义务

1. 创建准时义务

  1. import org.slf4j.Logger; 
  2. import org.slf4j.LoggerFactory; 
  3. import org.springframework.scheduling.annotation.Scheduled; 
  4. import org.springframework.stereotype.Component; 
  5.  
  6. /** 
  7.  * Description: 构建履行准时义务 
  8.  * Designer: jack 
  9.  * Date: 2017/8/10 
  10.  * Version: 1.0.0 
  11.  */ 
  12. @Component 
  13. public class ScheduledTasks { 
  14.  
  15.     private Logger logger = LoggerFactory.getLogger(ScheduledTasks.class); 
  16.  
  17.     private int fixedDelayCount = 1; 
  18.     private int fixedRateCount = 1; 
  19.     private int initialDelayCount = 1; 
  20.     private int cronCount = 1; 
  21.  
  22.     @Scheduled(fixedDelay = 5000)        //fixedDelay = 5000表示当前办法履行完毕5000ms后,Spring scheduling会再次调用该办法 
  23.     public void testFixDelay() { 
  24.         logger.info("===fixedDelay: 第{}次履行办法", fixedDelayCount++); 
  25.     } 
  26.  
  27.     @Scheduled(fixedRate = 5000)        //fixedRate = 5000表示当前办法开端履行5000ms后,Spring scheduling会再次调用该办法 
  28.     public void testFixedRate() { 
  29.         logger.info("===fixedRate: 第{}次履行办法", fixedRateCount++); 
  30.     } 
  31.  
  32.     @Scheduled(initialDelay = 1000, fixedRate = 5000)   //initialDelay = 1000表示延迟1000ms履行第一次义务 
  33.     public void testInitialDelay() { 
  34.         logger.info("===initialDelay: 第{}次履行办法", initialDelayCount++); 
  35.     } 
  36.  
  37.     @Scheduled(cron = "0 0/1 * * * ?")  //cron接收cron表达式,根据cron表达式肯定准时规矩 
  38.     
     1/6    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      Linux内核态抢占机制分析

    【51CTO晃荡】8.26 带你深度懂得清华大年夜学、搜狗基于算法的IT运维实践与摸索 本文起首介绍非抢占式内核(Non-Preemptive Kernel)和可抢占式内核(Preemptive Kernel)的差别。接着分析L>>>详细阅读


    本文标题:SpringBoot定时任务及Cron表达式详解

    地址:http://www.17bianji.com/lsqh/36757.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)