4

この Web アプリケーションを Tomcat にデプロイしました。マシンが再起動してすべてがロードされた後、自動的には開始されませんが。マネージャーページに移動してそこから開始するか、Tomcat サービスを再起動した場合にのみ機能します。

Error Startlistener と Severe メッセージが表示されます。

Web アプリケーション [Web アプリケーション] は JDBC ドライバー [net.sourceforge.jtds.jdbc.Driver] を登録しましたが、Web アプリケーションの停止時に登録解除に失敗しました。メモリ リークを防ぐために、JDBC ドライバーは強制的に登録解除されています。

誰かがこの同じタイプの問題を経験しましたか? 私はデバッグのアイデアを使い果たしました。

4

1 に答える 1

4

メモリリークを引き起こし、TomcatにそのエラーをスローさせるJDBCドライバーがあるようです。Tomcat 7 にはMemory Leak、起動時に登録されていて、終了後に登録解除されていないドライバーがある場合に警告する検出および防止メカニズムがあります。2 つの提案:

  1. ドライバーを明示的に登録解除します。

    // Example: DriverManager.getDriver("jdbc:mysql://localhost:3306");
    java.sql.Driver mySqlDriver = DriverManager.getDriver("YOUR DRIVER");
    DriverManager.deregisterDriver(mySqlDriver);
    
  2. Tomcat でJDBC 接続プールを使用する

個人的にはconnection pool. また、リスナー開始の問題に関するApache Tomcat 7: Error listenerStart msgも参照してください。

于 2013-05-10T22:52:40.937 に答える