Я использую HSQLDB с одним DB и 4 таблицами. Я использую общий источник данных для пула Apache.Одновременное подключение к HSQLDB - вызов никогда не возвращается
Сценарий выглядит следующим образом:
Таблицы 1-3 Обновление в одной транзакции, таким образом, на одной и той же связи (различные SQL statents). Они используют auto commit false и вызывают executeUpdate() и executeBatch(). В конце этой транзакции иногда (не каждый раз) вызывается «контрольная точка».
Таблица 4 обновляется Одновременно с другими, но с использованием другого соединения. Обновляет пакет, а затем всегда вызывает «контрольную точку». На этой контрольной точке все зависает, вызов никогда не возвращается и доступ к любой таблице в этой БД невозможен. В файле журнала я вижу, что «контрольная точка» для этих четвертых таблиц никогда не появляется.
Может быть, я не могу выполнить контрольную точку, пока есть открытое соединение, использующее auto commit = false?
Может быть, тупик?
Я понятия не имею, в чем проблема ... Без этой таблицы №4 все работает нормально.
Что происходит, когда вы оставляете «контрольную точку» (что не должно быть необходимо в любом случае) –
Без этого остальная часть кода работает, я должен добавить контрольную точку, потому что я хочу, чтобы она была вставлена в БД, а затем кэшируется. – Sophie
HSQLDB при необходимости очистит данные на диске. Просто убедитесь, что вы правильно держите двигатель. –