quartz学习三--Spring集成

原创 2016年06月01日 15:25:35
一、基础
    1、依赖 jar
       quartz-1.8.5.jar
       spring-context-3.0.5.RELEASE.jar
       spring-context-support-3.0.5.RELEASE.jar
    
    2、Spring 与 Quartz
       Spring-3.1 整合必须使用 Quartz-1.*            --->        org.quartz.CronTrigger 在quartz 1.8 中是类,在quartz 2中是接口。(由org.springframework.scheduling.quartz.CronTriggerBean 继承/实现)

       Spring-3.1 及以后 支持  Quartz-2.*

二、集成Spring
    1、Job -- 调度任务
       (1)、Job 标识
            a、方式一:
               作业类需要继承自特定的作业类基类org.springframework.scheduling.quartz.QuartzJobBean;

            b、方式二:
               普通java类

       (2)、配置
            a、方式一:
               <bean id="arrange" class="org.springframework.scheduling.quartz.JobDetailBean">
              <!-- 指定了目标类,每次调试都会建立一个新的实例 -->
           <property name="jobClass" value="game.job.OrderJob"></property>
           <!-- 用于向目标类实例的属性注入值 -->
           <property name="jobDataAsMap">
              <map>
            <entry key="">
               <ref bean="" />
            </entry>                
              </map>
           </property>
               </bean>
           
            b、方式二:
               <bean id="SpringQtzJob" class="com.ncs.hj.SpringQtz"/>  
               <bean id="SpringQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
           <property name="targetObject" ref="SpringQtzJob" />
           <!-- 要执行的方法名称 -->
           <property name="targetMethod" value="execute" />/>
           <!-- false表示job不会并发执行,默认为true-->
           <property name="concurrent" value="false" />
               </bean>  
 
    2、触发器
       (1)、org.springframework.scheduling.quartz.SimpleTriggerBean
            a、作用
           每隔指定时间则触发一次

            b、配置
               <bean id="testTaskTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
           <property name="jobDetail" ref="testTask"></property>
           <!-- 指定调度时间间隔此处为2秒 -->
           <property name="repeatInterval" value="2000"></property>
           <!-- 指定调度执行次数,不指定无穷次 -->
           <property name="repeatCount" value="3"></property>
               </bean>

       (2)、org.springframework.scheduling.quartz.CronTriggerBean
            a、作用
           每到指定时间则触发一次

            b、配置
               <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
           <property name="jobDetail" ref="arrange"></property>
           <!-- 每天开始时相关调度任务 -->
           <property name="cronExpression" value="0 0 6 * * ? *"></property>
               </bean>

    3、调度器
       (1)、配置
            <bean id="startQuartz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
           <list>
            <ref bean="cronTrigger"/>
           </list>
        </property>
            </bean>

版权声明:本文为博主原创文章,未经博主允许不得转载。

【学习笔记】Spring-3.2.4 + Quartz-2.2.0集成实例

Spring3.0不支持Quartz2.0,因为org.quartz.CronTrigger在2.0从class变成了一个interface造成IncompatibleClassChangeError...

Quartz学习——Spring和Quartz集成详解(三)

Spring是一个很优秀的框架,它无缝的集成了Quartz,简单方便的让企业级应用更好的使用Quartz进行任务的调度。下面就对Spring集成Quartz进行简单的介绍和示例讲解!和上一节 Quar...

Spring3.2.4 + Quartz2.2.0集成实例

  • 2013年12月12日 16:36
  • 4.28MB
  • 下载

Quartz学习总结(1)——Spring集成Quartz框架

一、Quartz简介 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来...

Spring Quartz集成

  • 2013年03月11日 16:51
  • 545KB
  • 下载

Quartz任务调度框架学习四(Quartz集成Spring及在项目中的应用)

Spring定时任务的几种实现 近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:quartz学习三--Spring集成
举报原因:
原因补充:

(最多只允许输入30个字)