CronTriggerFactoryBean不适用于新版本

时间:2019-01-17 12:12:46

标签: spring maven quartz crontrigger

我使用石英来计划我的工作(使用Spring在Maven项目中工作)。

我将石英版本更新为2.3.0,并在CronTriggerBeanJobDetailBean中更改了CronTriggerFactoryBeanJobDetailFactoryBean,但是使用此配置时,它没有实例化像(cronexpression)一样,它在每个请求时间都与第一种配置(CronTriggerBean)一起工作。

我必须执行一些实现吗?

quartz-context.xml

<bean id="jobImportFi01QuartzTrigger"
        class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="group" value="xxx" />
        <property name="jobDetail" ref="jobImportFi01Quartz" />
        <property name="cronExpression" value="${jobImportFi01.cron.expression}" />
        <property name="misfireInstructionName"
            value="MISFIRE_INSTRUCTION_DO_NOTHING" />
    </bean>

    <bean id="jobImportFi01Quartz"
        class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
        <property name="group" value="xxx" />
        <property name="jobClass"
            value="com.batch.job.timdataimport.quartz.ImportJobDetail" />
        <property name="description" value="Fi01Import" />
        <property name="jobDataAsMap">
            <map>
                <entry key="jobName" value="jobImportFi01" />
            </map>
        </property>
    </bean>

1 个答案:

答案 0 :(得分:0)

这是我们在Quartz 2.3.0中使用的,它可以正常工作:

<bean id="job1" class="org.quartz.impl.JobDetailImpl">
  <property name="jobClass" value="com.quartzdesk.test.quartz.v2.TestJob"/>
  <property name="group" value="quartzdesk-test"/>
  <property name="name" value="Job1"/>
  <property name="description"
            value="Simple test job."/>

  <property name="durability" value="true"/>

  <property name="jobDataMap">
    <bean class="org.quartz.JobDataMap">
      <constructor-arg>
        <util:map>
          <entry key="jobKey01" value="value01"/>
        </util:map>
      </constructor-arg>
    </bean>
  </property>
</bean>

<bean id="job1Trigger"
      class="org.quartz.impl.triggers.CronTriggerImpl">
  <property name="name" value="Job1Trigger"/>
  <property name="group" value="quartzdesk-test"/>
  <property name="jobName" value="Job1"/>
  <property name="jobGroup" value="quartzdesk-test"/>
  <property name="description" value="Cron trigger that fires every 15 minutes."/>
  <property name="cronExpression" value="0 1/15 * * * ?"/>

  <property name="startTime" value="2016-01-01"/>

  <property name="calendarName" value="annualCalendar"/>

  <property name="jobDataMap">
    <bean class="org.quartz.JobDataMap">
      <constructor-arg>
        <util:map>
          <entry key="jobTriggerKey01" value="value01"/>
        </util:map>
      </constructor-arg>
    </bean>
  </property>
</bean>
相关问题