私たちのアプリケーションでは、通常、アプリケーション全体で使用されるいくつかのリソース (ユーティリティ) があります。たとえば、それは apacheHttpClient
である可能性があります。私の場合は、集中的なタスクConcurrencyUtils
のすべてのスレッド プールを管理するユーティリティ クラスです (リアクティブのスケジューラを追加します)。ストリームなど...たくさんのカスタムのもの)。cpu
io
春にコンテキストを初期化するとき、このような不自然なことをしなければなりません(静的リソースを初期化して破棄するため)
ConcurrencyUtil
使用しない単なる偽のクラスであることに注意してください。使用することはありませんが、静的メソッドを使用します。ConcurrencyUtils
このクラスは、init と destroy が呼び出されることを保証するだけです (すべての Bean が呼び出された後に destroy が呼び出されることを保証する方法がわかりません)。破壊されました)...
では、Spring コンテキストが Bean を作成する前と、Spring コンテキストがすべての Bean を解放した後 (そしてそれ自体が再利用可能になろうとしているとき) に、コードを実行するにはどうすればよいでしょうか?
春に静的リソースを初期化して解放する正しい方法は何ですか?