spring - CronTriggerFactoryBean 不适用于新版本
问题描述
我使用石英来安排我的工作(使用 Spring 处理 maven 项目)。
我将quartz更新到2.3.0
版本并更改了CronTriggerBean
and JobDetailBean
in CronTriggerFactoryBean
,JobDetailFactoryBean
但是使用此配置,它不会像(cronexpression)那样在每个请求时间实例化作业,它与第一个配置(CronTriggerBean
)一起使用。
我必须做一些实施吗?
石英上下文.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>
推荐阅读
- azure - 为 Windows VM 调用 AzureRMVMRunCommand
- java - 如果对具体类进行更改,是否依赖接口而不是具体类会减少 Java 中的编译时间?
- python - Can't import module from subdirectory
- sql - SQL - 特定名称字段的响应时间计数范围
- java - What does the statement Object[][] data = new Object [][] mean?
- sql - Physical Pkey in Fact table
- github - 当我使用 git add 'sampleFile.txt' 时,Git 给了我'Permission Denied'
- java - 获取2个字符串的重复值并计算它们
- haskell - 在 Haskell 中执行断言
- html - 在 Blogger 中从正文中删除背景