使用Spring来实现任务计划服务三:集成quartz任务调度框架

1.Spring 2.5集成quartz任务调度框架,首先需要准备几个必须的类库:

   spring.jar

   jaxen-1.1.3.jar

   quartz-all-1.6.0.jar

   jta.jar

   commons-collections-3.2.1.jar

   commons-logging.jar

   dom4j-1.6.1.jar

2.创建一个业务处理类HellowWorld

  

package junit.test;

public class HelloWorld {
	
	public void sayHelloWorld(){
	  System.out.println("are you ready? say hello world :"+(new java.util.Date()).toString());
	}

}

3.配置beans-helloworld.xml 

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
       
       <bean id="helloWorld" class="junit.test.HelloWorld"></bean>
       <!-- 定义调用对象和调用对象的方法 -->
       <bean id="sayHelloWorldTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="helloWorld" />
		<property name="targetMethod" value="sayHelloWorld" />
		<property name="concurrent" value="false" />
       </bean>
       <!-- 配置触发器及调度周期 的两种配置-->
       <!-- 配置一 :定义间隔时间、延迟时间、执行次数-->
       <!-- 
       <bean id="cronTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
		<property name="jobDetail" ref="sayHelloWorldTask"/>
		 <property name="repeatInterval">
		    <value>3000</value>
		 </property>
		 <property name="startDelay">
		    <value>1000</value>
		 </property>
		 <property name="repeatCount">
		    <value>5</value>
		 </property>
	   </bean>
	    -->
	   <!-- 配置2:可以定义在某具体时间开始执行 -->
	   <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail" ref="sayHelloWorldTask"/>
		<!-- 调度周期的时间配置,参考相关的quartz相关资料 --> 
		<property name="cronExpression" value="2 * * * * ?" />
	   </bean>
	   
	   <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
	   <bean class= "org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
		<list>
		<ref bean="cronTrigger" />
		</list>
		</property>
	   </bean>
</beans>

 

3.写个例子来测试一下

package junit.test;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class HellowWorldTest {
	public static void main(String[] args){
		new ClassPathXmlApplicationContext("beans-helloworld.xml");
	}
}

你可能感兴趣的:(使用Spring来实现任务计划服务三:集成quartz任务调度框架)