Spring 任务调度
来源:互联网 发布:软件制作 编辑:程序博客网 时间:2024/05/21 05:21
1. 触发机制
定时任务的触发机制一般可分为两种,分别是按固定周期运行和在指定时间点运行。
2. 依赖 jar
commons-logging-1.1.3.jar
spring-beans-3.2.3.RELEASE.jar
spring-context-3.2.3.RELEASE.jar
spring-core-3.2.3.RELEASE.jar
spring-expression-3.2.3.RELEASE.jar
# download url
http://repo.spring.io/release/org/springframework/spring/
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/overview.html
https://dist.apache.org/repos/dist/release/commons/logging/binaries/
3. 一个 Java 类
package org.demo.task;import java.util.Date;public class HeartBeatTask{ /** * 检测心跳 */ public void run() { String time = new Date().toString(); System.out.println("[" + time + "] alive."); }}
4. Spring 配置文件 src/spring-tasks.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd" > <!-- bean definition --> <bean id="heartBeat" class="org.demo.task.HeartBeatTask" /> <!-- task definition --> <task:scheduler id="myScheduler" pool-size="10" /> <task:scheduled-tasks scheduler="myScheduler"> <task:scheduled ref="heartBeat" method="run" initial-delay="10000" fixed-delay="5000" /> </task:scheduled-tasks> </beans>
# <task:scheduled> 的参数说明如下:
initial-delay : 表示第一次运行前需要延迟的时间,单位是毫秒
fixed-delay : 表示从上一个任务完成到下一个任务开始的间隔, 单位是毫秒
fixed-rate : 表示从上一个任务开始到下一个任务开始的间隔, 单位是毫秒(如果某次任务开始时上次任务还没有结束,那么在上次任务执行完成时,当前任务会立即执行)
cron : cron 表达式,由6个字段组成,依次为 second, minute, hour, day, month, weekday 例如:
"0 0 * * * *" = the top of every hour of every day.
"*/10 * * * * *" = every ten seconds.(在 0, 10, 20, 30, 40, 50 秒时运行)
"0 0 8-10 * * *" = 8, 9 and 10 o'clock of every day.
"0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30, 10:00 and 10:30 o'clock every day.
"0 0 9-17 * * MON-FRI" = on the hour nine-to-five weekdays
"0 0 0 25 12 ?" = every Christmas Day at midnight
5. 一个测试类
public static void main(String[] args){ AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("spring-tasks.xml"); System.out.println("context is " + ctx);}
- spring 任务调度总结
- Spring 调度任务
- Spring调度任务
- Spring 任务调度
- Spring 调度任务
- spring quartz任务调度
- spring 任务调度总结
- Spring任务调度配置
- spring的调度任务
- spring,任务调度
- spring任务调度器
- Spring 任务调度
- spring任务调度
- Spring 调度任务
- Spring Quartz 任务调度
- Spring 3.1 任务调度
- Spring Quartz 任务调度
- spring 手动任务调度
- OGRE+VS2008环境搭建
- VC++ 下windows开发常见数据类型
- 单屏播放asf和vga文件的教学视频
- 打开jsp页面自动加载多个Action的实现方法
- broadcom corporation BCM4313 linux驱动下载地址
- Spring 任务调度
- MySQL复制表结构、建临时表
- Android编程之指定ListView的item位置
- cocos2d-x源码分析::内存管理机制
- 深入Android媒体存储服务(一):APP与媒体存储服务的交互
- Linux Shell Scripting Cookbook 学习记录1
- SQLite数据库的基本操作
- VC调用COM组件的几种方式
- Singleton模式