Quartz的简化(只要一张表,动态启停任务)

项目中有模块依赖到了Quartz来做定时任务。那天和大师研究了一下午,讲一个使用这个工具的一些收获。

首先,用的不是原先的Quartz,而是与spring整合的。需要用到Spring-Conte-Support-4.2.3.Release.jar,Quartz-2.2.2.jar。使用的方式如下

<pre name="code" class="html"><pre name="code" class="html"><pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?>

<beans> 
  <!-- 定时清理 MessageRelation和hadsend Map   1 -->  
  <bean id="clearRelationJob" class="com.yicong.kisp.job.ClearRelationAndHadsendJob"/>  
  
  <!-- JobDetajil,基于MethodInvokingJobDetailFactoryBean调用普通Spring Bean  2 -->  
  <bean id="clearRelationJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
    <property name="targetObject" ref="clearRelationJob"/>  
    <property name="targetMethod" value="doClear"/>  
    <!-- 同一任务在前一次执行未完成而Trigger时间又到时是否并发开始新的执行, 默认为true. -->  
    <property name="concurrent" value="false"/> 
  </bean>  
  <!-- Cron式Trigger定义   3 -->  
  <bean id="clearRelationJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> 
    <property name="jobDetail" ref="clearRelationJobDetail"/>  
    <property name="misfireInstruction" value="2"/>  
    <!-- 全年、周2,4,6、00:01:01 -->  
    <property name="cronExpression" value="1 1 0 ? 1-12 2,4,6 *"/>  
    <!-- 延迟10秒启动 -->  
    <property name="startDelay" value="10000"/> 
  </bean>  
  <!-- 调度器 4 -->  
  <bean id="schedulerFactoryBean" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
    <property name="triggers"> 
      <list> 
        &l
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值