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>

啦啦啦

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值