例子是利用spring的org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean 类,能够创建任务,创建任务的时间间隔,开启。
分四步:
1、定义自己的bean <bean id="AuditTimeoutTimer" class="*****.TimeoutWarningTimer"></bean>
2、定义任务,任务中有两个属性,调用的类和方法
<!-- 配置定时任务 -->
<bean id="AuditTimeoutTimerTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="AuditTimeoutTimer"/>
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>projectAuditTimeout</value>
</property>
</bean>
3、定义时间,两个属性,调用的任务和定时时间
<bean id="AuditTimeoutTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="AuditTimeoutTimerTask"/>
</property>
<property name="cronExpression">
<!-- 每隔1天执行一次检查 -->
<!-- <value>0 0/1 * * * ?</value>-->
<value>0 0/2 * * * ?</value>
</property>
</bean>
4、开启任务,属性是开启任务的定时时间
<!-- 开启定时任务 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="AuditTimeoutTaskTrigger" />
</list>
</property>
<property name="applicationContextSchedulerContextKey" value="applicationContext" />
<property name="configLocation" value="classpath:quartz.properties" />
</bean>