应用场景:每月10号,我们都会收到本月薪资的邮件;托管行会在每天早上发送可用头寸表。这些事情都不是用户动作引起的,而是系统根据任务调度规划引发的一些动作。
1 使用Java Timer调度任务
从jdk1.3开始,java.util.Timer类提供了基本的调度功能。这个类允许你调用一个任务(java.util.TimerTask子类定义)按任意周期运行。
Spring通过TimerFactoryBean向应用程序上下文提供对java Timer的支持。TimerFactoryBean是Spring的一个工厂类,用于在应用程序上下文(运行TimerTask的)中生成Java Timer。下面展示了TimerFactoryBean是如何工作的。
创建一个定时任务
public class ScanFileTask extends TimerTask {
public void run() {
System.out.println("开始扫描文件了");
}
}
run()方法定义了当任务运行时该做什么。
在spring的配置文件中配置该bean。
<bean id="scanFileTask" class="org.utmost.jms.ScanFileTask"/>
spring的 ScheduledTimerTask定义了定时器任务运行周期period。delay属性指定当任务第一次运行之前等待多长时间。timerTask告诉ScheduledTimerTask执行那个TimerTask。
<bean id="testTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask" ref="scanFileTask"></property>
<property name="period" value="40000"/>
<property name="delay" value="10000"/>
</bean>
最后一步就是启动定时器了。
<bean class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref bean="testTask"/>
</list>
</property>
</bean>
scheduledTimerTasks是一个需要启动定时器的列表。
遗憾的是,java Timer的一个局限性,你可以指定执行任务的频度,但你无法精确指定它何时运行。Quartz能够指定时间运行。
- 大小: 6.9 KB
分享到:
相关推荐
Spring实现任务调度.ppt Spring实现任务调度_代码演示 quartz-all-1.6.1.jar
7、自定义任务参数:支持在线配置调度任务入参,即时生效; 8、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞; 9、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配...
NULL 博文链接:https://weiweichen1985.iteye.com/blog/1006969
Spring实现任务调度.ppt Spring实现任务调度_代码演示 quartz-all-1.6.1.jar
spring 任务调度实现代码例子
Spring整合任务调度框架Quartz,本文档详细介绍了Spring整合任务调度框架Quartz,希望可以帮助学习者
Spring Quartz 任务调度实例 可直接运行 可应用服务器启动调用 也可main入口调用 主要用于打jar包用
spring任务调度(Quartz )非常基础,
spring动态调度任务,根据用户选择时间进行定时执行任务相关文档配置
Spring 定时器 任务调度 怎么在项目中写定时任务 怎么配置一些环境
Spring任务调度的几种实现方法,包括持续运行某个方法,固定某个时间点运行
java spring任务调度器
用到了spring的任务调度 ,动手写了个demo
spring实现任务的自动调度所需的jar包
maven spring 任务调度实列代码
spring中的任务调度器配置方法 spring中的任务调度器配置方法 spring中的任务调度器配置方法
关于spring调度的例子;| 两种方法:quartz 和 timer;| 适合学习;| 已经调试通过
该资源描述了用spring+quartz搭建的环境来管理任务调度的基本配置
spring quartz java任务调度 完整 可执行