2014-06-24 5 views
0
java.lang.Object.wait(Native Method) 
java.lang.Object.wait(Object.java:485) 
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:810) 
org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:180) 
java.sql.DriverManager.getConnection(DriverManager.java:582) 
java.sql.DriverManager.getConnection(DriverManager.java:207) 

Приложение не отвечает на рабочем сервере.Apache-Commons-DBCP Issue

подтвердил, что соединение закрыто должным образом в блоке finally. Каковы возможные сценарии для этой ситуации

ответ

0

Основываясь на небольшой информации, которую вы указали выше, я бы сказал, что вы превысили максимальную емкость пула. Трассировка стека, которую вы вставили, показывает wait() после borrowObject. Для меня это означает, что у вас есть куча открытых/активных подключений, а borrowObject ждет подключения, которое будет возвращено в пул.

+0

Да, я думал то же самое и подтвердил, что соединение возвращается обратно в пул в конце блока. –

+0

Попробуйте следующее: 1. запуска приложения 2. сделать запрос DB 3. сделать нить дамп 4. сделать кучу БД просит 5. сделать нить дамп У вас есть несколько Пакетирования похожего на оригинал, который вы опубликовали? – Muel