posts - 40,  comments - 187,  trackbacks - 0
          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 小立飛刀 閱讀(5417) 評論(2)  編輯  收藏 所屬分類: Spring

          FeedBack:
          # re: Spring Quartz如何動態配置時間(1)
          2007-01-10 18:36 | zxy
          繼續發揚共享精神哦 hoho   回復  更多評論
            
          # re: Spring Quartz如何動態配置時間(1)
          2007-01-11 10:13 | 小雪飛刀
          謝謝,我會繼續努力,呵呵  回復  更多評論
            
          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          生存或毀滅,這是個必答之問題:是否應默默的忍受坎苛命運之無情打擊,還是應與深如大海之無涯苦難奮然為敵,并將其克服。此二抉擇,究竟是哪個較崇高?

          常用鏈接

          留言簿(12)

          隨筆分類(43)

          相冊

          收藏夾(7)

          朋友的博客

          電子資料

          搜索

          •  

          積分與排名

          • 積分 - 303184
          • 排名 - 193

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 甘肃省| 安多县| 锡林浩特市| 屯门区| 嘉义县| 宁国市| 临夏县| 闸北区| 广汉市| 滦南县| 攀枝花市| 五大连池市| 工布江达县| 城步| 桦南县| 安达市| 林甸县| 丹东市| 广宗县| 涟水县| 海宁市| 平泉县| 巨鹿县| 岑巩县| 平塘县| 当涂县| 周至县| 长海县| 阿坝| 茂名市| 游戏| 富蕴县| 佳木斯市| 灌阳县| 金门县| 宣恩县| 天津市| 乐清市| 三门县| 山东省| 旌德县|