整理自:
SpringSide中文论坛
实际执行任务的Class: CourseService
public
class
CourseService
{


public
void
sendCourseEnrollmentReport()
{
System.out.println(
"
HelloWorld
"
);
}

}
调度任务的Class: TaskApp
import
org.springframework.beans.factory.BeanFactory;
import
org.springframework.beans.factory.xml.XmlBeanFactory;
import
org.springframework.core.io.FileSystemResource;


public
class
TaskApp
{


public
static
void
main(String[] args)
throws
Exception
{
BeanFactory factory
=
new
XmlBeanFactory(
new
FileSystemResource(
"
WebRoot/WEB-INF/classes/scheduleTask.xml
"
));
factory.getBean(
"
z
"
);
}
}
配置调度执行任务的配置文件:
scheduleTask.xml
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"
>
<
beans
>
<!--
起动Bean
-->
<
bean
id
="z"
class
="org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
="triggers"
>
<
list
>
<
ref
bean
="cronReportTrigger"
/>
</
list
>
</
property
>
</
bean
>
<!--
实际的工作Bean
-->
<
bean
id
="courseService"
class
="CourseService"
>
</
bean
>
<!--
jobBean用于设定启动时运用的Bean与方法
-->
<
bean
id
="scheduledReportJobDetail"
class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
="targetObject"
>
<
ref
bean
="courseService"
/>
</
property
>
<
property
name
="targetMethod"
>
<
value
>
sendCourseEnrollmentReport
</
value
>
</
property
>
</
bean
>
<!--
定时器设定起动频率&启动时间我设的是每5秒起动一次 (0 0 4 * * ?每日四点起动 .)
-->
<
bean
id
="cronReportTrigger"
class
="org.springframework.scheduling.quartz.CronTriggerBean"
>
<
property
name
="jobDetail"
>
<
ref
bean
="scheduledReportJobDetail"
/>
</
property
>
<
property
name
="cronExpression"
>
<
value
>
10,15,20,25,30,35,40,45,50,55 * * * * ?
</
value
>
</
property
>
</
bean
>
</
beans
>
关于配置文件中参数cronExpression的说明:
字段 允许值 允许的特殊字符
秒
0
-
59
,
- * /
分
0
-
59
,
- * /
小时
0
-
23
,
- * /
日期
1
-
31
,
- * ? / L W C
月份
1
-
12
或者 JAN-DEC
,
- * /
星期
1
-
7
或者 SUN-SAT
,
- * ? / L C #
年(可选) 留空
,
1970
-
2099
,
- * /
表达式意义:
"
0 0 12 * * ?
"
每天中午12点触发
"
0 15 10 ? * *
"
每天上午10:15触发
"
0 15 10 * * ?
"
每天上午10:15触发
"
0 15 10 * * ? *
"
每天上午10:15触发
"
0 15 10 * * ? 2005
"
2005年的每天上午10:15触发
"
0 * 14 * * ?
"
在每天下午2点到下午2:59期间的每1分钟触发
"
0 0/5 14 * * ?
"
在每天下午2点到下午2:55期间的每5分钟触发
"
0 0/5 14,18 * * ?
"
在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"
0 0-5 14 * * ?
"
在每天下午2点到下午2:05期间的每1分钟触发
"
0 10,44 14 ? 3 WED
"
每年三月的星期三的下午2:10和2:44触发
"
0 15 10 ? * MON-FRI
"
周一至周五的上午10:15触发
"
0 15 10 15 * ?
"
每月15日上午10:15触发
"
0 15 10 L * ?
"
每月最后一日的上午10:15触发
"
0 15 10 ? * 6L
"
每月的最后一个星期五上午10:15触发
"
0 15 10 ? * 6L 2002-2005
"
2002年至2005年的每月的最后一个星期五上午10:15触发
"
0 15 10 ? * 6#3
"
每月的第三个星期五上午10:15触发
0
6
* * * 每天早上6点
0
*/
2
* * * 每两个小时
0
23
-
7
/
2
,
8
* * * 晚上11点到早上8点之间每两个小时,早上八点
0
11
4
*
1
-
3
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0
4
1
1
* 1月1日早上4点
Download:
Quartz
相关文档:
http://blog.csdn.net/ezerg/archive/2004/09/24/115894.aspx
http://blog.csdn.net/yujiebo025/archive/2005/09/13/479049.aspx
http://blog.csdn.net/mengz/archive/2005/01/13/252267.aspx
http://blog.csdn.net/jorwang/archive/2005/05/12/374111.aspx
http://blog.csdn.net/Mailbomb/archive/2005/10/26/517128.aspx
http://blog.csdn.net/stonecai/archive/2007/01/06/1475745.aspx
http://landerchan.spaces.live.com/Blog/cns!8759A7C5A9737DC!116.entry
http://hanxinyu.javaeye.com/blog/37000
http://www.onjava.com/pub/a/onjava/2004/03/10/quartz.html
|
|
| | 日 | 一 | 二 | 三 | 四 | 五 | 六 |
|---|
| 26 | 27 | 28 | 29 | 30 | 31 | 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 | 1 | 2 | 3 | 4 | 5 | 6 |
|
公告
版权声明:本博客所有文章仅适用于非商业性转载,并请在转载时注明出处及作者的署名。
天气预报
常用链接
留言簿(15)
随笔分类
随笔档案
相册
收藏夹
博客
文档
站点
论坛
搜索
积分与排名
最新评论

阅读排行榜
评论排行榜
|
|