spring定时器-可以配置线程是否顺序执行
其他
2019-03-13 22:17:05
阅读次数: 0
package onlyfun.caterpillar; public class DemoJob { private JobData jobData;
public void execute() { System.out.println(jobData.getData() + " is executed."); } public void setJobData(JobData jobData) { this.jobData = jobData; } public JobData getJobData() { return jobData; } } <?xml version="1.0" encoding="urf-8"?> <!doctype beans public "-//spring/dtd bean/en" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="someData" class="onlyfun.caterpillar.JobData"/> <bean id="someJob" class="onlyfun.caterpillar.DemoJob"> <property name="jobData"> <ref bean="someData"/> </property> </bean> <bean id="jobDetailBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="someJob"/> </property> <property name="targetMethod"> <value>execute</value> </property> <property name="concurrent" value="false" /> <!-- 是否允许任务并发执行。当值为false时,表示必须等到前一个线程处理完毕后才再启一个新的线程 --> </bean> <bean id="cronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="jobDetailBean"/> </property> <property name="cronExpression"> <value>0 30 18 * * ?</value> </property> </bean> <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="cronTriggerBean"/> </list> </property> </bean> </beans> 在上面的指定中,每天的18时30分都会执行指定的任务,在底层,MethodInvokingJobDetailFactoryBean会自动建立JobDetail的实例以呼叫目标物件的指定方法。
|
|
转载自blog.csdn.net/qq_16116549/article/details/88536342