次の問題が
あります。Tomcat で Web アプリケーションの一部としてロードされたさまざまなクラスからクリーンアップ コードを実行する必要があります。
クリーンアップ コードは、シャットダウンexecutors
からデータベース クリーンアップ コードまで多岐にわたります。
私は試してみて、次のことを発見しました(そして、これがそのように文書化されていることを後で知りました):
ServletContextListeners にコンテキストの破棄が通知される前に、すべてのサーブレットとフィルターが破棄されます。
したがって、これにより、クリーンアップ コードを any で実行することが除外されますServletContextListeners
。のメソッドに
クリーンアップ コードを配置しましたが、クライアントがその使用を必要としない場合、ロードされないため、メソッド内のクリーンアップ コードが実行されないことに気付きました。
だから今私は立ち往生しています。
たとえば、クリーンアップ コードを Web アプリケーションに配置するのに最適な場所はどこですか? destroy
Servlet
destroy
servlet
listener