Spring Quartz 实现任务自动调度
2011-11-05 10:47
435 查看
Spring Quartz 实现任务自动调度
1. 背景
在系统间的接口实现中,经常需要系统自动获取另外一个系统的数据或者向另外一个系统书写数据;有些大系统为了更好地解决网络瓶颈问题,把一些不是很重要,数据量比较大的数据放到少人访问的时候系统自动执行其中的任务。这就需要自动调度任务执行,目前比较好的有Spring 与 Quartz结合起来使用的任务调度技术。本文详细讲述了一个自动任务调度的实例。
2. 环境
将以下Jar包导进工程:commons-logging-1.0.4.jar、quartz.jar和spring.jar,并加入classpath。
3. beans.xml配置文件的配置,如下:
4. 需要被调度的类MyQuarz,源代码如下:
5. 测试类TestMyQuarz,源代码如下:
OK,TKS!
1. 背景
在系统间的接口实现中,经常需要系统自动获取另外一个系统的数据或者向另外一个系统书写数据;有些大系统为了更好地解决网络瓶颈问题,把一些不是很重要,数据量比较大的数据放到少人访问的时候系统自动执行其中的任务。这就需要自动调度任务执行,目前比较好的有Spring 与 Quartz结合起来使用的任务调度技术。本文详细讲述了一个自动任务调度的实例。
2. 环境
将以下Jar包导进工程:commons-logging-1.0.4.jar、quartz.jar和spring.jar,并加入classpath。
3. beans.xml配置文件的配置,如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-- 需要被调度执行的对象 --> <bean id="myQuarz" class="com.lanp.MyQuarz" /> <!--定义定时执行"com.lanp.MyQuarz" 这个bean中的sayHello()方法--> <bean id="myTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="myQuarz" /> </property> <property name="targetMethod"> <value>sayHello</value> </property> </bean> <!--触发器的bean的设置,这里我们定义了要触发的jobDetail是myTask,即触发器去触发哪个bean..并且我们还定义了触发的时间:每天10:26am--> <bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="myTask" /> </property> <property name="cronExpression"> <!-- 关键在配置此表达式 10:26--> <value>0 26 10 * * ?</value> </property> </bean> <!-- 管理触发器的总设置,管理我们的触发器列表,可以在bean的list中放置多个触发器。 --> <bean autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref local="myTrigger" /> </list> </property> </bean> </beans>
4. 需要被调度的类MyQuarz,源代码如下:
package com.lanp; /** * 需要被调度执行的类 * @author LanP * @since 2011-11-5 9:43 * @version V1.0 */ public class MyQuarz { public void sayHello() { System.out.println("Hello,I am runing..."); } }
5. 测试类TestMyQuarz,源代码如下:
package com.lanp; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * 测试MyQuarz调度 * @author LanP * @since 2011-11-5 9:45 * @version V1.0 */ public class TestMyQuarz { public static void main(String[] args) { // 只要加载配置文件就可以 System.out.println("*****调度容器开始******"); ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); System.out.println("*****调度执行完毕******"); } }
OK,TKS!
相关文章推荐
- spring实现自动定时任务调度【Spring Task】【Quartz】
- Spring+quartz实现自动任务调度
- Spring与Quartz集成配置实现简单定时任务调度
- ** Spring实现Quartz任务调度的示例讲解
- spring+quartz实现动态任务调度
- 如何使用spring 定时调度 【 Spring+Quartz实现定时任务 】
- Spring Quartz实现任务调度
- Quartz任务调度[Spring+Quartz结合]_实现任务的动态添加、修改和删除
- quartz结合spring轻松实现任务调度
- Spring整合quartz框架实现任务定时调度
- Spring整合Quartz实现动态任务调度定时器
- Spring整合Quartz实现定时任务调度
- Spring整合的quartz任务调度的实现方式
- Spring与Quartz的整合实现定时任务调度 以及crontab的用法
- Spring与Quartz的整合实现定时任务调度(转)
- Spring和Quartz实现的定时任务调度
- Spring与Quartz的整合实现定时任务调度
- Spring与Quartz的整合实现定时任务调度
- spring整合quartz,实现自助动态管理自动任务
- java计划任务调度框架quartz结合spring实现调度的配置实例代码