SSM中使用Quartz定时器

首先要明白Quartz定时器分为两种:一种是每隔多少时间去执行一次,另外一种是到达某一个指定时间去执行一次。


这个是第一个定时器:

package org.ht.util;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class SimpleTriggerJob extends QuartzJobBean{

	
	/**
	 *   这个类是每隔多少时间来执行的业务类。把你要执行的业务写在这里
	 * 
	 */
	protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
		System.out.println("SimpleTriggerJob 定时器开始-------------------");
	}

}

然后去spring的配置文件去配置

这里配置了两个定时器:

<!-- 配置quartz -->
	<!-- 任务实例化 -->   
	<!-- 第一个定时器 -->
	<bean id="myJob"
		class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
		  <property name="Durability" value="true"/>
		<property name="jobClass" value="org.ht.util.SimpleTriggerJob" />
	</bean>
	<!-- 第二个定时器 -->
	<bean id="cronJob"
		class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
		  <property name="Durability" value="true"/>
		<property name="jobClass" value="org.ht.util.CronTriggerJob" />
	</bean>
	<!-- -这个定时器是到达指定的时间去执行 -->
	<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<!-- 这个属性是为了解决这个的报错:---》  SchedulerException: Jobs added with no trigger must be durable. -->
		<property name="jobDetail" ref="cronJob"/>
		
		<!-- cron表达式的解释自己去百度。。。。 -->
		<property name="cronExpression" value="0 5 16 * * ?"/>
	</bean>
	<bean id="myTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
		<property name="jobDetail" ref="myJob"/>
		<property name="startDelay" value="2000"/><!-- 每隔2秒执行一次 -->
		<property name="repeatInterval" value="5000"/>
	</bean>
	
	<!-- 触发定时器 -->
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
			<!-- 把定时器加入列表 -->
				<ref bean="myTrigger"/>
				<ref bean="cronTrigger"/>
			</list>
		</property>
	</bean>
	<!-- 配置quartz -->
   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值