重明鸟
BlogJava
首页
新随笔
联系
聚合
管理
posts - 40, comments - 187, trackbacks - 0
Spring Quartz如何动态配置时间(1)
1. 目的:动态设置时间,触发相应的任务
2. 系统架构为 struts + spring + hibernate
3. 实现步骤:
在页面上设置时间;
将时间转换为Unix Cron Expression;
将转换后的时间规则表达式记录到数据库中(也可以写入xml文件中,这里是项目需要记录入数据库中);
从数据库中得到相应的时间规则表达式;
更新您的任务触发器的时间设置;
RESCHEDULE THE JOB。; - )
4. 具体实现细节:
1)
在页面上设置时间
根据具体的业务需求,设置时间规则,下面以某一项目为例,需要
按每月、每周、自定义分为三种规则。
1
<
tr
>
2
<
th
>
执行这个任务
</
th
>
3
<
td
style
="font-weight:bold;"
>
4
<
html:radio
property
="everyWhat"
styleClass
="InputBorderNone"
value
="monthly"
onclick
="changeStatus(this.value)"
>
每月
</
html:radio
>
5
<
html:radio
property
="everyWhat"
styleClass
="InputBorderNone"
value
="weekly"
onclick
="changeStatus(this.value)"
>
每周
</
html:radio
>
6
<
html:radio
property
="everyWhat"
styleClass
="InputBorderNone"
value
="userDefined"
onclick
="changeStatus(this.value)"
>
自定义
</
html:radio
>
7
<
html:hidden
property
="jobName"
value
="compare"
/>
8
</
td
>
9
</
tr
>
10
每月则需要选择该月的第几个星期的星期几
1
<
tr
style
="display:"
id
="whichWeek"
>
2
<
th
>
选择第几个星期
</
th
>
3
<
td
style
="font-weight:bold;"
>
4
<
html:select
property
="week"
>
5
<
html:option
value
="1"
>
一
</
html:option
>
6
<
html:option
value
="2"
>
二
</
html:option
>
7
<
html:option
value
="3"
>
三
</
html:option
>
8
<
html:option
value
="4"
>
四
</
html:option
>
9
</
html:select
>
10
<
html:select
property
="dayOfMonth"
>
11
<
html:option
value
="1"
>
星期日
</
html:option
>
12
<
html:option
value
="2"
>
星期一
</
html:option
>
13
<
html:option
value
="3"
>
星期二
</
html:option
>
14
<
html:option
value
="4"
>
星期三
</
html:option
>
15
<
html:option
value
="5"
>
星期四
</
html:option
>
16
<
html:option
value
="6"
>
星期五
</
html:option
>
17
<
html:option
value
="7"
>
星期六
</
html:option
>
18
</
html:select
>
19
</
td
>
20
</
tr
>
21
每周则需要选择星期几
1
<
tr
style
="display:none"
id
="whichDay"
>
2
<
th
>
选择星期
</
th
>
3
<
td
style
="font-weight:bold;"
>
4
<
html:select
property
="dayOfWeek"
>
5
<
html:option
value
="1"
>
星期日
</
html:option
>
6
<
html:option
value
="2"
>
星期一
</
html:option
>
7
<
html:option
value
="3"
>
星期二
</
html:option
>
8
<
html:option
value
="4"
>
星期三
</
html:option
>
9
<
html:option
value
="5"
>
星期四
</
html:option
>
10
<
html:option
value
="6"
>
星期五
</
html:option
>
11
<
html:option
value
="7"
>
星期六
</
html:option
>
12
</
html:select
>
13
</
td
>
14
</
tr
>
15
自定义则选择具体的日期,如 2007-1-10
三种规则都需要设定时间点
1
<
tr
>
2
<
th
>
起始时间
</
th
>
3
<
td
style
="font-weight:bold;"
>
4
<
html:select
property
="timeType"
styleId
="type"
onchange
="changeStatus2(this.value)"
>
5
<
html:option
value
="AM"
>
上午
</
html:option
>
6
<
html:option
value
="PM"
>
下午
</
html:option
>
7
</
html:select
>
8
<
html:select
property
="hour"
styleId
="amHours"
>
9
<
html:option
value
="1"
>
1
</
html:option
>
10
<
html:option
value
="2"
>
2
</
html:option
>
11
<
html:option
value
="3"
>
3
</
html:option
>
12
<
html:option
value
="4"
>
4
</
html:option
>
13
<
html:option
value
="5"
>
5
</
html:option
>
14
<
html:option
value
="6"
>
6
</
html:option
>
15
<
html:option
value
="7"
>
7
</
html:option
>
16
<
html:option
value
="8"
>
8
</
html:option
>
17
<
html:option
value
="9"
>
9
</
html:option
>
18
<
html:option
value
="10"
>
10
</
html:option
>
19
<
html:option
value
="11"
>
11
</
html:option
>
20
<
html:option
value
="12"
>
12
</
html:option
>
21
</
html:select
>
22
<
html:select
property
="hour"
styleId
="pmHours"
style
="display:none"
>
23
<
html:option
value
="13"
>
13
</
html:option
>
24
<
html:option
value
="14"
>
14
</
html:option
>
25
<
html:option
value
="15"
>
15
</
html:option
>
26
<
html:option
value
="16"
>
16
</
html:option
>
27
<
html:option
value
="17"
>
17
</
html:option
>
28
<
html:option
value
="18"
>
18
</
html:option
>
29
<
html:option
value
="19"
>
19
</
html:option
>
30
<
html:option
value
="20"
>
20
</
html:option
>
31
<
html:option
value
="21"
>
21
</
html:option
>
32
<
html:option
value
="22"
>
22
</
html:option
>
33
<
html:option
value
="23"
>
23
</
html:option
>
34
<
html:option
value
="0"
>
0
</
html:option
>
35
</
html:select
>
点
36
<
html:text
property
="minute"
name
="minute"
style
="width:20px;"
value
="0"
onchange
="valTime(this.value)"
/>
分
37
<
html:text
property
="second"
name
="second"
style
="width:20px;"
value
="0"
onchange
="valTime(this.value)"
/>
秒(0-59之间的整数)
38
</
td
>
39
</
tr
>
40
OK. 这样我们的页面设置就完成了。: - )
To Be Continued...
posted on 2007-01-10 15:39
小立飞刀
阅读(5396)
评论(2)
编辑
收藏
所属分类:
Spring
FeedBack:
#
re: Spring Quartz如何动态配置时间(1)
2007-01-10 18:36 |
zxy
继续发扬共享精神哦 hoho
回复
更多评论
#
re: Spring Quartz如何动态配置时间(1)
2007-01-11 10:13 |
小雪飞刀
谢谢,我会继续努力,呵呵
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
又見“ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值”!
Spring的依赖关系(JAR)
Spring Quartz如何动态配置时间(3)
Spring Quartz如何动态配置时间(2)
Spring Quartz如何动态配置时间(1)
Quartz Cron Expression
<
2007年1月
>
日
一
二
三
四
五
六
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
31
1
2
3
4
5
6
7
8
9
10
生存或毁灭,这是个必答之问题:是否应默默的忍受坎苛命运之无情打击,还是应与深如大海之无涯苦难奋然为敌,并将其克服。此二抉择,究竟是哪个较崇高?
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(12)
给我留言
查看公开留言
查看私人留言
随笔分类
(43)
Database(6)
Hibernate(8)
Java IDE(1)
JavaEE Servers(5)
Javascript
LDAP(4)
Mondrian OLAP(1)
Objective-C
Others(2)
Portal(2)
Spring(6)
User Interface(6)
WebService(1)
XForms(1)
相册
技术图片
收藏夹
(7)
BI in Java(6)
SAP(1)
朋友的博客
目标驱动
小建的博客
电子资料
Hibernate Annotations Reference in Chinese
搜索
积分与排名
积分 - 301962
排名 - 192
最新评论
1. re: 如何同时启动多个Tomcat服务器[未登录]
俩个同样的tomcat,两个同样的jdk这样的配置怎么能,同时启动俩个tomcat。已启动就报jvm,请问如何修改呢?
--小西
2. re: Spring的依赖关系(JAR)
评论内容较长,点击标题查看
--zuidaima
3. re: Java EE十大性能问题
GOOD OPINION
--Sarah Nelson
4. re: Java EE十大性能问题
Very well written.
--Alexia Marthoon
5. re: Java EE十大性能问题
nice post
--Olivia Jennifer
阅读排行榜
1. 如何同时启动多个Tomcat服务器(60416)
2. 又見“ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值”!(32687)
3. Spring Quartz如何动态配置时间(3)(20673)
4. 使用Hibernate Annotations 维护多对多关系的心得(14588)
5. Tomcat给我的java.lang.OutOfMemoryError: PermGen(14294)
评论排行榜
1. Spring Quartz如何动态配置时间(3)(22)
2. 如何同时启动多个Tomcat服务器(19)
3. 值得推荐的一款原型设计工具-Balsamiq Mockups(15)
4. Quartz Cron Expression(14)
5. 如何使用ECSide列表组件构建列表(内附源码)(10)