程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Spring Quartz如何動態配置時間(1)

Spring Quartz如何動態配置時間(1)

編輯:關於JAVA

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. 這樣我們的頁面設置就完成了。: - )

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved