Использование Hibernate в веб-приложении struts2 при повторном развертывании приложения Я получаю эту ошибку при попытке получить доступ к страницам после повторного развертывания.
java.lang.IllegalStateException: Timer already cancelled.
Сразу после повторного развертывания журнала tomcat следующий вывод, указывающий на причину проблемы, заключается в том, что Hibernate не завершает работу должным образом при завершении работы первого экземпляра веб-приложения.
Oct 15, 2010 8:58:34 PM org.apache.catalina.loader.WebappClassLoader clearReferencesStopTimerThread
SEVERE: A web application appears to have started a TimerThread named [Timer-0] via the java.util.Timer API but has failed to stop it. To prevent a memory leak, the timer (and hence the associated thread) has been forcibly cancelled.
Я добавил ContextListener со следующим в методе contextDestroyed следующим образом, но это не имело никакого эффекта.
@Override
public void contextDestroyed(ServletContextEvent arg0) {
HibernateUtil.getSessionFactory().close();
}
Что еще я могу сделать, чтобы предотвратить эту ошибку?