Контроль перед выполнением задания

Я всем, я работаю над проектом с работой. я возьму один для примера: у меня есть файл quartz-context.xml со следующими свойствами:

<bean id="jobImportFi01QuartzTrigger"
        class="org.springframework.scheduling.quartz.CronTriggerBean">
        <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.JobDetailBean">
        <property name="group" value="XXX" />
        <property name="jobClass"
            value="com.batch.job.import.quartz.ImportJobDetail" />
        <property name="description" value="Fi01Import" />
        <property name="jobDataAsMap">
            <map>
                <entry key="jobName" value="jobImportFi01" />
            </map>
        </property>
    </bean>

и класс ImportJobDetail:

public class ImportJobDetail extends AbstractJobDetail {

    @Override
    protected JobParameters setupJobParameters(JobParameters jobParameters, JobExecutionContext context,
            String jobName) {
        JobParametersBuilder builder = new JobParametersBuilder(jobParameters);

        builder.addString(ConfigManager.PARAM_MODE, ConfigManager.MODE_PERSIST);
        return builder.toJobParameters();
    }

}

я новичок весной и в четверть, и я хочу проверить, работает ли уже работа, прежде чем сохранить подробный отчет о работе на БД. Проблема заключается в том, что сначала в БД сохраняется запись с подробностями выполнения задания (время начала и время окончания ecc), а после того, как есть контроль, если задание уже запущено, установите значение состояния в записи на "СБОЙ" и остановите выполнение. но я хочу сделать контроль перед сохранением записи в БД, потому что, если у меня есть задание, которое выполняется каждые 5 секунд и, например, один раз, это занимает 1 час, я нахожу в БД много записей, установленных на СБОЙ, и одной на ЗАВЕРШЕНО (работа сперва выполнилась). я должен использовать SchedulerFactoryBean и управлять работой динамически? благодарю вас

0 ответов

Другие вопросы по тегам