Spring定时任务(一):SpringTask使用

   背景:在日常开发中,经常会用到任务调度这类程序。实现方法常用的有:A. 通过java.util.Timer、TimerTask实现。 B.通过Spring自带的SpringTask。 C. 通过Spring结合Quartz实现。本文我们将讲述SpringTask的使用入门方法。

 

  一、配置

    A. 引入SpringTask命名空间

    B. 开启Spring注解扫描, 将Bean的创建交由Spring进行管理。用于创建Scheduler声明

      <context:component-scan base-package="com.unben.scheduler" />

 

    C. 开启SpringTask注解驱动。作用:识别Task相关注解,如“@Scheduled”

      <task:annotation-driven/>

 

    D. 创建TreadPoolTaskScheduler实例,并指定该线程池初始大小。

      <task:scheduler id="taskScheduler" pool-size="5" />

 

    E. SpringTask的触发器实现方案有两种, 一种是基于Cron表达式的CronTrigger触发器, 另一种是基于接受固定周期的PeriodicTrigger触发器。在接下来的步骤二、三中我们将分别讲述两种触发器的使用方法

 

   二、 接受固定周期的PeriodicTrigger触发器

    案例1:

    案例2:

    配置详解:

      ref=任务调度工作类

      method=工作类中具体执行的哪个方法

      initial-delay=初次调度执行前,延时时长。单位:毫秒

      fixed-delay=上一次调度完成后,延时多少时间,进行下一次调用。单位:毫秒

      fixed-rate=上一次调用开始后,延时多少时间,进行下一次调用。不等待上一次调度完成,单位:毫秒。

 

  三、基于Cron表达式的CronTrigger触发器

    案例3:

    案例4:

    配置说明:

      Cron语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek。

      如上案例表示:每隔多少秒钟执行一次。关于的Cron表达式,将在下一篇博客中详细说明。

 

 

    

      

 

posted @ 2018-05-05 17:13  Ark~  阅读(1472)  评论(0编辑  收藏  举报