Когда вы получаете источник данных через поиск JNDI, это общий ресурс, настроенный в вашем контейнере. Он управляется контейнером, а не приложением, поэтому закрывать его не требуется (нет способа).
ление: по-видимому, Tomcat, начиная с 7.0.11, закрывает для вас DataSource, поэтому он не доступен в contextDestroyed веб-приложения. Видеть:https://issues.apache.org/bugzilla/show_bug.cgi?id=25060
Здравствуй,
Я использую Spring 3.0 и Java 1.6.
Если я получу источник данных таким образом:
<bean id="dataSource" class="my.data.Source" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:home"/>
<property name="username" value="user"/>
<property name="password" value="pw"/>
</bean>
затем источник данных закрывается при уничтожении компонента.
Если я получу источник данных, как это:
<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/db" />
тогда я должен явно закрыть источник данных в моем слушателе contextDestroyed?
Спасибо,
Павел