Контроль перед выполнением задания
Я всем, я работаю над проектом с работой. я возьму один для примера: у меня есть файл 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 и управлять работой динамически? благодарю вас