Quartz与Spring的集成

Quartz与Spring的集成 

1、Scheduler入口 
Java代码   收藏代码
  1. <bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  
  2.        <property name="triggers">  
  3.           <list>  
  4.                <ref bean="cronTrigger"/>  
  5.            </list>  
  6.        </property>  
  7.    </bean>  
Quartz.properties文件用于对quartz的详细设置。可选,未设置的情况下将使用jar包中的默认文件。 


2、定义Trigger 
Java代码   收藏代码
  1. <bean id="cronTrigger" class="org.springframework.scheduling.quartz. CronTriggerBean ">  
  2.     <property name="jobDetail" ref="jobDetail"/>  
  3.     <property name="cronExpression" value="0 0/1 * *,* * ?"/>  
  4. </bean>  
除了CronTriggerBean之外,还有SimpleTriggerBean的实现方式,SimpleTrigger的实现类似jdk中的Timer,详细使用方法可以参考文章末尾的参考资料。 
相比SimpleTrigger,CronTrigger便显得要强大得多。 
CronTrigger表达式配置格式: 
参考: http://www.blogjava.net/xmatthew/archive/2009/02/15/253864.html 


3、定义Job 
Java代码   收藏代码
  1. <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
  2.     <property name="targetObject" ref="myJob"/>  
  3.     <property name="targetMethod" value="test"/>  
  4. </bean>  
以上定义是使用POJO类直接作为Job来进行调度。当然这里也可以直接使用实现Job接口的类作为作业处理类,这样的实现方式就需要定义JobDetailBean来实现,如: 
Java代码   收藏代码
  1. <bean id="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean">  
  2. …….  
  3. </bean>  
显然,POJO作为Job的实现方式耦合度要更低,使用也更为灵活。 

参考资料: 
用 Quartz 进行作业调度: http://www.ibm.com/developerworks/cn/java/j-quartz/ 
Quartz指南: http://wiki.springside.org.cn/display/springside/Quartz 
分享到:   
参考知识库
操作系统知识库 109  关注 | 923  收录
Redis知识库 467  关注 | 560  收录
嵌入式开发知识库 320  关注 | 544  收录
Cocos引擎知识库 133  关注 | 291  收录
评论
1 楼  kdboy 2011-03-10  
关于CronTrigger表达式?和*的区别:

* 可以作用于任意字段,表示指定该字段为任意值。
? 只可以作用于日期和星期两个字段,表示不指定该字段的值。

日期、星期两个字段不能同时指定值(指定为*或具体数值),可以理解为这两个字段相冲突,因此如果指定了其中一个字段的值(包括指定为*),另外一个字段的值必须为 ? 。否则,会产生冲突,出现语法错误。
另外,如果同时指定日期和星期两个字段为?是允许的,相当于一个为*另一个指定为?。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值