小编给大家分享一下Spring Timer怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Spring Timer类和OpenSymphony的Quartz调度器是两个流行的调度API。Spring为这两个调度器提供了一个抽象层,使你可以更容易地使用它们。
简单总结下Spring Timer调度任务的使用(以备参考):
创建一个Spring Timer任务MySchedule.java
public class MySchedule extends TimerTask {
private ShopDao shopDao;
public void run() {
System.out.println("------定时器开始------");
try {
initShopInfo();
} catch(Exception e) {
System.out
.println("------定时器发生异常------");
}
System.out.println("------定时器结束------");
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("------加载商家信息发生异常------");
e.printStackTrace();
}
System.out.println("-------加载商家信息结束------");
}
public void setShopDao(ShopDao shopDao) {
this.shopDao = shopDao;
}
}
上面的run()方法定义了当任务运行时该做什么。在上面的例子中,它调用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对象的对应关系。
这里打算在Spring Timer启动时建立好商家ID与商家对象的对应关系,以便在项目里随时根据特定的商家ID输出此商家任何相关的数据。
以上是“Spring Timer怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。