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