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