Утечка из пула соединений DBCP Tomcat - PullRequest
3 голосов
/ 03 ноября 2010
<Resource name="myConn" auth="Container"
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
              url="jdbc:oracle:thin:@10.10.10.10.:1521:mydb"
              username="username" password="password" maxActive="500" maxIdle="50"
              maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="60"     logAbandoned="true" accessToUnderlyingConnectionAllowed="true"
/>

Я пытаюсь выяснить области приложения, где соединения НЕ закрываются. Я добавил предложения removeAbandoned и logAbandoned в свой контекстный файл, но если я проверяю v $ session на oracle, он по-прежнему показывает то же количество активных соединений даже через 60 секунд. Что-то не так в конфигурации выше?

1 Ответ

2 голосов
/ 03 ноября 2010

Я бы установил maxActive на меньшее значение, например, 50, а затем проверил, работает ли конфигурация правильно. В соответствии с документами в пуле соединений должен быть низкий уровень, чтобы выполнить проверку на отсутствие соединений:

Когда доступные соединения дБ заканчиваются DBCP восстановит и переработает любой он обнаружил прерванные соединения дБ.

Я бы также изменил removeAbandonedTimeout на 20, чтобы вам не пришлось долго ждать, чтобы проверить, работает ли детектор нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...