О сбое сообщили в планировщике Quartz 2.2.2 - PullRequest
0 голосов
/ 08 марта 2019

Я получаю ниже ошибка java.sql.SQLIntegrityConstraintViolationException: ORA-00001: уникальное ограничение (QRTZ_FIRED_TRIGGER_PK) нарушено

Я не уверен, почему это не получится из-за этих двух (SCHED_NAME, ENTRY_ID) pkey,Имя Sched_name всегда одинаково для всех заданий, а ENTRY_ID генерируется самим Quartz.

Может кто-нибудь помочь мне выяснить, как создается этот ENTRY_ID и в каком сценарии это может вызвать сбой PK.

Естьнесколько кварцевых заданий, запланированных на один и тот же интервал в моем приложении.

1 Ответ

0 голосов
/ 14 мая 2019

ENTRY_ID определяется instanceId вашего узла с добавленным счетчиком.(например, «mynode1557833519480»)

Это может произойти, если в вашем кластере два узла с одинаковым instanceId.

Убедитесь, что instanceIds уникальны.Из документации Quartz:

org.quartz.scheduler.instanceId

Может быть любой строкой, но должна быть уникальной для всех планировщиков, работающих так, как если бы они былитот же «логический» планировщик внутри кластера.Вы можете использовать значение «AUTO» в качестве instanceId, если хотите, чтобы Id был сгенерирован для вас

(Счетчик инициализируется с текущим временем, поэтому, если системные часы были возвращены на некоторое времяточка, это тоже может случиться)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...