读书人

Spring支配任务

发布时间: 2012-11-08 08:48:12 作者: rapoo

Spring调度任务

??????? ?应用场景:每月10号,我们都会收到本月薪资的邮件;托管行会在每天早上发送可用头寸表。这些事情都不是用户动作引起的,而是系统根据任务调度规划引发的一些动作。

?????? 1 使用Java Timer调度任务

?????? 从jdk1.3开始,java.util.Timer类提供了基本的调度功能。这个类允许你调用一个任务(java.util.TimerTask子类定义)按任意周期运行。

????? Spring通过TimerFactoryBean向应用程序上下文提供对java Timer的支持。TimerFactoryBean是Spring的一个工厂类,用于在应用程序上下文(运行TimerTask的)中生成Java Timer。下面展示了TimerFactoryBean是如何工作的。

Spring支配任务

?

?????? 创建一个定时任务

??????

最后一步就是启动定时器了。

 <bean class="org.springframework.scheduling.timer.TimerFactoryBean">     <property name="scheduledTimerTasks">     <list>     <ref bean="testTask"/>     </list>     </property>     </bean>

?scheduledTimerTasks是一个需要启动定时器的列表。

?

遗憾的是,java Timer的一个局限性,你可以指定执行任务的频度,但你无法精确指定它何时运行。Quartz能够指定时间运行。

读书人网 >软件架构设计

热点推荐