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 web

<!-- 要调用的工做类 -->
	 <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>
相关文章
相关标签/搜索