я вижу следующее сообщение об ошибке во время остановки Tomcat:Как исправить org.apache.derby.jdbc.AutoloadedDriver не удалось отменить регистрацию при завершении Tomcat?
Jan 04, 2015 4:14:31 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [] registered the JDBC driver [org.apache.derby.jdbc.AutoloadedDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Я понимаю, Tomcat принудительно незарегистрированный драйвер, чтобы предотвратить утечку памяти.
Однако, как исправить и кто несет ответственность за исправление этой проблемы - я, Tomcat DBCP или Derby?
Я использую Tomcat 7.0.47 и Derby 10.11.1.1
context.xml для Tomcat:
<Context>
<Resource name="jdbc/db" auth="Container" type="javax.sql.DataSource"
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
maxActive="100"
minIdle="2"
maxIdle="30"
maxWait="10000"
validationQuery="VALUES 1"
testOnBorrow="true"
removeAbandoned="true"
url="jdbc:derby:dev;create=true"
username="root"
password="root"
/>
</Context>
Подобные вопросы, которые я нашел на Google ссылается DERBY-4895, но этот вопрос было исправлено некоторое время назад.
где вы развернули банку? – eckes
Я использую плагин Maven Tomcat, чтобы выполнить встроенное развертывание для тестов интеграции. –
Некоторые интересные идеи в этом смежном вопросе: http://stackoverflow.com/questions/3320400/to-prevent-a-memory-leak-the-jdbc-driver-has-been-forcibly-unregistered –