spring的quartz小小应用
spring很好的集成了quartz。现在就在实际工作用到的,简单总结了下:
?
定义的是定时器的工厂类:
<beans>
?<bean name="quartzScheduler"
??? 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" 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>
?
呵呵,简单的应用就到此。。。。。
?