Tomcat에서 실행중인 웹 응용 프로그램 내에서 Spring JdbcTemplate과 함께 Apache Derby를 사용하고 있습니다.Derby에서 스프링 연결 해제
스프링이 데이터 소스를 관리하고 있습니다. 나는이 .WAR 파일과 톰캣 배포 취소를 업데이트하면/나는이 오류를 응용 얻을 재배포 것으로 나타났습니다 :
java.sql.SQLException: Another instance of Derby may have already booted the database /tmp/manager_db/manager.
는 Tomcat이 문제를 해결 다시 시작,하지만 순수 주의자로, 나는 물건을 청소하고 싶습니다 웹 응용 프로그램을 배포 취소 할 때 올바르게 작동합니다.
임베디드 드라이버에 'destroy-method'아래의 bean 선언을 넣는 'close'메소드가없는 것 같습니다. 나는 정상적으로 '종료'연결 URL "jdbc : derby :; shutdown = true"를 사용하여 종료가 이루어진다는 것을 알고 있습니다.
제안 사항?
내 데이터 소스에 대한 Spring 구성 파일의 선언은 다음과 같습니다 (db는/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>
너는 이것을 알아 냈는가, 나는 부두의 밑에 동일한 문제를 얻고있다. –
Tomcat이 연결 풀링을 수행하도록 변경했습니다. –