一,首先下载quartz-1.6.0.jar架包,到lib目录下
二,写你自己定时器业务方法
package com.lbnet.lzx.timing;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.scheduling.quartz.QuartzJobBean;
import com.lbnet.lzx.service.IOrderService;
public class OrderNoRefact extends QuartzJobBean{
private static BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext-*.xml");
@Override
protected void executeInternal(JobExecutionContext arg0)
throws JobExecutionException {
// TODO Auto-generated method stub
IOrderService orderdao=(IOrderService)factory.getBean("OrderServiceImpl");
System.out.println("订单超时!");
orderdao.updateOrderTimeOver();
}
}
三。在spring文件中进行配置
配置定时任务
<bean id="SchedulerTask3" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>com.lbnet.lzx.timing.OrderNoRefact</value>
</property>
</bean>
配置定时时间
<bean id="SchedulerTaskTrigger3" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="SchedulerTask3" />
<property name="cronExpression">
<value>0 0/30 0/1 * * ?</value>
</property>
</bean>
开启定时任务
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="SchedulerTaskTrigger3" />
</list>
</property>
</bean>
四。一些定时参数意义
0 0/30 0/1 * * ? 代表每天每30分钟运行一次
0 0/3 0/1 * * ? 代表每天每3分钟运行一次
0 11 23 * * ? 代表每天晚上23:11运行一次
五。如果重启报异常
org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set;
请把commons-collections-2.1.1.jar,checkstytle-all.jar删掉,然后加入commons-collections.jar包就OK了
==============================================
Spring调度任务的运行时间可通过TriggerBean的属性进行配置,一般情况下不是使用SimpleTriggerBean就是使用
CronTriggerBean,这两个TriggerBean配置说明如下:
1) SimpleTriggerBean的配置:
<bean id="trigger.jobdetail"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="factory" />
</property>
<property name="startDelay">
<!-- 10 seconds 单位是毫秒 默认是10秒钟-->
<value>10000</value>
</property>
<property name="repeatInterval">
<!-- repeat every 600 seconds 单位是毫秒 默认是10分钟-->
<value>60000</value>
</property>
</bean>
定时任务所在的bean的配置
<bean id="factory"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="dailyjob.processor" />
</property>
<property name="targetMethod">
<value>process</value>
</property>
</bean>
2) CronTriggerBean的配置:
这里设置每隔一分钟执行一次。SimpleTriggerBean只能指定工作执行的频率,不能指定工作执行的具体时间。
比方说要求在每天的晚上10点执行某个具体的工作,那么SimpleTriggerBean就不能满足了,这时需要使用另外
一个bean:CronTriggerBean。
<bean id="Detail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"><ref bean="mainServer"/></property>
<property name="targetMethod"><value>excute</value></property>
</bean>
设置触发器
<bean id="HRTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail"> <ref bean="Detail"/></property>
<property name="cronExpression"> <value>0/10 * * * * ?</value> </property>
</bean>
<!--启动触发器-->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- 添加触发器 -->
<ref local="HRTrigger" />
</list>
</property>
</bean>
分享到:
相关推荐
Spring Quartz 定时器示例(Web工程版),欢迎下载。
Spring中的Quartz配置-Spring-定时器-java定时器.doc
Spring Quartz 定时器示例(Java工程版),欢迎下载。
Spring Quartz定时器 Spring Quartz定时器 Spring Quartz定时器 Spring Quartz定时器
quartz-all-1.6.0.jar commons-dbcp-1.2.1.jar commons-pool.jar 三个jar包,用于Spring Quartz定时器
我自己亲自测试过的例子,spring quartz定时器的简单配置和使用,保证成功运行
SpringQuartz定时器的配置[参照].pdf
SpringQuartz定时器的配置[归类].pdf
spring定时器 quartz支持的3个jar包 quartz-all-1.8.4.jar slf4j-api-1.5.3.jar slf4j-simple-1.5.3.jar
Spring-quartz实现定时器(含代码)
Quartz定时器介绍与简单使用
spring boot集成quartz定时器,job支持spring的依赖注入
quartz定时器api quartz定时器api quartz定时器api
Quartz定时器从入门到进阶,详细介绍Quartz定时器API和使用示例。
这里有spring的quartz定时器要用到的jar包,本人也有自己的小demo,如需要请联系本人
配置Spring+quartz定时器
定时器的配置文件(两种方式:springmvc自带定时,Quartz与spring结合的定时)
NULL 博文链接:https://penghuaiyi.iteye.com/blog/649561
spring定时器代码。解决多次执行问题。包含quartz-all.jar包。 说明很详细。希望能帮上哪位朋友。
spring2.0+quartz1.6写的一个定时器,能运行的