Когда соединение проверяется, обычно c3p0 не связывается с ним. Это в руках клиентов. Вы можете спать миллион лет, c3p0 не будет close()
, что Connection
, пока он не будет возвращен в управление c3p0.
Из этого правила есть одно важное исключение, что c3p0 не связывается с провереннымout Connection
- настройка c3p0 unreturnedConnectionTimeout . То есть предназначено специально для обхода и / или отладки клиентских приложений с утечками Connection
. Возможно, это именно тот параметр, который вы ищете.
В общем, c3p0 управляет жизненным циклом физического Connections
в соответствии с вашими настройками. maxConnectionAge
, maxIdleTime
, maxIdleTimeExcessConnections
, настройки и результаты тестирования подключений могут привести к тому, что физические подключения будут close()
ed , когда они находятся в ведении пула, а не клиента . Клиенты несут ответственность за close()
проверки подключений, которые они проверяют (что фактически не разрушает физический Connection
, а вместо этого возвращает его в пул).