检测 Quartz 中的 Misfire 指令 API+Spring

Detect Misfire Instruction in Quartz API+Spring

我正在使用 Quartz API 来安排一个从 server.It 收集一些数据的作业,每 5 minutes.This 发送心跳是我的配置文件。

<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>

当调度程序无法发送心跳时。我想在可配置的时间内重试心跳(在我的配置文件中指定)。如何在配置文件中指定失火时间?

而不是 xml。您可以在 Java class 本身中完成。

try {
        //--------Some operation-------------------
    } catch (Exception e) {
        JobExecutionException e2 = new JobExecutionException(e);
        // -- some logging operations----
        LOGGER.log("------------InterruptedException-----------" + e);
        e2.setRefireImmediately(true);
        throw e2;
    }