spring的quartz小小应用

spring很好的集成了quartz。现在就在实际工作用到的,简单总结了下:

 

定义的是定时器的工厂类:

<beans>
 <bean name="quartzScheduler"
    class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers" ref="triggers"/><!--这里就是很多定时器-->
  <property name="configLocation" value="classpath:quartz.properties"/><!-- 这里是quartz的配置文件哦,呵呵--->
 </bean>
</beans>

下面来看下quartz.properties的配置文件吧:

#============================================================================
# 配置 Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = DefaultQuartzScheduler
org.quartz.scheduler.rmi.export = false
org.quartz.scheduler.rmi.proxy = false
org.quartz.scheduler.wrapJobExecutionInUserTransaction = false

#============================================================================
# 配置执行线程池
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

#============================================================================
# 配置 JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold = 60000

#内存中JobStore, 服务器重启时执行记录会丢失
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

#数据库中JobStore,不过HSQLDB不支持select * from locks for update 的语法
#org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate

 以上就是定义的quartz.properties配置文件

 然后就看工厂类里面的参数:<property name="triggers" ref="triggers"/>的配置了:

  由于这里有很多的定时器所以就用了个list

  <bean id="triggers" class="org.springframework.beans.factory.config.ListFactoryBean">
  <property name="sourceList">
   <list>
    <ref bean="cmsTrigger"/>
    <ref bean="taskbillTrigger"/>
    <ref bean="redlistTrigger"/>
    <ref bean="sortRankTrigger"/>
    <ref bean="callingDataImporterTrigger"/>
    <ref bean="achieveTrigger"/>
   </list>
  </property>
 </bean>

 

 现在简单的说个其中的一个定时器吧:

  现在看到的是:cmsTrigger

 <bean id="cmsTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail">
   <bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="cmsContentService" /><!---对应的相应的service-->
    <property name="targetMethod" value="changeToArchive"/><!--- 该service的方法---->
   </bean>
  </property>

  
  <property name="cronExpression" value="0 0 3 * * ?"/><!--这里就是执行的时间了--->

   <!--     

              请注意:月份中的日期和星期不能同时设置 

               下面是对应的设置

                1.秒 0-59
             2.分钟 0-59
             3.小时 0-23
             4.月份中的日期 1-31
             5.月份 1-12或者Jan Feb Mar Apr May Jun Jul Aug Sept Oct Nov Dec
             6.星期中的日期 1-7或者MON,TUE,WED,THU,FRI,SAT,SUN.
        
-->
 </bean>
 

呵呵,简单的应用就到此。。。。。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值