重復(fù)容易,改變很難
          java,,,不錯的玩具
          posts - 21,  comments - 42,  trackbacks - 0
                  最近有個項(xiàng)目需要做一些定時的任務(wù),就像linux的crontab一樣的功能。就在網(wǎng)站找了一些資料,發(fā)現(xiàn)quartz不錯,就一個quartz.jar包外加一個common-logging.jar
          和jta.jar,挺輕量級的小東東。
                   于是在網(wǎng)上找了一些資料,照葫蘆畫瓢,在本機(jī)上把環(huán)境是搭建起來了。定時任務(wù)也挺順利地跑起來了。心里挺美!!!
                   到了上線的日子,我當(dāng)然是輕車熟路的在運(yùn)營環(huán)境把服務(wù)給搭上。結(jié)果一跑服務(wù),問題出來了。發(fā)現(xiàn)每到定時任務(wù)到點(diǎn)啟動時,就會同時起兩個任務(wù)。
          網(wǎng)上一搜,發(fā)現(xiàn)不少難兄難弟,但他們都是spring,而我就是普通的servlet,好像不是一回事。
                   于是到處找資料、到處查文檔,最后我把quartz的源碼拿了過來,加上調(diào)試語句(俺只會system.out調(diào)試,嘿嘿!!)。然后重新打包,加入部署到tomcat環(huán)境中
          發(fā)現(xiàn),我的quartz的Scheduler起了兩次,也就是說,web容器中有兩個triger服務(wù)起來了。所以任務(wù)被執(zhí)行時,當(dāng)然也就出現(xiàn)兩次。
                    原因是找到了,但為什么servlet的init方法會被調(diào)用兩次,這是不可能的啊。
                    最后又到網(wǎng)上一通亂搜,在網(wǎng)友的啟發(fā)下,我發(fā)現(xiàn)原來是我的server.xml文件配置有問題。
                    原因在于,我有個ww.fff.com.cn的域名,我同時也希望fff.com.cn的域名也指向同一個地方,于是我在server.xml中配了兩個host,他們的appBase指向同一個地方。
          這就導(dǎo)致tomcat服務(wù)啟動時,會兩次調(diào)用web.xml,做兩次初始化。也就導(dǎo)致servlet的init的方法調(diào)用兩次,而在web容器中產(chǎn)生兩個Scheduler。
                    哎,這么個錯誤,差點(diǎn)讓我放棄使用quartz。

                   看來,開發(fā)環(huán)境和真實(shí)環(huán)境還是有很大區(qū)別,要用好一個開源項(xiàng)目,如果缺少其他技術(shù)基礎(chǔ),也是寸步難行,web系統(tǒng)是一個大的生態(tài)系統(tǒng),往往加入一些元
          素,也會對其他元素造成影響,而新加入的元素也不見得就能和已有元素和諧生存。使用新技術(shù)還是有很大的風(fēng)險(xiǎn)的。但新技術(shù)的引入會讓你的系統(tǒng)更加飽滿、
          豐富、完善。
                   問題搞定,終于可以輕松回家了。
          posted on 2009-05-12 20:37 分享愛的空間 閱讀(2172) 評論(7)  編輯  收藏

          FeedBack:
          # re: 使用quartz有感
          2009-06-05 08:54 | lif
          ding~~~  回復(fù)  更多評論
            
          # re: 使用quartz有感
          2009-09-02 13:31 | abao
          那為什么我的server.xml里只有一個host和appbase,context是單獨(dú)放到Catalina\localhost,仍然會啟動兩次  回復(fù)  更多評論
            
          # re: 使用quartz有感
          2009-09-02 13:44 | 分享愛的空間
          這應(yīng)該與你的環(huán)境配置有關(guān),有可能的話把你的sever.xml文件發(fā)給我看一下
          @abao
            回復(fù)  更多評論
            
          # re: 使用quartz有感[未登錄]
          2011-09-09 15:33 | zy
          不帶配置文件,不帶xml文件。
          每隔幾秒或者每隔幾分鐘的定時任務(wù)都能執(zhí)行
          就是不能執(zhí)行幾點(diǎn)幾分的任務(wù)。啥反應(yīng)都沒有
          JavaWeb 不帶spring框架
          求指點(diǎn)  回復(fù)  更多評論
            
          # re: 使用quartz有感
          2011-09-14 10:21 | 原文作者
          是不是你配置使用不對啊,因?yàn)樗悬c(diǎn)像linux的crontab完全可以控制幾點(diǎn)幾分執(zhí)行一次
          @zy
            回復(fù)  更多評論
            
          # re: 使用quartz有感
          2012-08-21 17:57 | 王茂軍
          用的IDE是什么,那個地址下到的源碼?  回復(fù)  更多評論
            
          # re: 使用quartz有感
          2012-08-21 17:59 | 王茂軍
          我的IDE是裝有M2插件的Eclipse,下載地址是https://svn.terracotta.org/repo/quartz/trunk.下起來之后項(xiàng)目不可用。QQ:864157225.能講解一下您是如何獲得源碼,又是如何調(diào)試的嗎?  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          留言簿(5)

          隨筆檔案

          文章檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 北海市| 贺兰县| 镇平县| 胶州市| 射洪县| 西峡县| 双峰县| 开江县| 宝丰县| 玉门市| 林口县| 阳谷县| 大方县| 蓝田县| 泸水县| 博白县| 安顺市| 黄骅市| 岳普湖县| 吉安县| 乌兰浩特市| 广河县| 阜康市| 苗栗市| 安龙县| 新郑市| 交口县| 汶川县| 正镶白旗| 五台县| 淮滨县| 时尚| 寿光市| 黄大仙区| 柘荣县| 沐川县| 工布江达县| 祥云县| 南郑县| 汽车| 黔南|