Несколько экземпляров Hibernate с использованием C3P0

Я сталкиваюсь со странной проблемой, и кажется, что она связана с c3p0. Я запускаю два экземпляра приложения в том же Java-VM, которые взаимодействуют друг с другом. После некоторых операций в журнале появляются сообщения "APPARENT DEADLOCK".

У меня такое ощущение, что оба экземпляра приложения используют один и тот же пул соединений, хотя они используют разные экземпляры фабрики сеансов.

Может ли быть какая-то "магия синглтона", связанная с C3P0?

1 ответ

Насколько я знаю, здесь нет ни одного синглета. Каждый экземпляр источника данных настраивается / создается / управляется отдельно.

Кроме того, использование одного и того же источника данных из нескольких сеансовых фабрик не должно вызывать каких-либо проблем (при условии соответствующей конфигурации, достаточного количества соединений и т. Д., Но это не относится к этому вопросу).

Вы пытались увеличить количество вспомогательных потоков и установить для maxAdministrativeTaskTime ненулевое значение, как описано здесь?

Другие вопросы по тегам