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分钟触发一次
<!--定时任务的执行类-->
<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分钟触发一次