2
我在Tomcat上運行的Web應用程序內部使用Apache Derby和Spring JdbcTemplate。與Derby斷開連接的彈簧
Spring正在管理數據源。我注意到,如果我更新.war文件和Tomcat取消部署/重新部署應用程序,我得到這個錯誤:
java.sql.SQLException: Another instance of Derby may have already booted the database /tmp/manager_db/manager.
重啓動Tomcat的解決了這個問題,但作爲一個純粹的,我想幹淨的東西當Web應用程序被取消部署時正常啓動。
嵌入式驅動程序似乎沒有'close'方法來放入'destroy-method'下的bean聲明。我知道關閉通常是使用「關閉」連接URL「jdbc:derby:; shutdown = true」來實現的。
有什麼建議嗎?
下面是我的數據源在Spring配置文件中的聲明(數據庫不會在/ tmp /下,現在就在那裏)。
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="url" value="jdbc:derby:/tmp/manager_db/manager;create=true"/>
<property name="username" value=""/>
<property name="password" value=""/>
</bean>
你知道嗎,我在碼頭遇到同樣的問題。 – 2011-04-10 19:01:07
我改變了它,以便Tomcat執行連接池。 – 2011-04-14 14:19:39