Tomcat Web应用程序仅在我在/ manager页面中显式启动后才能运行

时间:2013-05-10 21:43:10

标签: java web-services web-applications tomcat7

我在tomcat中部署了这个Web应用程序。虽然在机器重启并且一切都加载后它不会自动启动。它只适用于我进入管理器页面并从那里启动它或重新启动tomcat服务。

我收到Error Startlistener和Severe消息:

  

Web应用程序[Web应用程序]注册了JDBC驱动程序   [net.sourceforge.jtds.jdbc.Driver]但无法取消注册   Web应用程序已停止。为了防止内存泄漏,JDBC   司机被强行取消注册。

有没有人遇到过同样类型的问题?我已经没有调试想法了。

1 个答案:

答案 0 :(得分:4)

在我看来,你有一个导致内存泄漏的JDBC驱动程序,导致Tomcat抛出该错误。 Tomcat 7具有Memory Leak检测和预防机制,如果您的驱动程序已在启动时注册但未在终止后取消注册,则会向您发出警告。两个建议:

  1. 明确注销驱动程序:

    // Example: DriverManager.getDriver("jdbc:mysql://localhost:3306");
    java.sql.Driver mySqlDriver = DriverManager.getDriver("YOUR DRIVER");
    DriverManager.deregisterDriver(mySqlDriver);
    
  2. 在Tomcat上使用JDBC connection pool

  3. 我个人更喜欢connection pool。另请查看有关您的listenerStart问题的Apache Tomcat 7: Error listenerStart msg