Update: Apparently Tomcat, starting with 7.0.11, closes the DataSource for you, so it’s not available in the webapp’s contextDestroyed. See: https://issues.apache.org/bugzilla/show_bug.cgi?id=25060
Hi,
I’m using Spring 3.0 and Java 1.6.
If I get a data source this way:
<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>
then the data source is closed when the bean is destroyed.
If I get the data source like this:
<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/db" />
then do I have to explicitly close the data source in my contextDestroyed listener?
Thanks,
Paul
I disagree. I would add a listener to your web.xml and implement the contextDestroyed() method. This method will get called by your web container/app server when the web app is destroyed or undeployed. Within the contextDestroyed(), I would close the datasource.
inside the web.xml
The code: