我正在使用Quartz API来安排从服务器收集一些数据的作业。它每5分钟发送一次心跳。这是我的配置文件。
<bean id="abcJobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass"
value="com.vxl.appanalytix.abc.scheduling.abcStatusUpdateJob" />
<property name="jobDataAsMap">
<map>
<entry key="abcStatusUpdate" value-ref="abcStatusUpdate" />
<entry key="timeout" value="5" />
</map>
</property>
</bean>
<bean id="abcJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="abcJobDetailBean" />
<property name="cronExpression" value="0 0/10 * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="abcJobTrigger" />
</list>
</property>
</bean>
当调度程序无法发送心跳时。我想在可配置的时间内重试心跳(在我的配置文件中指定)。如何在配置文件中指定失火时间?
答案 0 :(得分:0)
而不是使用xml。您可以在Java类本身中完成它。
try {
//--------Some operation-------------------
} catch (Exception e) {
JobExecutionException e2 = new JobExecutionException(e);
// -- some logging operations----
LOGGER.log("------------InterruptedException-----------" + e);
e2.setRefireImmediately(true);
throw e2;
}