Quartz与Spring的集成
[color=blue]1、Scheduler入口[/color]
[color=blue]2、定义Trigger[/color]
相比SimpleTrigger,CronTrigger便显得要强大得多。
[color=red]CronTrigger表达式配置格式:[/color]
参考:[url=http://www.blogjava.net/xmatthew/archive/2009/02/15/253864.html]http://www.blogjava.net/xmatthew/archive/2009/02/15/253864.html[/url]
[color=blue]3、定义Job[/color]
参考资料:
用 Quartz 进行作业调度:[url=http://www.ibm.com/developerworks/cn/java/j-quartz/]http://www.ibm.com/developerworks/cn/java/j-quartz/[/url]
Quartz指南:[url=http://wiki.springside.org.cn/display/springside/Quartz]http://wiki.springside.org.cn/display/springside/Quartz[/url]
[color=blue]1、Scheduler入口[/color]
<bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
</bean>
Quartz.properties文件用于对quartz的详细设置。可选,未设置的情况下将使用jar包中的默认文件。
[color=blue]2、定义Trigger[/color]
<bean id="cronTrigger" class="org.springframework.scheduling.quartz. CronTriggerBean ">
<property name="jobDetail" ref="jobDetail"/>
<property name="cronExpression" value="0 0/1 * *,* * ?"/>
</bean>
除了CronTriggerBean之外,还有SimpleTriggerBean的实现方式,SimpleTrigger的实现类似jdk中的Timer,详细使用方法可以参考文章末尾的参考资料。
相比SimpleTrigger,CronTrigger便显得要强大得多。
[color=red]CronTrigger表达式配置格式:[/color]
参考:[url=http://www.blogjava.net/xmatthew/archive/2009/02/15/253864.html]http://www.blogjava.net/xmatthew/archive/2009/02/15/253864.html[/url]
[color=blue]3、定义Job[/color]
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="myJob"/>
<property name="targetMethod" value="test"/>
</bean>
以上定义是使用POJO类直接作为Job来进行调度。当然这里也可以直接使用实现Job接口的类作为作业处理类,这样的实现方式就需要定义JobDetailBean来实现,如:
<bean id="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean">
…….
</bean>
显然,POJO作为Job的实现方式耦合度要更低,使用也更为灵活。
参考资料:
用 Quartz 进行作业调度:[url=http://www.ibm.com/developerworks/cn/java/j-quartz/]http://www.ibm.com/developerworks/cn/java/j-quartz/[/url]
Quartz指南:[url=http://wiki.springside.org.cn/display/springside/Quartz]http://wiki.springside.org.cn/display/springside/Quartz[/url]