Я создаю главный cronjob для запланированного времени, из этого задания я создаю 10 заданий simpletrigger без задержки, и для каждого задания простейшего создателя создаю еще один набор из 100 заданий.
Я использую Spring и мой размер пула потоков равен 30, я использую базу данных h2, JobStoreTX, StdJDBCDelegate для подключения к базе данных. Мое приложение - это отдельная Java-программа, которая запускает основную работу.
Создан первый набор подробностей задания / триггера в таблицах qrtz. когда он выполняет первое простое подзадание, охватывающее подзадачу, он получает блокировку таблицы на триггере и записях задания.
В чем может быть проблема?
Исключение составляет:
"Вызвано: org.h2.jdbc.JdbcSQLException: обнаружена взаимоблокировка. Текущая транзакция была отменена. Детали:"
Сеанс # 64 (пользователь: SA) ожидает блокировки PUBLIC.QRTZ_SIMPLE_TRIGGERS при блокировке PUBLIC.QRTZ_TRIGGERS (эксклюзив).
Сессия № 67 (пользователь: SA) ожидает блокировки PUBLIC.QRTZ_TRIGGERS при блокировке PUBLIC.QRTZ_SIMPLE_TRIGGERS (эксклюзив). "; Оператор SQL:
INSERT INTO qrtz_SIMPLE_TRIGGERS (TRIGGER_NAME, TRIGGER_GROUP, REPEAT_COUNT, REPEAT_INTERVAL, TIMES_TRIGGERED) VALUES (?,?,?,?,??) [40001-132]
в org.h2.message.DbException.getJdbcSQLException (DbException.java:316)
в org.h2.message.DbException.get (DbException.java:167)
в org.h2.message.DbException.get (DbException.java:144)
в org.h2.table.RegularTable.doLock (RegularTable.java:435)
at org.h2.table.RegularTable.lock (RegularTable.java:382) "