Spring 定时任务
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!-- 我爱我家定时任务配置类 --><!-- 到期提醒 -->
<bean id="expireSchedule" class="org.app.interfacelayer.schedule.GrabOrderSchedule" >
<!-- 到期提醒时间配置 单位天 -->
<property name="taskTime" value="60"/>
</bean>
<bean id="doWorkTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject" ref="expireSchedule"/>
<!-- 调用类中的方法 -->
<property name="targetMethod" value="work"/>
<!-- false,证明不执行并发任务 -->
<property name="concurrent" value="false"/>
</bean>
<!-- 合同到期轮训配置 每天3点执行 -->
<bean id="doWorkTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="doWorkTask" />
<!-- <property name="cronExpression" value="0 0 3 * * ?" /> -->
<property name="cronExpression" value="0 * * * * ?" />
</bean>
<!-- 4、配置调度器 ,容器启动就会执行调度程序 -->
<!-- 总管理类,如果lazy-init='false',则容器启动时就会执行调度程序-->
<!-- 如果lazy-init='true',则需要实例化该bean才能执行调度程序 -->
<bean id="schdulerFactory" lazy-init="true" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="doWorkTrigger"/>
</list>
</property>
</bean>
</beans>
public class ExpireReminderSchedule {
private static Logger logger = Logger.getLogger(ExpireReminderSchedule.class);
private String taskTime;//提供getter,setter方法
@Test
public void work() throws SQLException {
// 补充定时任务要执行的业务逻辑
}
}