Spring定时器的配置

第一步:添加2jar: quartz-all-1.6.0.jarspring-support.jar

如何项目中的commons-collections-x.x.jar版本低于3则替换为commons-collections-3.1.jar以上

第二步:创建一个类继承QuartzJobBean,实现executeInternal方法:

package com.accp.util;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.springframework.scheduling.quartz.QuartzJobBean;

import com.accp.biz.CstLostBiz;

public class LostReportJob extends QuartzJobBean {

private CstLostBiz cstLostBiz;

public void setCstLostBiz(CstLostBiz cstLostBiz) {

this.cstLostBiz = cstLostBiz;

}

@Override

protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {

System.out.println("come on!");

cstLostBiz.addCstLost();

}

}

第三步:在spring的配置文件中配置

<bean name="cstLostBiz" class="com.accp.biz.impl.CstLostBizImpl"></bean>

1.

SimpleTriggerBean与scheduledTimerTasks类似。指定工作的执行频度,模仿scheduledTimerTasks配置:

<bean id="lostReportJob" class="org.springframework.scheduling.quartz.JobDetailBean">

<property name="jobClass">

<value>com.accp.util.LostReportJob</value>

</property>

注入对象:

<property name="jobDataAsMap">

<map>

<entry key="cstLostBiz" value-ref="cstLostBiz"></entry>

</map>

</property>

</bean>

2.

CronTriggerBean指定工作的准确运行时间:

<bean id="lostReportJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

<property name="jobDetail" ref="lostReportJob"></property>

<property name="cronExpression">

<value>0 0 2 ? * SAT</value>

</property>

</bean>

属性cronExpression告诉何时触发。最神秘就是cron表达式:

  Linux系统的计划任务通常有cron来承担。一个cron表达式有至少6(也可能7)有空格分隔的时间元素。从左到右:

  1.2.3.小时4.月份中的日期(1-31)5.月份(1-12JAN-DEC)6.星期中的日期(1-7SUN-SAT)7.年份(1970-2099)

  每个元素都显示的规定一个值(6),一个区间(9-12),一个列表(91113)或一个通配符(*)。因为46这两个元素是互斥的,因此应该通过设置一个问号(?)来表明不想设置的那个字段,“/”如果值组合就表示重复次数(10/6表示每10秒重复6)

3.

启动定时器:

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

<property name="triggers">

<list>

<ref bean="lostReportJobTrigger"/>

</list>

</property>

</bean>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值