CronTriggerFactoryBean не работает с новой версией - PullRequest
0 голосов
/ 17 января 2019

Я использую кварц для планирования своей работы (работаю над проектом maven с помощью Spring).

Я обновил кварц до версии 2.3.0 и изменил CronTriggerBean и JobDetailBean в CronTriggerFactoryBeanи JobDetailFactoryBean но с этой конфигурацией он не создает экземпляр задания при каждом запросе, например (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 голосов
/ 18 января 2019

Это то, что мы используем с 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>
...