简单介绍Spring Timer

Spring Timer类和OpenSymphony的Quartz调度器是两个流行的调度API。Spring为这两个调度器提供了一个抽象层,使你可以更容易地使用它们。

简单总结下Spring Timer调度任务的使用(以备参考):

创建一个Spring Timer任务MySchedule.java

  1. public class MySchedule extends TimerTask { 
  2.   private ShopDao shopDao; 
  3.   public void run() { 
  4.      System.out.println("------定时器开始------"); 
  5.      try { 
  6.         initShopInfo(); 
  7.      }  catch(Exception e)  { 
  8.         System.out 
  9.             .println("------定时器发生异常------"); 
  10.      } 
  11.      System.out.println("------定时器结束------"); 
  12.      try { 
  13.          if (MyParameter.SHOP !=null) 
  14.            MyParameter.SHOP.clear(); 
  15.          List<Shop> shoptemp = shopDap.findShop(); 
  16.          for (Shop shop : shoptemp) { 
  17.            MyParameter.SHOP.put(shop.getShopid(), shop); 
  18.          } 
  19.        } catch (Exception e) { 
  20.          System.out 
  21.              .println("------加载商家信息发生异常------"); 
  22.           e.printStackTrace(); 
  23.        } 
  24.        System.out.println("-------加载商家信息结束------"); 
  25.       } 
  26.      public void setShopDao(ShopDao shopDao) { 
  27.        this.shopDao = shopDao; 
  28.      } 
  29. }

上面的run()方法定义了当任务运行时该做什么。在上面的例子中,它调用shopDao的findShop()方法来初始化一个Map对象。ShopDao是通过依赖注入方式提供给MySchedule的。

以下是MyParameter.java

  1. public class MyParameter { 
  2.    //商家ID---商家类 
  3.    public static Map<Long, Shop> SHOP = new HashMap<Long, Shop>(); 
  4.    public static String getShopname(Long shopid) { 
  5.      Shop shop =null
  6.      String name = ""
  7.      if (SHOP !=null && SHOP.size() > 0) { 
  8.        shopshop = shop.get(shopid); 
  9.        if (shop !=null) 
  10.          name =shop.getShortname(); 
  11.      } 
  12.      return name; 
  13.    } 
  14. }

上面的Map对象里保存着shopid与Shop对象的对应关系。

这里打算在Spring Timer启动时建立好商家ID与商家对象的对应关系,以便在项目里随时根据特定的商家ID输出此商家任何相关的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值