Spring与Quartz的集成

Spring与Quartz的集成

applicationContext.xml
<bean id="jobDetail"
	class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
	<property name="targetObject" ref="job" />
	<property name="targetMethod" value="execute" />
</bean>

<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
	<property name="jobDetail" ref="jobDetail" />
	<property name="cronExpression" value="0/1 * * * * ?" />
</bean>

<bean name="quartzScheduler"
	class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
	<property name="triggers">
		<list>
			<ref bean="cronTrigger" />
		</list>
	</property>
	<property name="configLocation" value="classpath:quartz.properties" />
</bean>


★上面的名为“job”的bean是用标注添加到IoC容器的。故在配置文件中没有体现。

★陷阱:

1)不要缺少
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context-support</artifactId>
	<version>3.0.5.RELEASE</version>
</dependency>


2)不要用延迟初始化功能,否则任务不会被启动。

3)如何在Spring配置文件里如何设定定时执行函数的参数?
这个实际上是一个伪问题,可以在Spring中直接把要的参数注入给Job Bean.

你可能感兴趣的:(spring,quartz)