среда, 22 февраля 2006 г.

KB: Borrow prepareStatement from pool failed

Пока нет нашей KB, буду постить тут, иначе информация потеряется.
Проблема: Возникает Borrow prepareStatement from pool failed при работе DatabaseValidator. Возникает под DB2 8.1 и Firebird.
Варианты решений:
Нам удалось добиться "нормальной" (в смысле, что ничего не падало) работы двумя способами:
1. в hibernate.properties выставить все проперти, которые содержат слово 'batch' в 0 (числовые,
конечно).
2. Увеличить hibernate.dbcp.maxActive 40 (было 30) и уменьшить hibernate.dbcp.ps.maxActive 5 (было
30).
3. Теоретически можно сделать, чтобы транзакция коммитилась после каждого изменения, но хочется,
чтобы была возможность все откатить, а так - ее не будет.

Еще информация: ttp://www.hibernate.org/hib_docs/v3/reference/en/html/batch.html#batch-direct
Это про то, как на батч-директ переделать запросы. У нас не поддерживается пока.

Резюме: печально все. Проблему починили, оказывается, использованием версии DB2 8.2
Буду рыть, чего там в Firebird. Пользователь, как всегда, отправил нам только stackTrace, а не информацию со страницы с ошибкой, где видно, какая у него БД и операционка.

Комментариев нет:

Отправить комментарий