Spring3.0.5与Quartz的整合实现定时任务调度

最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现。对于一个新手来说,花了我不少时间,这里我写个笔记,给大家参考。 
我使用的是Maven来管理项目,需要的Jar包我给大家贴出来。 
quartz-1.8.5.jar 
commons-logging.jar 
spring-core-3.0.5.RELEASE.jar 
spring-beans-3.0.5.RELEASE.jar 
spring-context-3.0.5.RELEASE.jar 
spring-context-support-3.0.5.RELEASE.jar  
spring-asm-3.0.5.RELEASE.jar 
spring-expression-3.0.5.RELEASE.jar 
spring.transaction-3.0.5.RELEASE.jar 

spring-web-3.0.5.RELEASE.jar

<!-- 要调用的工作类 -->
	 <bean id="quartzJob" class="com.task.Task" />
	 
	 <!-- 定义调用对象和调用对象的方法 -->
	 <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
	 	<!-- 调用的类 -->
	 	<property name="targetObject">
	 		<ref bean="quartzJob" />
	 	</property>
	 	<!-- 调用类中的方法 -->
	 	<property name="targetMethod">
	 		<value>work</value>
	 	</property>
	</bean>
	
	<!-- 定义触发时间 -->
	<bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="jobtask" />
		</property>
		<!--  cron表达式 -->
		<property name="cronExpression">
			<value>0 30,30,30,30 9,11,14,17 ? * MON-FRI</value>
		</property>
	</bean>
	
	<!--  总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序  -->
	<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="doTime" />
			</list>
		</property>
	</bean>

你可能感兴趣的:(Spring3.0.5与Quartz的整合实现定时任务调度)