2011-01-24 6 views
3

私たちは、サーバーサイドがEARアプリケーションであり、いくつかのSession BeansがAPIを公開しているクライアント/サーバーアプリケーションを構築しようと考えています。 EJBモジュール内のWebモジュール用のServletContextListenerのようなものがあるかどうかを知りたいので、サーバー側のアプリケーションがいつ開始されるかを知ることができます。EJBアプリケーションの起動時にイベントが発生していませんか?

ありがとうございます。

答えて

4

JEE5では、他には何もありません。 ServletContextListenerは、ポータブルなベストソリューションです。

JEE6では、シングルトンEJBを使用できます。 @Startupを使用してシングルトンEJBに注釈を付けることができ、アプリケーションの起動時にEJBが作成されます。したがって、WARコンポーネントを持たない「純粋なEJB」アプリケーションの場合、これがそのような仕組みになります。

0

私は意識していません。 this related questionを参照してください。

EARがあるので、ServletContextListenerを使用できます。

2

ハルトゥンは基本的に正解ですが、まだ追加するパズルの小さな部分があるかもしれません。

EARには、複数のEJBモジュールとWebモジュールが含まれている場合があります。時折、どちらが最初に起動するのかを知る必要があることもあります。

EARのMETA-INFディレクトリのJava EE 6 application.xmlファイルに<initialize-in-order>true</initialize-in-order>を使用すると、これに関する確信が得られます。

リストされたモジュールの順番は、起動順序を決定します。特定の@Startupアノテーション付きSingletonは、最初または最後のモジュールが起動されたときに呼び出されます。

関連する問題