§封Ja葬va§

Spring定时器

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

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

1.创建一个定时器任务MySchedule.java

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

以下是MyParameter.java

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

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

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



声明定时器任务:只是将MySchedule放到应用上下文中,在shopDao属性中装配shopDao Bean。在你调度它之前,它不会做任何事。

调度定时器任务:定义了定时器任务的运行周期。

属性timerTask:运行哪个TimerTask。这里就是MySchedule

属性period:以怎样的频率调度TimerTask的run()方法。毫秒为单位, 这里设置每10小时运行一次

属性delay:指定当任务第一次运行之前该等待多久。 这里为服务器启动就开始执行定时器。 


启动定时器:属性scheduledTimerTasks要求一个待启动的“调度定时器任务”的列表。这里只有一个“调度定时器任务”,因此这个列表中只包含一个指向scheduledTask Bean的引用。

posted on 2009-03-05 14:26 §朱家二少§ 阅读(599) 评论(0)  编辑  收藏 所属分类: Spring


只有注册用户登录后才能发表评论。


网站导航: