1. 触发机制
定时任务的触发机制一般可分为两种,分别是按固定周期运行和在指定时间点运行。
2. 依赖 jar
commons-logging-1.1.1.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://www.springsource.org/download/community
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 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 and 10 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 任务调度实现代码例子
NULL 博文链接:https://weiweichen1985.iteye.com/blog/1006969
spring任务调度(Quartz )非常基础,
Spring任务调度的几种实现方法,包括持续运行某个方法,固定某个时间点运行
Spring实现任务调度.ppt Spring实现任务调度_代码演示 quartz-all-1.6.1.jar
java spring任务调度器
maven spring 任务调度实列代码
Spring任务调度ppt,讲的很细和值得看一下。
Spring实现任务调度.ppt Spring实现任务调度_代码演示 quartz-all-1.6.1.jar
Spring整合任务调度框架Quartz,本文档详细介绍了Spring整合任务调度框架Quartz,希望可以帮助学习者
该资源描述了用spring+quartz搭建的环境来管理任务调度的基本配置
关于spring调度的例子;| 两种方法:quartz 和 timer;| 适合学习;| 已经调试通过
改分布式任务调度特性如下: 1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手; 2、动态:支持动态修改任务状态、暂停/恢复任务,以及终止运行中任务,即时生效; 3、调度中心HA(中心式):调度...
Spring Quartz 任务调度实例 可直接运行 可应用服务器启动调用 也可main入口调用 主要用于打jar包用
Spring 定时器 任务调度 怎么在项目中写定时任务 怎么配置一些环境
基于zookeeper+spring task的分布式任务调度组件,非常小巧,无需任何修改就可以使spring task具备分布式特性,确保所有任务在集群中不重复,不遗漏的执行。 5.Quartz 官方地址:...
spring中的任务调度器配置方法 spring中的任务调度器配置方法 spring中的任务调度器配置方法