Одна из проблем, после выполнения заданий, quartz удаляет задания из таблицы qrtz_triggers базы данных, но в конкретной ситуации необходимо повторить выполненную работу.
Являются ли какие-либо параметры конфигурации или способ хранения заданий в другой таблице после выполнения?
благодаря
Если вы используете JDBCJobStore
, ваши задания хранятся в таблице типа QRTZ_JOB_DETAILS
, а ваши простые триггеры хранятся в QRTZ_SIMPLE_TRIGGERS
, ваши QRTZ_SIMPLE_TRIGGERS
cron хранятся в QRTZ_CRON_TRIGGERS
, и все триггеры хранятся в QRTZ_TRIGGERS
.
Если вы ожидаете, что ваша работа прочная и останется, когда триггеры не связаны с заданием, вы должны вызвать storeDurably(true)
при создании JobDetail. Например:
JobDetail jobDetail = JobBuilder.newJob()
.ofType(DataMapJob.class)
.withIdentity("dataJob", "dataJobGroup")
.storeDurably(true)
.requestRecovery(true)
.build();
Надеюсь, поможет.
Это именно то, для чего нужен прочный флаг. Прочные задания остаются зарегистрированными в Quartz, даже если нет триггеров, связанных с работой. С другой стороны, задания, не связанные с длительностью, автоматически удаляются Quartz, где нет связанных триггеров (например, после того, как все связанные триггеры запущены и были удалены Quartz).
Для получения дополнительной информации вы можете обратиться к JobDetailImpl javadoc.