Terry.Li-彬
虚其心,可解天下之问;专其心,可治天下之学;静其心,可悟天下之理;恒其心,可成天下之业。
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
143 随笔 :: 344 文章 :: 130 评论 :: 0 Trackbacks
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(19)
给我留言
查看公开留言
查看私人留言
随笔分类
(107)
CA(16)
(rss)
Extremecomponents (1)
(rss)
ibatis(4)
(rss)
Jakarta(9)
(rss)
Java(19)
(rss)
Liferay(21)
(rss)
maven2(15)
(rss)
postgresql(2)
(rss)
sitemesh
(rss)
spring2.0
(rss)
struts2.0
(rss)
struts-menu(1)
(rss)
webservice(17)
(rss)
设计模式(2)
(rss)
随笔档案
(141)
2017年4月 (1)
2013年3月 (1)
2013年1月 (1)
2009年12月 (1)
2009年9月 (3)
2009年2月 (1)
2008年12月 (2)
2008年11月 (1)
2008年9月 (2)
2008年8月 (2)
2008年5月 (1)
2008年3月 (22)
2008年2月 (34)
2008年1月 (14)
2007年12月 (7)
2007年11月 (34)
2007年10月 (1)
2007年9月 (13)
文章分类
(284)
ActiveMQ(7)
(rss)
Ajax(5)
(rss)
Axis(21)
(rss)
BootStrap(4)
(rss)
cache(7)
(rss)
chat(1)
(rss)
css
(rss)
DataBase(5)
(rss)
Dwr(3)
(rss)
ejb3.0(4)
(rss)
ESB(3)
(rss)
ESB(4)
(rss)
flex3(1)
(rss)
Freemarker(2)
(rss)
Hibernate Search(2)
(rss)
ibatis + spring (11)
(rss)
java(44)
(rss)
javascript(8)
(rss)
JBoss(5)
(rss)
Jbpm(18)
(rss)
JBPM4(6)
(rss)
jetty
(rss)
JMS(6)
(rss)
JMX(1)
(rss)
JPA(1)
(rss)
jquery(7)
(rss)
Jsp(5)
(rss)
Liferay(5)
(rss)
Linux(12)
(rss)
Log(6)
(rss)
Maven2(10)
(rss)
MyBatis
(rss)
mysql(4)
(rss)
soa(1)
(rss)
soap(5)
(rss)
spring(7)
(rss)
Spring Security(2)
(rss)
SSH(3)
(rss)
struts2.0(7)
(rss)
svn(2)
(rss)
web service(20)
(rss)
WebWork(1)
(rss)
Web前端(2)
(rss)
wireless(1)
(rss)
wsdl(1)
(rss)
yav(1)
(rss)
报表(3)
(rss)
推荐引擎(2)
(rss)
模板(5)
(rss)
设计模式(2)
(rss)
通信(1)
(rss)
文章档案
(342)
2015年9月 (2)
2013年12月 (1)
2013年11月 (2)
2013年10月 (2)
2013年9月 (1)
2013年8月 (1)
2013年3月 (3)
2013年2月 (1)
2013年1月 (17)
2011年8月 (4)
2011年7月 (1)
2011年6月 (6)
2011年5月 (2)
2011年4月 (2)
2011年3月 (4)
2011年2月 (2)
2011年1月 (3)
2010年12月 (8)
2010年11月 (10)
2010年10月 (7)
2010年9月 (32)
2010年8月 (6)
2010年7月 (1)
2010年6月 (2)
2010年5月 (1)
2010年4月 (1)
2010年3月 (1)
2010年2月 (1)
2010年1月 (2)
2009年12月 (1)
2009年11月 (1)
2009年10月 (5)
2009年9月 (23)
2009年8月 (6)
2009年7月 (18)
2009年6月 (2)
2009年5月 (5)
2009年4月 (5)
2009年2月 (9)
2009年1月 (19)
2008年12月 (13)
2008年10月 (1)
2008年9月 (3)
2008年8月 (2)
2008年7月 (5)
2008年6月 (5)
2008年5月 (3)
2008年4月 (6)
2007年12月 (9)
2007年11月 (32)
2007年10月 (2)
2007年9月 (41)
相册
北京建工测试数据库脚本
我的相册
收藏夹
(58)
我的收藏(58)
(rss)
家装
★榻榻米卡座衣帽间★田园暖家硬装完毕上软装咯
淘金币韩版短款小棉袄甜美棉服拉链厚外套面包棉衣秋冬装女装新款
最新随笔
1. 身份证JS校验
2. MySQL导入.sql文件及常用命令
3. ERROR 2006 (HY000) at line xx: MySQL server has gone away 解决方法
4. Ajax Session Timeout 超时 处理
5. 忘掉jQuery,使用JavaScript原生API
6. Ehcache详细解读
7. How can I print SQL query result log with log4j?
8. repositories
9. ehcache 配置参数说明
10. OSChina架构中,依照“管理重于配置”的思路使用Servlet设计的MVC
11. class卸载、热替换和Tomcat的热部署的分析
12. 个性化推荐技术漫谈
13. 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
14. 一个类引发的回忆
15. 配置_Druid和Spring关联监控配置
16. AtomicInteger
17. spring通过annotation注册MBean到JMX
18. BootStrap入门教程 (四)
19. BootStrap入门教程 (三)
20. BootStrap入门教程 (二)
21. BootStrap入门教程 (一)
22. Linux centos 6.3 Tomcat Install
23. Linux centos 6.3 Nginx Install
24. Linux centos 6.3 Python Install
25. Linux centos 6.3 Redis Install
26. Linux centos 6.3 Mysql Install
27. Linux centos 6.3 Mysql slave Install
28. Linux centos 6.3 Lua Install
29. Linux centos 6.3 Memcached Install
30. Linux centos 6.3 Erlang Install
31. Linux centos 6.3 Graphicsmagick Install
32. Linux centos 6.3 Ejabberd Install
33. Linux centos 6.3 JDK Install
34. flex摄像头拍照 java上传到数据库 .
35. Nginx+Tomcat+Memcached共享session集群配置
36. 基于词典的正向最大匹配中文分词算法,能实现中英文数字混合分词
37. linux下Nginx+tomcat整合的安装与配置
38. 从 iBatis 到 MyBatis - MyBatis 简明学习教程
39. Apache Http Server与Tomcat实现负载均衡和集群
40. linux+nginx+tomcat负载均衡,实现session同步
搜索
积分与排名
积分 - 740101
排名 - 61
最新评论
1. re: 配置_Druid和Spring关联监控配置
fchgvhbjnkmll
--hb
2. re: eclipse 属性文件,自动转为Unicode编码[未登录]
哈哈
--哈哈
3. re: Ehcache详细解读[未登录]
话说都是这一篇文章,有意思
--啊
4. re: Maven使用deploy命令部署构建
感谢!我也碰到这个问题了!
--曲奇饼
5. re: Apache Http Server与Tomcat实现负载均衡和集群[未登录]
讲的很详细,受教了
--林
6. re: 转载 高负载系统架构设计
顶,但是,在数据分离方面好像写的很模糊!
--nqfang
7. re: Ajax Session Timeout 超时 处理
sads
--11
8. 354554
684854986
--3498665
9. re: 将任意格式转换为JSON数据格式的工具类
["d":“气而去”]
--人
10. re: FreeMarker 自定义标签
评论内容较长,点击标题查看
--zuidaima
11. re: Maven使用deploy命令部署构建[未登录]
好,写的比较详细,按此配置成功。
--Anderson
12. re: BootStrap入门教程 (三)
评论内容较长,点击标题查看
--zuidaima
13. re: (转载)页面静态化(JSP动态页面转静态化)
@静态化
伪静态化,应该使用模板生成HTML
--libin2722
14. re: (转载)页面静态化(JSP动态页面转静态化)
这个不是静态化,就不要用静态化的标题吓人!!!
--静态化
15. re: BootStrap入门教程 (二)
评论内容较长,点击标题查看
--zuidaima
16. re: 权限控制:spring 3.0 security配置例子
谢谢,遇到了最后的问题,还好找到答案解决了~
--ZL
17. re: BootStrap入门教程 (一)
评论内容较长,点击标题查看
--zuidaima
18. re: BootStrap入门教程 (三)
评论内容较长,点击标题查看
--zuidaima
19. re: 配置_Druid和Spring关联监控配置[未登录]
sasa
--aaa
20. re: JAVA解析纯真IP地址库
你这个有多线程并发问题
--苏秦
21. re: flex摄像头拍照 java上传到数据库 .
评论内容较长,点击标题查看
--123yedddd
22. re: 在基于Spring及Hibernate应用程序中使用ETags降低带宽占用和服务器压力
评论内容较长,点击标题查看
--最代码
23. re: Apache Http Server与Tomcat实现负载均衡和集群
集群后,创建的 test1.jsp 放在哪儿?
--秦真
24. re: BootStrap入门教程 (一)
作为入门教程,连需要包含的css都不提。。。
--作为入门教程,连需要包含的css都不提。。。
25. re: BootStrap入门教程 (一)[未登录]
作为入门教程,连需要包含的css都不提。。。
--bluefield
26. re: url加密参数 (java版)
asd飞
--是电饭锅
27. re: 将JBoss启动做成Windows的系统服务
我的服务也起不来
--23
28. re: 测试-答对5道题的人是天才,答对4道的是帅才,答对3道的是将才,答对2道的是奇才,答对1道的是人才
3、冲
4、“亼”或者“亽”
5、129
--byl
29. re: JBPM数据库表说明
这些表全部手工创建吗?
--轻描淡写
30. re: 将JBoss启动做成Windows的系统服务
为什么我做的服务起不来呢?
--吴江
31. re: 利用开源组件制作验证码 Captcha
ggg
--ssss
32. re: 基于词典的正向最大匹配中文分词算法,能实现中英文数字混合分词
麻烦 博主把dictionary.txt发给我吧,让我学习学习
1182787467@qq.com
谢谢
--love code
33. re: 权限控制:spring 3.0 security配置例子[未登录]
楼主真的很细心 我是在国外论坛上发现了同样的问题
--tommy
34. re: 基于词典的正向最大匹配中文分词算法,能实现中英文数字混合分词
这是全的么,楼主?我导入到MyEclipse里好多错误呀,除了import包之外还有好多错,看不懂。。。
--yi
35. re: FreeMarker 自定义标签
感谢!
--四海
36. re: WebWork 2.2 + Tomcat 5.0 + Jdk 1.6 出现Provider org.apache.xalan.processor.TransformerFactoryImpl not found错误
我tomcat1.60+jdk1.60也出现这个问题,网上度了下,加个xalan.jar包就好了
--liuruliu
37. re: FreeMarker 自定义标签[未登录]
copy 别人文章也不带个链接.
--selina
38. re: 权限控制:spring 3.0 security配置例子[未登录]
最后那点确实坑爹啊。。
--123
39. re: 图片加载错误,显示默认图片
奋斗奋斗
--分段
40. re: JBPM数据库表说明[未登录]
非常感谢
--nicol
阅读排行榜
1. 打印出Ibatis最终的SQL语句(8709)
2. server-config.wsdd配置一例(8457)
3. 编写你自己的单点登录(SSO)服务 (8388)
4. Axis1.4 利用 deploy.wsdd 发布 server-config.wsdd文件(6980)
5. HashMap 、HashTable、HashSet的区别 (4906)
6. ClassNotFoundException: org.hibernate.hql.ast.HqlToken(4663)
7. Axis1.4 开发笔记(3720)
8. Liferay Portal二次开发指南(3648)
9. ibatis中文与like的问题 (3466)
10. 一个服务返回一个ArrayList,如何使用Axis序列化/反序列化啊(3447)
11. Maven2 常用命令(3340)
12. 使用maven2 打ear包(3216)
13. Apache Maven 2 简介(最全的文档)(3201)
14. httpclient中MultipartPostMethod类上传文件(2909)
15. Double:双精度类型(2454)
16. 使用Java实现CA(一)(2350)
17. JAVA中SSL证书认证通讯-Client(2330)
18. 深入了解Java ClassLoader、Bytecode 、ASM、cglib (2266)
19. 在Struts2.0中如何得到绝对路径(2212)
20. 将JBoss启动做成Windows的系统服务(2048)
21. 一个可以在页面上随意画线、多边形、圆,填充等功能的js (1967)
22. Struts2.0 中配置 Struts-Menu(1925)
23. JSF最佳入门(1882)
24. 深入浅出Liferay Portal (4) (1806)
25. 教程--开始使用Maven下(1726)
26. portal专题(一)用liferay server简单开发portlet快速上手(1594)
27. 深入浅出Liferay Portal (10) (1587)
28. 用axis发布webservices(一) (1531)
29. 深入浅出Liferay Portal (12) (1502)
30. 深入浅出Liferay Portal (3) (1472)
31. mvn功能简介 (1446)
32. Liferay Portal学习笔记之(五):开发主题风格theme(1431)
33. 使用Java实现CA(二)(1403)
34. Postgresql 不能远程连接(1396)
35. Liferay Portal学习笔记(三):自定义页面布局Template(1393)
36. liferay 部署(1382)
37. 深入浅出Liferay Portal (8) (1364)
38. 深入浅出Liferay Portal (2) (1361)
39. Problem with Sybase, PostgreSQL and Timestamp columns(1361)
40. 调用IE内部的打印控件来实现打印功能(1344)
评论排行榜
1. ClassNotFoundException: org.hibernate.hql.ast.HqlToken(8)
2. 测试-答对5道题的人是天才,答对4道的是帅才,答对3道的是将才,答对2道的是奇才,答对1道的是人才(5)
3. 用axis发布webservices(一) (3)
4. Liferay Portal学习笔记(一):安装(3)
5. JAVA中SSL证书认证通讯-Client(3)
6. Tomcat 5.5.2 下部署 Liferay 4.4.1(2)
7. 将JBoss启动做成Windows的系统服务(2)
8. 深入浅出Liferay Portal (12) (2)
9. 打印出Ibatis最终的SQL语句(2)
10. HashMap 、HashTable、HashSet的区别 (2)
11. java线程综述 (2)
12. Axis1.4 开发笔记(2)
13. 深入了解Java ClassLoader、Bytecode 、ASM、cglib (1)
14. 代理模式(1)
15. java对word、excel、pdf等操作综合文章(1)
16. Axis1.4 利用 deploy.wsdd 发布 server-config.wsdd文件(1)
17. 使用maven2 打ear包(1)
18. 深入浅出Liferay Portal (11) (1)
19. 深入浅出Liferay Portal (10) (1)
20. 转载 高负载系统架构设计(1)
21. 论坛灌水机 -- HTTPClient(1)
22. Apache Maven 2 简介(最全的文档)(1)
23. maven2完全使用手册(1)
24. 在Struts2.0中如何得到绝对路径(1)
25. Java深入:在Eclipse中如何利用Maven (0)
26. 教程--开始使用Maven下(0)
27. Maven2快速入门教程 (0)
28. 调用IE内部的打印控件来实现打印功能(0)
29. ibatis中文与like的问题 (0)
30. Chapter 1. Maven2(0)
31. Maven2 体验(0)
32. 1.1. Maven2 体验(0)
33. Maven2.0:编译、测试、部署、运行(0)
34. Maven2 常用命令(0)
35. Struts2.0 中配置 Struts-Menu(0)
36. maven2.0学习笔记 (0)
37. mvn功能简介 (0)
38. Maven中文手册 (0)
39. Maven使用手册(0)
40. maven翻译一结 (0)
spring任务调度方法之Quartz
一、Quartz简介
Quartz是一个开放源码项目,专注于任务调度器,提供了极为广泛的特性如持久化任务,集群和分布式任务等。Spring对Quartz的集成与其对JDK Timer的集成在任务、触发器和调度计划的声明式配置方面等都非常相似。
Quartz的核心由两个接口和两个类组成:Job和Scheduler接口,JobDetail和Trigger类。不同于JDK Timer,任务不是从实现一个Job接口的类实例开始运行,实际上Quartz在需要的时候才创建job类实例。可以使用JobDetail类来包装任务状态,并传递一个信息给Job,或在一个Job的多次执行过程之间保存信息。
二、Quartz任务调度
1. 简单任务调度
在Quartz中创建一个任务并执行,只需要实现Job接口类,在其execute()方法中处理你的业务逻辑。下面举例说明。
HelloWorldJob.java
Java代码
package
com.learnworld.quartz;
import
org.quartz.Job;
import
org.quartz.JobExecutionContext;
import
org.quartz.JobExecutionException;
public
class
HelloWorldJob
implements
Job {
public
void
execute(JobExecutionContext context)
throws
JobExecutionException {
//实现你的业务逻辑
System.out.println(
"Hello!"
);
}
}
HelloScheduling.java
Java代码
package
com.learnworld.quartz;
import
java.util.Date;
import
java.util.Map;
import
org.quartz.JobDetail;
import
org.quartz.Scheduler;
import
org.quartz.SimpleTrigger;
import
org.quartz.Trigger;
import
org.quartz.impl.StdSchedulerFactory;
public
class
MessageScheduling {
public
static
void
main(String[] args)
throws
Exception {
Scheduler scheduler =
new
StdSchedulerFactory().getScheduler();
scheduler.start();
JobDetail jobDetail =
new
JobDetail(
"messageJob"
,
Scheduler.DEFAULT_GROUP, MessageJob.
class
);
Map map = jobDetail.getJobDataMap();
map.put(
"message"
,
"This is a message from Quartz"
);
Trigger trigger =
new
SimpleTrigger(
"simpleTrigger"
,
Scheduler.DEFAULT_GROUP,
new
Date(),
new
Date(
"Sat, 12 Aug 2011 13:30:00 GMT+0430"
),
SimpleTrigger.REPEAT_INDEFINITELY,
5000
);
scheduler.scheduleJob(jobDetail, trigger);
}
}
需要说明几点:
1)开始使用StdSchedulerFactory来获取Scheduler的实例。每一个scheduler可以被启动(start)、中止(stop)和暂停(pause)。如果一个scheduler没有被启动或已经被暂停,则没有触发器会被启用,所以首先使用start()方法启动scheduler。
2)创建JobDetail实例。它的构造参数有三个,第一个是任务名,任务名可以被用作参数来应用需要暂停的任务;第二个是组名,组名可以用来引用一组被集合在一起的任务,这里采用缺省组名,每一个任务名在组内必须是唯一的;第三个参数是实现了特定任务的类。
3)创建Trigger实例。我们使用SimpleTrigger类,它提供了类似JDK Timer风格的触发器行为。它的构造参数有六个,第一个和第二个为触发器名和组名,和上面类似;第三个为任务开始时间;第四个为结束时间,如果设置为空,表示不存在结束时间;第五个为重复次数,允许你指的触发器被触发的最大次数,使用REPEAT_INDEFINITELY允许触发器可以被触发无限次;第六个是触发器运行的时间间隔,是毫秒数。
4)最后通过scheduler.scheduleJob()方法调度任务。
2. 使用JobDetail传递数据
每个JobDetail实例都有关联的JobDataMap实例,它实现了Map接口并允许通过键值来传递任务相关的数据。任务也可以修改JobDataMap中的数据,在同一任务的多次执行之间传递数据。下面举例说明。
MessageJob.java
Java代码
package
com.learnworld.quartz;
import
java.util.Map;
import
org.quartz.Job;
import
org.quartz.JobExecutionContext;
import
org.quartz.JobExecutionException;
public
class
MessageJob
implements
Job {
public
void
execute(JobExecutionContext context)
throws
JobExecutionException {
Map properties = context.getJobDetail().getJobDataMap();
System.out.println(
"Previous Fire Time: "
+ context.getPreviousFireTime());
System.out.println(
"Current Fire Time: "
+ context.getFireTime());
System.out.println(
"Next Fire Time: "
+ context.getNextFireTime());
System.out.println(properties.get(
"message"
));
}
}
MessageScheduling.java
Java代码
package
com.learnworld.quartz;
import
java.util.Date;
import
java.util.Map;
import
org.quartz.JobDetail;
import
org.quartz.Scheduler;
import
org.quartz.SimpleTrigger;
import
org.quartz.Trigger;
import
org.quartz.impl.StdSchedulerFactory;
public
class
MessageScheduling {
public
static
void
main(String[] args)
throws
Exception {
Scheduler scheduler =
new
StdSchedulerFactory().getScheduler();
scheduler.start();
JobDetail jobDetail =
new
JobDetail(
"messageJob"
,
Scheduler.DEFAULT_GROUP, MessageJob.
class
);
Map map = jobDetail.getJobDataMap();
map.put(
"message"
,
"This is a message from Quartz"
);
Trigger trigger =
new
SimpleTrigger(
"simpleTrigger"
,
Scheduler.DEFAULT_GROUP,
new
Date(),
new
Date(
"Sat, 12 Aug 2011 13:30:00 GMT+0430"
),
SimpleTrigger.REPEAT_INDEFINITELY,
5000
);
scheduler.scheduleJob(jobDetail, trigger);
}
}
3. 使用CronTrigger
上面提到了SimpleTrigger类,它提供了类似JDK Timer风格的触发器功能。Quartz的出色在于它使用CronTrigger提供了对复杂触发器的支持。
一个CronTrigger表达式,包含六个必须组件和一个可选组件。关于cron表达式,可以参考这篇文档:
http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html
下面举例说明CronTrigger的使用。
CronWithCalendarScheduling.java
Java代码
package
com.learnworld.quartz;
import
java.util.Calendar;
import
java.util.Date;
import
java.util.Map;
import
org.quartz.CronTrigger;
import
org.quartz.JobDetail;
import
org.quartz.Scheduler;
import
org.quartz.SimpleTrigger;
import
org.quartz.Trigger;
import
org.quartz.impl.StdSchedulerFactory;
import
org.quartz.impl.calendar.HolidayCalendar;
public
class
CronWithCalendarScheduling {
public
static
void
main(String[] args)
throws
Exception {
Calendar cal = Calendar.getInstance();
cal.set(
2010
, Calendar.OCTOBER,
31
);
HolidayCalendar calendar =
new
HolidayCalendar();
calendar.addExcludedDate(cal.getTime());
Scheduler scheduler =
new
StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.addCalendar(
"calendar"
, calendar,
true
,
false
);
JobDetail jobDetail =
new
JobDetail(
"messageJob"
,
Scheduler.DEFAULT_GROUP, MessageJob.
class
);
Map map = jobDetail.getJobDataMap();
map.put(
"message"
,
"This is a message from Quartz"
);
String cronExpression =
"3/5 * 17,18,19,20 * * ?"
;
Trigger trigger =
new
CronTrigger(
"cronTrigger"
,
Scheduler.DEFAULT_GROUP, cronExpression);
scheduler.scheduleJob(jobDetail, trigger);
}
}
需要说明几点:
1)创建了HolidayCalendar实例,使用addExcluderData()方法排除了2010年10月31日。再使用addCalendar()方法,将这个Calendar加入到Scheduler中。
2)这个cron表达式的含义是,每天17:00-20:59之间每一分钟的第三秒开始运行,每五秒执行一次。
三. Spring对Quartz调度的支持
Spring对Quartz集成与其对JDK Timer调度集成类似,你可以在配置文件中配置任务调度。仅需要在程序里加载ApplicationContext,Spring会自动启动调度器。
quartz.xml
Java代码
<?xml version=
"1.0"
encoding=
"UTF-8"
?>
<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd"
>
<beans>
<bean id=
"job"
class
=
"org.springframework.scheduling.quartz.JobDetailBean"
>
<property name=
"jobClass"
>
<value> com.learnworld.quartz.MessageJob </value>
</property>
<property name=
"jobDataAsMap"
>
<map>
<entry key=
"message"
>
<value>This is a message from Spring Quartz configuration!</value>
</entry>
</map>
</property>
</bean>
<bean id=
"trigger"
class
=
"org.springframework.scheduling.quartz.SimpleTriggerBean"
>
<property name=
"startDelay"
>
<value>
1000
</value>
</property>
<property name=
"repeatInterval"
>
<value>
3000
</value>
</property>
<property name=
"jobDetail"
>
<ref local=
"job"
/>
</property>
</bean>
<bean id=
"schdulerFactory"
class
=
"org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<property name=
"triggers"
>
<list>
<ref local=
"trigger"
/>
</list>
</property>
</bean>
</beans>
SimpleSpringQuartzIntegration.java
Java代码
package
com.learnworld.quartz;
import
org.springframework.context.ApplicationContext;
import
org.springframework.context.support.FileSystemXmlApplicationContext;
public
class
SimpleSpringQuartzIntegration {
public
static
void
main(String[] args) {
ApplicationContext ac =
new
FileSystemXmlApplicationContext(
"src/conf/quartz.xml"
);
}
}
需要说明几点:
1)采用JobDetailBean类,它扩展了JobDetai类,采用可声明方式配置任务数据。缺省情况下,采用<bean>标签的id作为任务名,使用缺省组作为组名,通过jobDataAsMap作为配置任务数据。
2)建立触发器。可以选择SimpleTriggerBean或CronTriggerBean类。SimpleTriggerBean缺省情况下把可重复执行次数设为无限。
3)创建schedulerFactory。缺省情况下,SchedulerFactoryBean创建一个StdSchedulerFactory的实例,后者创建Scheduler的实现。可以通过设置schedulerFactoryClass属性来覆盖这个行为,需要继承SchedulerFactory接口来实现你自己的版本。
posted on 2010-11-02 08:52
礼物
阅读(2642)
评论(0)
编辑
收藏
所属分类:
java
、
spring
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
纯真IP数据库格式详解
java读取纯真IP数据库QQwry.dat的源代码
图片截取和缩略
spring任务调度方法之Quartz
使用JMeter进行性能测试
(原)Proxool 连接池
(原)Java 类访问 URI
(转载)应用架构设计“防火”经验分享
(转载)各种架构图汇总!
正则表达式30分钟入门教程
Powered by:
BlogJava
Copyright © 礼物