// 第一步:定义定时任务类:一个普通的java类
/**
* 定时更新业务类
* @author ZRD
*
*/
public class MicromsgUpdateInfoJob {
/**
* 任务方法1
*/
public void updateAccessToken() {
System.out.println("【access_token 更新任务完成......】 " );
}
/**
* 任务方法2
*/
public void updateUserInfo() {
System.out.println("【user list 更新任务完成......】");
}
}
// 第二步:配置定时任务方法,以及配置任务调度方式
<!-- 定时任务的bean -->
<bean id="micromsgUpdateInfoJob" class="com.gzbugu.micromsg.timer.MicromsgUpdateInfoJob">
</bean>
<!-- 定时任务:更新access_token -->
<bean id="micromsgUpdateInfoJob_accessToken_jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref local="micromsgUpdateInfoJob"/>
</property>
<property name="targetMethod" value="updateAccessToken" />
</bean>
<bean id="simpleTrigger_accessToken" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="micromsgUpdateInfoJob_accessToken_jobDetail" />
<property name="startDelay" value="1000" /><!-- 调度工厂实例化后,经过0秒开始执行调度 -->
<property name="repeatInterval" value="1000" /><!-- 每2秒调度一次 -->
</bean>
<!-- 定时任务:更新用户列表 -->
<bean id="micromsgUpdateInfoJob_userList_jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref local="micromsgUpdateInfoJob"/>
</property>
<property name="targetMethod" value="updateUserInfo" />
</bean>
<bean id="cronTrigger_userList" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="micromsgUpdateInfoJob_userList_jobDetail"/>
<property name="cronExpression" value="0 0 11 * * ?" /><!-- 每天中午11点执行 -->
</bean>
// 第三步:调度定时任务
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<property name="triggers">
<list>
<ref local="simpleTrigger_accessToken"/>
<ref local="cronTrigger_userList"/>
</list>
</property>
</bean>