Я использую пул соединений dbcp в Tomcat (версия 7), и у меня есть утечка соединения где-то в моем коде.Через короткое время запрос на новое соединение возвращает следующее исключение:
"Не удается получить соединение, ошибка пула Тайм-аут ожидания незанятого объекта"
Я вернулся через свой коди мне кажется, что все соединения закрываются должным образом (не все так говорят ...).
Чтобы отладить это, я добавил следующие свойства в context.xml:
logAbandoned="true" removeAbandoned="true" removeAbandonedTimeout="300"
Итак, тег ресурса теперь выглядит следующим образом:
<Resource name="jdbc/findata" auth="Container" type="javax.sql.DataSource"
maxActive="20" maxIdle="5" maxWait="10000"
username="root" password="xxxxxx" driverClassName="com.mysql.jdbc.Driver"
logAbandoned="true" removeAbandoned="true" removeAbandonedTimeout="300"
url="jdbc:mysql://localhost:3306/findata"/>
Затем я перезапустил tomcat и начал посещать веб-страницы, пока не появилось сообщение об ошибке (в окне браузера).Однако я еще не смог выяснить, где свойство logAbandoned записывает свою информацию.Я смотрю в
/usr/share/apache-tomcat-7.0.11/logs
, но единственный недавно измененный файл журнала там
localhost_access_log.2011-04-18.txt
Любая помощь очень ценится.