簡單介紹Spring Timer
Spring Timer類和OpenSymphony的Quartz調(diào)度器是兩個流行的調(diào)度API。Spring為這兩個調(diào)度器提供了一個抽象層,使你可以更容易地使用它們。
簡單總結(jié)下Spring Timer調(diào)度任務(wù)的使用(以備參考):
創(chuàng)建一個Spring Timer任務(wù)MySchedule.java
- public class MySchedule extends TimerTask {
 - private ShopDao shopDao;
 - public void run() {
 - System.out.println("------定時器開始------");
 - try {
 - initShopInfo();
 - } catch(Exception e) {
 - System.out
 - .println("------定時器發(fā)生異常------");
 - }
 - System.out.println("------定時器結(jié)束------");
 - try {
 - if (MyParameter.SHOP !=null)
 - MyParameter.SHOP.clear();
 - List<Shop> shoptemp = shopDap.findShop();
 - for (Shop shop : shoptemp) {
 - MyParameter.SHOP.put(shop.getShopid(), shop);
 - }
 - } catch (Exception e) {
 - System.out
 - .println("------加載商家信息發(fā)生異常------");
 - e.printStackTrace();
 - }
 - System.out.println("-------加載商家信息結(jié)束------");
 - }
 - public void setShopDao(ShopDao shopDao) {
 - this.shopDao = shopDao;
 - }
 - }
 
上面的run()方法定義了當(dāng)任務(wù)運行時該做什么。在上面的例子中,它調(diào)用shopDao的findShop()方法來初始化一個Map對象。ShopDao是通過依賴注入方式提供給MySchedule的。
以下是MyParameter.java
- public class MyParameter {
 - //商家ID---商家類
 - public static Map<Long, Shop> SHOP = new HashMap<Long, Shop>();
 - public static String getShopname(Long shopid) {
 - Shop shop =null;
 - String name = "";
 - if (SHOP !=null && SHOP.size() > 0) {
 - shopshop = shop.get(shopid);
 - if (shop !=null)
 - name =shop.getShortname();
 - }
 - return name;
 - }
 - }
 
上面的Map對象里保存著shopid與Shop對象的對應(yīng)關(guān)系。
這里打算在Spring Timer啟動時建立好商家ID與商家對象的對應(yīng)關(guān)系,以便在項目里隨時根據(jù)特定的商家ID輸出此商家任何相關(guān)的數(shù)據(jù)。
【編輯推薦】















 
 
 
 
 
 
 