Spring Quartz如何动态配置时间(1)
时间:2011-08-09
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
Spring Quartz如何动态配置时间(1)(2)
时间:2011-08-09
每月则需要选择该月的第几个星期的星期几
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
每周则需要选择星期几
|