Я использую кварц для планирования своей работы (работаю над проектом maven с использованием Spring).
Я обновил кварц до версии 2.3.0 и изменил CronTriggerBean и JobDetailBean на CronTriggerFactoryBean и JobDetailFactoryBean, но с этой конфигурацией он не создает экземпляр задания при каждом запросе, как (cronexpression), он работал с первой конфигурацией (CronTriggerBean).
Должен ли я сделать некоторую реализацию?
кварц-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>
Это то, что мы используем с 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>
Да, именно туда он и относится :)
спасибо, один вопрос: в вашем классе com.quartzdesk.test.quartz.v2.TestJob вы установили @DisallowConcurrentExecution?