Spring集成Quartz定时任务的Demo

一、首先加入依赖JAR包

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-webmvc</artifactId>
 <version>3.0.5.RELEASE</version>
</dependency>
<dependency>
 <groupId>org.quartz-scheduler</groupId>
 <artifactId>quartz</artifactId>
 <version>1.8.4</version>
</dependency>

二、创建实现类

package com.chongdong.job;

import org.springframework.stereotype.Component;

@Component("workJob")
public class WorkJob {
				
	public void working() {
		System.out.println("start working!");
	}
}

三、在applicationContext.xml的配置

   

	<!-- 异步线程池 -->
	<bean id="taskExecutor"
		class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
		<!-- 核心线程数 -->
		<property name="corePoolSize" value="10" />
		<!-- 最大线程数 -->
		<property name="maxPoolSize" value="50" />
		<!-- 队列最大长度 >=mainExecutor.maxSize -->
		<property name="queueCapacity" value="1000" />
		<!-- 线程池维护线程所允许的空闲时间 -->
		<property name="keepAliveSeconds" value="300" />
		<!-- 线程池对拒绝任务(无线程可用)的处理策略 -->
		<property name="rejectedExecutionHandler">
			<bean
				class="java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy" />
		</property>
	</bean>
	<!-- 调度业务 -->
	<bean id="workJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
	    <property name="targetObject">
	        <ref bean="workJob" />
	    </property>
	    <property name="targetMethod">
	        <value>working</value>
	    </property>
	</bean>
	
	<bean id="workJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
	    <property name="jobDetail">
	        <ref bean="workJobDetail" />
	    </property>
	    <property name="cronExpression">
	        <value>${job.workJob}</value>
	    </property>
	</bean>
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		 <property name="triggers">
		  <list>
		   <ref bean="workJobTrigger" />
		  </list>
		 </property>
		 <property name="taskExecutor" ref="taskExecutor" />
	</bean>

这里的${job.workJob}为配置文件中的参数,值为Cron表达式:

0/5 * * * * ?-----每5秒执行一次

猜你喜欢

转载自blog.csdn.net/yxh13521338301/article/details/80761639