§封Ja葬va§

          Spring定時(shí)器

          Java的Timer類和OpenSymphony的Quartz調(diào)度器是兩個(gè)流行的調(diào)度API。Spring為這兩個(gè)調(diào)度器提供了一個(gè)抽象層,使你可以更容易地使用它們。

          簡單總結(jié)下在Spring架構(gòu)下,Java Timer調(diào)度任務(wù)的使用(以備參考):

          1.創(chuàng)建一個(gè)定時(shí)器任務(wù)MySchedule.java

          上面的run()方法定義了當(dāng)任務(wù)運(yùn)行時(shí)該做什么。在上面的例子中,它調(diào)用shopDao的findShop()方法來初始化一個(gè)Map對象。ShopDao是通過依賴注入方式提供給MySchedule的。

          以下是MyParameter.java

          上面的Map對象里保存著shopid與Shop對象的對應(yīng)關(guān)系。

          這里打算在定時(shí)器啟動(dòng)時(shí)建立好商家ID與商家對象的對應(yīng)關(guān)系,以便在項(xiàng)目里隨時(shí)根據(jù)特定的商家ID輸出此商家任何相關(guān)的數(shù)據(jù)。

          2.按以下方式在Spring配置文件中聲明MySchedule:



          聲明定時(shí)器任務(wù):只是將MySchedule放到應(yīng)用上下文中,在shopDao屬性中裝配shopDao Bean。在你調(diào)度它之前,它不會(huì)做任何事。

          調(diào)度定時(shí)器任務(wù):定義了定時(shí)器任務(wù)的運(yùn)行周期。

          屬性timerTask:運(yùn)行哪個(gè)TimerTask。這里就是MySchedule

          屬性period:以怎樣的頻率調(diào)度TimerTask的run()方法。毫秒為單位, 這里設(shè)置每10小時(shí)運(yùn)行一次

          屬性delay:指定當(dāng)任務(wù)第一次運(yùn)行之前該等待多久。 這里為服務(wù)器啟動(dòng)就開始執(zhí)行定時(shí)器。 


          啟動(dòng)定時(shí)器:屬性scheduledTimerTasks要求一個(gè)待啟動(dòng)的“調(diào)度定時(shí)器任務(wù)”的列表。這里只有一個(gè)“調(diào)度定時(shí)器任務(wù)”,因此這個(gè)列表中只包含一個(gè)指向scheduledTask Bean的引用。

          posted on 2009-03-05 14:26 §朱家二少§ 閱讀(614) 評論(0)  編輯  收藏 所屬分類: Spring


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 呈贡县| 施甸县| 思南县| 余姚市| 安顺市| 黄骅市| 德州市| 汉川市| 青海省| 宁陵县| 佛山市| 苍溪县| 茶陵县| 巴南区| 宝丰县| 饶平县| 将乐县| 兴化市| 图木舒克市| 新郑市| 阳高县| 格尔木市| 灵川县| 集安市| 双柏县| 奉贤区| 景谷| 内江市| 东台市| 南阳市| 南木林县| 嘉荫县| 汉寿县| 洛川县| 顺义区| 邯郸市| 平定县| 化隆| 广丰县| 响水县| 松江区|