管理者の要求により、Tomcat アプリケーションで起動できる、CPU とデータベースを集中的に使用するスレッド (低い優先度で実行される) が長時間実行されています。
このスレッドにはシャットダウン フックを使用して、アプリケーションが強制的に停止された場合に終了する前にデータベースの状態をクリーンアップできるようにします。Control-C と Eclipse コンソールでのキャンセルを使用して、スタンドアロン モードで完全に動作します。
しかし、Tomcat の下で実行している場合、および次のことを行う場合:
$CATALINA_HOME/bin/shutdown.sh
サーブレット contextDestroyed メッセージが tomcat によって送信されることをデバッグ ログで確認しましたが、このスレッドでは、メッセージでメッセージを停止する方法はありません。重要な点は、シャットダウン フックが起動しないことです。
他の人がcontextDestroyedメッセージを使用していると言っていることに気づきましたが、それは私にはうまくいきません。また、いくつかの質問と回答は、Tomcatでシャットダウンフックが機能することを示唆しています。
Tomcat 6.0.35 を使用しています。