2

WebSphere Application Server のドキュメントの 1 つに以下のコメントがあります。私は耳のレベルでアプリケーションコンテキストを持っておりClassPathXmlApplicationContext、のサブクラスであるを使用していAbstractApplicationContextます。ただし、これは推奨されません。私のオプションは何ですか?耳のレベルで活用できるライフサイクル フックは何ですか? また、落とし穴や教訓があれば含めてください。

次のシナリオは、避けるべき Spring Framework シナリオの例です。

registerShutdownHook

Spring Framework の AbstractApplicationContext クラスとそのサブクラスの使用は避けてください。これらのクラスには、パブリック メソッド registerShutdownHook が含まれています。これは、スレッドを作成し、それを Java 仮想マシン (JVM) に登録して、シャットダウン時に実行し、アプリケーション コンテキストを閉じます。別の方法として、アプリケーションは、アプリケーション サーバー コンテナから受信したライフサイクル通知を使用して、アプリケーション コンテキストで明示的に close メソッドを呼び出すことができます。

4

1 に答える 1

3

関連する問題で説明されているように、Singleton Session Bean (WebSphere 8+ の場合) またはStartup Bean (古い Websphere バージョンの場合) を使用します。

AbstractApplicationContext閉じるアノテーションが付けられたSingleton Session Beansメソッドを作成できます。@PreDestroy

メソッドStartup Beansで同じことができるからです。stop()

于 2012-11-21T22:04:44.250 に答える