`
wj131
  • 浏览: 142238 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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>
 

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

 

分享到:
评论

相关推荐

    springboot+spring-data-jpa maven项目

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立的、生产级别的基于 Spring 的应用。 Spring Data JPA 是 Spring Framework 的一部分,它提供了...

    spring2.5-zh-cn讲义.pdf

    此外,Spring2.5还加强了与第三方库的集成,例如,对RESTful服务的支持、Quartz调度器的整合等,这使得Spring能够更好地适应现代企业级开发的需求。 总的来说,Spring框架以其强大的功能和灵活性,成为Java开发者的...

    一个完整的spring boot项目

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 在“一个完整的spring boot项目”中,我们可以深入学习...

    springbootjpa

    标题 "springbootjpa" 暗示了这个项目是基于Spring Boot框架并结合了Java Persistence API (JPA) 的一个应用。Spring Boot是Spring框架的简化版,它旨在简化创建独立、生产级别的基于Spring的应用程序。JPA则是Java...

    Quarz相关资料.zip

    Quarz是一个强大的Java作业调度框架,用于在应用程序中安排和执行任务。它允许开发者创建、管理和调度复杂的作业,使得...通过学习这些资料,你将能够熟练地运用Quartz进行任务调度,提升你的Java应用的自动化水平。

    Auction-拍卖网站源码第一版V1(竞拍).rar

    出价竞拍环节,源码可能会包含一个定时任务来检查并更新最高出价,这可能需要用到Quartz或者Spring的Task调度。 此外,竞拍机制的设计是拍卖网站的关键部分。一般来说,拍卖可以分为英式拍卖(价格逐渐上升,直到...

    Java-Web定时器使用.doc

    Java Web定时器是一种在Web应用程序...需要注意的是,虽然`java.util.Timer`可以满足大多数需求,但在高并发环境下,可能需要考虑使用更高级的调度库,如`Quartz`或`Spring Task`,它们提供了更强大的管理和控制能力。

    JAVA毕业设计健身器材的租赁系统

    SpringBoot简化了Spring应用的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如数据源、JPA、MVC等,开发者无需繁琐的XML配置,只需少量代码即可创建一个独立运行的Java应用。 2. **RESTful API设计**:...

    定时发短信

    在Java中,可以使用`Quartz`或`Spring Task`来实现定时任务;如果是Python,可以利用`APScheduler`或者`schedule`库。开发者需要编写定时任务逻辑,确保在指定时间触发短信发送。 2. **数据库操作**:描述中提到...

    通向架构师的道路(第五天)之tomcat集群-群猫乱舞.docx

    例如,描述中的场景中,由于Spring+WS、Guvnor5.x等组件的存在,使得单台Tomcat在处理大量请求和复杂业务规则时达到极限。此时,如果无法增加硬件资源或更换更强大的应用服务器(如Weblogic),那么实施Tomcat集群...

    TinderClone

    10. **性能监控**:通过使用如Spring Actuator这样的工具,开发者可以监控应用的性能指标,如内存使用、线程状态等,以便进行优化。 总的来说,TinderClone项目展示了Java在构建大型社交应用时的强大能力,涉及到了...

Global site tag (gtag.js) - Google Analytics