码迷,mamicode.com
首页 > 编程语言 > 详细

Spring整合quartz实现定时动态任务

时间:2017-07-19 15:26:58      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:detail   current   处理   work   image   als   nsa   ice   灵活   

在Spring中使用Quartz有两种方式实现:第一种是任务类继承QuartzJobBean,第二种则是在配置文件里定义任务类和要执行的方法,类和方法可以是普通类。很显然,第二种方式远比第一种方式来的灵活。

这里使用MethodInvokingJobDetailFactoryBean,任务类可以不实现Job接口,通过targetMethod指定调用方法,实现定时动态任务功能。

技术分享

    <bean id="addHandlePayCashApplyToMq"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><!-- 使用MethodInvokingJobDetailFactoryBean,任务类可以不实现Job接口,通过targetMethod指定调用方法 -->
        <property name="targetObject" ref="batchJobService"/> 
        <property name="targetMethod" value="addHandlePayCashApplyToMq" /> <!-- 要执行的方法名称 -->
      <!--false表示等上一个任务执行完后再开启新的任务--> <property name="concurrent" value="false"/> </bean>
<!--触发器-->
<bean id="addHandlePayCashApplyToMqBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
      <property name="jobDetail" ref="addHandlePayCashApplyToMq" />
        <property name="cronExpression" value="${transaction_batchjob_cronExpression_addHandlePayCashApplyToMqBean}" />//配置定时器时间
    </bean>
<!--调度工厂-->
<!-- ======================== 调度工厂 ======================== -->
    <bean id="SpringJobSchedulerFactoryBean"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="addHandleCashApplyToMqBean" />
                <ref bean="addHandlePayCashApplyToMqBean" />
                <ref bean="addTeamListToMqBean" />
            </list>
        </property>
    </bean>
quartz-cronExpression.properties
#Transaction处理提现申请,周一至周五中午12点 transaction_batchjob_cronExpression_addHandlePayCashApplyToMqBean
=30 * * ? * MON-FRI

 

Spring整合quartz实现定时动态任务

标签:detail   current   处理   work   image   als   nsa   ice   灵活   

原文地址:http://www.cnblogs.com/ouyanxia/p/7205926.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!