zoukankan      html  css  js  c++  java
  • 10 -- 深入使用Spring -- 5...2 在Spring中使用Quartz

          10.5.2 在Spring中使用Quartz

            Spring 的任务调度抽象层简化了任务调度,在Quartz基础上提供了更好的调度抽象。本系统使用Quartz框架来完成任务调度,创建Quartz的作业Bean有以下两个方法:

              ⊙ 利用JobDetailBean包装QuartzJobBean子类的实例。

              ⊙ 利用MethodInvokingJobDetailFactoryBean工厂Bean包装普通的Java对象。

            如果采用第一种方法来创建Quartz的作业Bean,则作业Bean类必须继承QuartzJobBean类。QuartzJobBean是一个抽象类,包含如下抽象方法:

              ⊙ executeInternal(JobExecutionContext ctx) : 被调度任务的执行体。

            如果采用MethodInvokingJobDetailFactoryBean包装,则无须继承任何父类,直接使用配置即可。配置MethodInvokingJobDetailFactoryBean,需要指定一下两个属性。

              ⊙ targetObject : 指定包含任务执行体的Bean实例。

              ⊙ targetMethod : 指定将指定Bean实例的该方法包装成任务执行体。

            采用JobDetailBean包装任务Bean的配置样例:

    <!-- 定义JobDetailBean Bean -->
        <!-- 以指定QuartzJobBean子类实例的executeInternal()方法作为任务执行体 -->
        <bean name="quartzDetail" class="org.springframework.scheduling.quartz.JobDetailBean" p:jobClass = "QuartzJobBean子类"/>

            采用MethodInvokingJobDetailFactoryBean包装任务Bean的配置样例:

        <!-- 定义目标Bean -->
        <bean id="testQuartz" class="edu.pri.lime.quartz.TestJob"/>
        <!-- 定义MethodInvokingJobDetailFactoryBean Bean -->
        <bean id="quartzDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <property name="targetObject" ref="testQuartz"/>
            <property name="targetMethod" value="test"/>
        </bean>

    啦啦啦

            

  • 相关阅读:
    转载:ORA-01438: 值大于为此列指定的允许精度
    PLSQL碰到pls-00103的错误解决办法
    spring 的xml配置使用p标签简化
    spring aop实现拦截接口请求打印日志
    response 设置头的类型 (转)
    js或者ext js获取返回值
    ext grid 前台grid加载数据碰到数据重复只显示一条
    关于struts和Spring 结合到一起之后存在ACtion创建单实例还是多
    SVN提交碰到的问题奇怪的问题
    关于项目使用可配置的properties 文件的实现
  • 原文地址:https://www.cnblogs.com/ClassNotFoundException/p/6701470.html
Copyright © 2011-2022 走看看