Я использую Eclipse для разработки веб-приложения на Java, и мой ИТ-отдел позвонил и сказал, что у меня более 75 открытых оракуловых подключений к Oracle Server для разработки, происходящих с моего ПК.В развернутом приложении уже год используется один и тот же компонент синглтон-соединения, и у меня не было проблем с превышением количества подключений.Он даже подтвердил, что у меня было только 4 открытых соединения на сервере развертывания.Что-то происходит, когда я развиваюсь локально в Eclipse.
Глядя на выходные данные отладки консоли, все выглядит хорошо при первоначальном запуске
Sep 27, 2010 9:39:08 AM org.apache.catalina.startup.Catalina start
== no ConnCache Bean instance found
== Initializing Connection Cache Data Src
== About to load the properties
== Initializing Datasource for using jdbc:oracle:thin:@hostname:port:oracle-sid
== Reading property file
== Setting InitialLimit to 3
== Properties {TimeToLiveTimeout=4, MinLimit=4, ConnectionWaitTimeout=44, MaxLimit=5, InitialLimit=3, AbandonedConnectionTimeout=281, InactivityTimeout=269}
Но затем я заметил следующее сообщение SEVERE в консоли, когда Eclipse перезагружает контекст
Sep 27, 2010 9:40:38 AM org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
Sep 27, 2010 9:40:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [] registered the JBDC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister
it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Sep 27, 2010 9:40:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [] appears to have started a thread named [Thread-9] but has failed to stop it.
This is very likely to create a memory leak.
Я предполагаю, что Eclipse воссоздает кэш соединений каждый раз, когда он перезагружает контекст, а старые соединения и кеш не разрушаются.Как я могу заставить Eclipse завершить кеш или закрыть все предыдущие соединения, когда контекст перезагружается.При необходимости я могу опубликовать свой класс connectionBean.