spirng 支持的三种定时器学习札记
spirng 支持的三种定时器学习笔记
以下是三个定时器的类
以下是 application.xml
官方资料:http://ajava.org/online/spring2.5/html/scheduling.html
以下是三个定时器的类
package com.spring.test; import java.util.TimerTask; public class ExamplesTimer extends TimerTask{ @Override public void run() { System.out.println("run......"); } }
package com.spring.test; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; public class ExamplesJob extends QuartzJobBean { private int timeout ; public void setTimeout(int timeout) { this.timeout = timeout; } @Override protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { System.out.println("ExamplesJob....."); } }
package com.spring.test; public class ExampleBusinessObjec { public void doIt() { System.out.println("ExampleBusinessObjec..."); } }
以下是 application.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd "> <!-- 第一种 JDK Timer <bean id="examplesTimer" class="com.spring.test.ExamplesTimer" /> <bean id="scheduledTask" class="org.springframework.scheduling.timer.ScheduledTimerTask"> <property name="delay" value="5000" /> <property name="period" value="1000" /> <property name="timerTask" ref="examplesTimer" /> </bean> <bean id="timerFactory" class="org.springframework.scheduling.timer.TimerFactoryBean"> <property name="scheduledTimerTasks"> <list> <ref bean="scheduledTask" /> </list> </property> </bean> --> <!-- 以下是第2、3 种订时器的配置 --> <bean name="exampleJob" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="com.spring.test.ExamplesJob" /> <property name="jobDataAsMap"> <map> <entry key="timeout" value="5" /> </map> </property> </bean> <bean id="exampleBusinessObject" class="com.spring.test.ExampleBusinessObjec" /> <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="exampleBusinessObject" /> <property name="targetMethod" value="doIt" /> <property name="concurrent" value="false" /> </bean> <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail" ref="jobDetail" /> <property name="startDelay" value="5000" /> <property name="repeatInterval" value="1000" /> </bean> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="exampleJob" /> <!-- run every morning at 6 AM --> <property name="cronExpression" value="0 0 6 * * ?" /> </bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="cronTrigger" /> <ref bean="simpleTrigger" /> </list> </property> </bean> </beans>
官方资料:http://ajava.org/online/spring2.5/html/scheduling.html