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

使用Spring集成Quartz

时间:2014-10-30 13:11:51      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:io   os   ar   使用   java   sp   strong   on   art   

Quartz:

Quartz调度包的两个基本单元是作业(Job)和触发器(Trigger)。作业是能够调度的可执行任务,触发器提供了对作业的调度。虽然这两个实体很容易合在一起,但在Quartz中将它们分离开来是有原因的,而且也很有益处。通过把要执行的工作与它的调度分开,Quartz允许在不丢失作业本身或作业的上下文的情况下,修改调度触发器。而且,任何单个的作业都可以有多个触发器与其关联

 

使用Spring集成Quartz: 本系统使用Spring来集成Quartz。我们只需要在Spring中配置相应的Trigger和Job,而不需要编写任何Java代码,Spring在找到这些bean后会自动启动这些Job。

Spring配置: <bean id="dumbJob" class="org.springframework.scheduling.quartz.JobDetailBean">

<property name="group " value="dumb "/>

<property name="jobClass " value="example.DumbJob "/>

<property name="name" value="dumbJob "/>

</bean>

<bean id="settlementJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

<property name="targetObject" ref="settlementBizFacade"/>

<property name="targetMethod" value="doSettlement"/>

<property name="concurrent" value="false"/>

<property name="name" value="settlement"/>

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

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

<!-- run at 23:55 everyday -->

<property name="cronExpression" value="0 55 23 * * ?"/>

</bean>

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

<property name="triggers">

<list> <ref bean="settlementTrigger"/>

</list> </property> <property name="quartzProperties">

<map> <!-- 1 job thread, change this if more jobs added -->

<entry key="org.quartz.threadPool.threadCount" value="1"/>

</map>

</property>

</bean>

首先我们需要配置一个Job,这里有两种方式:一种是为Job创建一个独立的JobClass,然后使用Spring的JobDetailBean配置该Job;另一种是使用MethodInvokingJobDetailFactoryBean指定一个方法,不需要一个单独的JobClass,它需要设置“targetObject”和“targetMethod”,则Trigger触发该Job的时候,目标方法会被调用。这里把“concurrent”设置为“false”,这被调用的方法不会在新线程里运行,而是顺序执行。 接下来我们配置了一个名为“settlementTrigger”的Cron触发器,它定义了settlementJob合适被调用。 最后需要配置的是SchedulerFactoryBean,它负责调度所有的trigger,还可以配置Quartz。因为当前的任务间隔较远,没有频繁执行的要求,所以这里把Quartz的线程数设为“1”

使用Spring集成Quartz

标签:io   os   ar   使用   java   sp   strong   on   art   

原文地址:http://www.cnblogs.com/xiaohaizhuimeng/p/4062269.html

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