WebSphere Application Server のドキュメントの 1 つに以下のコメントがあります。私は耳のレベルでアプリケーションコンテキストを持っておりClassPathXmlApplicationContext
、のサブクラスであるを使用していAbstractApplicationContext
ます。ただし、これは推奨されません。私のオプションは何ですか?耳のレベルで活用できるライフサイクル フックは何ですか? また、落とし穴や教訓があれば含めてください。
次のシナリオは、避けるべき Spring Framework シナリオの例です。
registerShutdownHook
Spring Framework の AbstractApplicationContext クラスとそのサブクラスの使用は避けてください。これらのクラスには、パブリック メソッド registerShutdownHook が含まれています。これは、スレッドを作成し、それを Java 仮想マシン (JVM) に登録して、シャットダウン時に実行し、アプリケーション コンテキストを閉じます。別の方法として、アプリケーションは、アプリケーション サーバー コンテナから受信したライフサイクル通知を使用して、アプリケーション コンテキストで明示的に close メソッドを呼び出すことができます。