您的位置:首页 > 编程语言 > Java开发

Spring定时任务配置

2015-08-24 19:14 561 查看

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 {

// 补充定时任务要执行的业务逻辑

}

}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: