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

摘要:
B.通过Spring自带的SpringTask。C.通过Spring结合Quartz实现。本文我们将讲述SpringTask的使用入门方法。用于创建Scheduler声明C.开启SpringTask注解驱动。E.SpringTask的触发器实现方案有两种,一种是基于Cron表达式的CronTrigger触发器,另一种是基于接受固定周期的PeriodicTrigger触发器。

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

一、配置

A. 引入SpringTask命名空间

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

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

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

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

<task:annotation-driven/>

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

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

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

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

案例1:

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

案例2:

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

配置详解:

ref=任务调度工作类

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

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

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

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

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

案例3:

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

案例4:

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

配置说明:

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

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

免责声明:文章转载自《Spring定时任务(一):SpringTask使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇从零开始,SpreadJS新人学习笔记【第3周】com.alibaba.druid.sql.parser.ParserException: syntax error, QUES %, pos 80 like报错解决下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle中Before和After触发器的例子

做一个表的insert的trigger,目的是只修改插入行的字段。 CREATE OR REPLACE TRIGGER TR_RME_SLOT BEFORE INSERT ON RME_SLOT FOR EACH ROW BEGIN IF (:NEW.POSITION >= 0 AND :NEW.POSITION <10) THEN :NEW...

(转)ORACLE触发器详解

本文转载自:http://blog.csdn.net/indexman/article/details/8023740/ ORACLE PL/SQL编程之八:  把触发器说透    本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创...

数据库辅助工具SqlDbx

SqlDbx 是简单易用的数据库设备,SQL编辑,SQL查询工具。语句规则突出,智能化,自动完成,等等特色功能多多。支持Oracle,Sybase ASE, IBM,DB2/UDB, MicrosoftSQL Server,MySQL 和ODBC数据源。 可以看到库中有多少表、多少存储过程、多少触发器、多少视图、多少函数,可以直接看到每个表的数据行数,可以...

APScheduler定时任务框架

1.简介 APScheduler是一个Python**定时任务框架**,提供了**基于日期**、**固定时间间隔**以及**crontab**类型的任务,并且可以**持久化任务**。基于这些功能,我们可以很方便的实现一个python定时任务系统。 2.安装 pip install apscheduler 3.组成部分 触发器(triggers):触发器...

(转载)施密特触发器工作原理

施密特触发电路( 简称)是一种波形整形电路,当任何波形的信号进入电路时,输出在正、负饱和之间跳动,产生方波或脉波输出。        什么叫触发器   施密特触发电路( 简称)是一种波形整形电路,当任何波形的信号进入电路时,输出在正、负饱和之间跳动,产生方波或脉波输出。不同于比较器,施密特触发电路有两个临界电压且形成一个滞后区,可以防止在滞后范围内之噪声干...

转:SQLServer级联删除示例

SQLServer 2000与Oracle 8i相比较,在级联删除上有太多的限制 表内自关联不支持级联删除和级联更新 一个表内在有多个列同时关联于另一个表时,不支持多个级联删除 还有什么循环级联删除限制,等等 ....... 一大堆限制,如果要迁移Oracle到SqlServer麻烦多多,特别对于用于构造树型结构的表内自关联(比如部门表)的级联...