1

私たちのアプリケーションでは、通常、アプリケーション全体で使用されるいくつかのリソース (ユーティリティ) があります。たとえば、それは apacheHttpClientである可能性があります。私の場合は、集中的なタスクConcurrencyUtilsのすべてのスレッド プールを管理するユーティリティ クラスです (リアクティブのスケジューラを追加します)。ストリームなど...たくさんのカスタムのもの)。cpuio

春にコンテキストを初期化するとき、このような不自然なことをしなければなりません(静的リソースを初期化して破棄するため)

ここに画像の説明を入力

ConcurrencyUtil使用しない単なる偽のクラスであることに注意してください。使用することはありませんが、静的メソッドを使用します。ConcurrencyUtilsこのクラスは、init と destroy が呼び出されることを保証するだけです (すべての Bean が呼び出された後に destroy が呼び出されることを保証する方法がわかりません)。破壊されました)...

ここに画像の説明を入力

では、Spring コンテキストが Bean を作成する前と、Spring コンテキストがすべての Bean を解放した後 (そしてそれ自体が再利用可能になろうとしているとき) に、コードを実行するにはどうすればよいでしょうか?

春に静的リソースを初期化して解放する正しい方法は何ですか?

4

1 に答える 1