欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring定时任务配置

程序员文章站 2022-05-12 18:32:14
...
spring中的配置:
<!--定时任务的执行类-->
<bean id = "testTask" class = "com.xxx.service.SOATimerJob"></bean>

<!--要定时执行的方法-->
<bean id="testTaskJob"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<!--指定要定时执行的方法所在类,将定时任务定义成bean-->
<ref bean="testTask" />
</property>
<property name="targetMethod">
<!--指定定时执行的方法-->
<value>execute</value>
</property>
<property name="concurrent">
<!--指定目标封装为有状态的任务,有状态的任务不能并发执行,无状态的任务可并发执行-->
<value>false</value>
</property>
</bean>


<!-- 定义触发时间 -->
<bean id="testTaskJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="testTaskJob" />
</property>
<!-- cron表达式,此处是每天10点执行 -->
<property name="cronExpression">
<value>0 0 10 * * ?</value>
</property>
</bean>

<!--启动工作-->
<bean lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- 这里添加多个定时任务触发器,对应第2步的bean id -->
<ref local="testTaskJobTrigger" />
</list>
</property>
</bean>

需要的jar文件:
quartz.jar
spring-context-support-3.2.4.RELEASE.jar

crontriggerbean 配置:
"0 0 12 * * ?" 每天中午12点触发
"30 15 10 * * ?" 每天上午10:15:30触发 
"0 0/15 * * * ?" 每15分钟触发一次