关闭

quartz学习三--Spring集成

116人阅读 评论(0) 收藏 举报
分类:
一、基础
    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>

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1878次
    • 积分:82
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档