Quartz 定时任务详解

一、第一种方式,配置的方式

1、配置文件,spring.xml

    <!-- 自定义定时任务类 -->
	<bean id="timingTasksJob" class="com.my.TimingTasksJob"></bean>
	<!-- 定时任务 -->
	<bean id="timingTasksJobDetail"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref bean="timingTasksJob" />
		</property>
		<property name="targetMethod">
			<value>execTask</value>
		</property>
		<property name="concurrent">
			<value>false</value>
		</property>
	</bean>
     <!-- 触发器 -->
	<bean id="timingTasksJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail" ref="timingTasksJobDetail" />
		<property name="cronExpression" value="0 0 2 * * ?" /> 	<!-- 定时任务时间配置 -->
	</bean>
	<!-- 调度器 -->
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>	
				<ref bean="timingTasksJobTrigger" />
			</list>
		</property>
	</bean>  

2、自定义定时任务类,在此仅写一个概况

//定时任务类
public class TimingTasksJob
{
	public void execTask()
	{
		//逻辑代码
	}
}

3、定时任务时间配置说明(cron表达式)

cron表达式可为6位或者7位(第7位表示年,可不填写)

表达式结构:* * * * * * *

从左到右分别代表:秒(0-59),分(0-59), 小时(0-23),日(1-31),月(1-12), 周(1-7), 年(可选1970-2099)

特殊字符占位解释:(只是其中部分,后边整理好在上传)
    * 表示所有值. 例如:在分的字段上设置 "*",表示每一分钟都会触发。 
    ? 表示不指定值。使用的场景为不需要关心当前设置这个字段的值。
	    例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 
        具体设置为 0 0 0 10 * ? 
    - 表示区间。例如 在小时上设置 "10-12",表示 10,11,12点都会触发。 
    , 表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发 
    / 用于递增触发。如在秒上面设置"5/15" 表示从5秒开始,每增15秒触发(5,20,35,50)。
	在月字段上设置'1/3'所示每月1号开始,每隔三天触发一次。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值