EJB 3.x モジュールに関する考慮事項

Enterprise JavaBeans (EJB) 3.x のモジュールを使用する場合は、以下のことを考慮してください。

バージョン 8.0 は、EJB 3.x レベルのモジュール内の 1.x と 2.x のエンティティー Bean をサポートしていません。

IBM®WebSphere® Application Server バージョン 8.0 は、EJB 3.x レベルのモジュール内の 1.x および 2.x Bean 管理パーシスタンス (BMP) およびコンテナー管理パーシスタンス (CMP) エンティティー Bean をサポートしていません。EJB エンティティー Bean は V8.0 上で使用できますが、それらの Bean は EJB 2.1 またはそれよりも前のレベルのモジュールにパッケージされている必要があります。

EJB 3.x レベルのモジュール内の EJB エンティティー Bean と一緒にパッケージされている Java™ Platform, Enterprise Edition (Java EE) アプリケーションは、バージョン 8.0 へのインストールに失敗します。

EJB Java アーカイブ (JAR) ファイルは、以下のいずれかに該当する場合は EJB 3.x モジュールと見なされます。
  • EJB JAR ファイルに、EJB 3.0 または EJB 3.1 のヘッダー仕様を持つ ejb-jar.xml ファイル内に構成データが含まれている場合。以下に例を示します。
    <ejb-jar id="ejb-jar_ID" version="3.0"
          xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
  • EJB JAR ファイルに、構成データを提供する EJB 3.x スタイルのソース・アノテーションを持つ Bean が含まれていて、ejb-jar.xml デプロイメント記述子ファイルが含まれていない場合。

EJB 2.x モジュールおよびそれよりも前のモジュールを使用して、EJB 3.x モジュールを再パッケージする必要があります。そうしなかった場合、エンティティー Bean を含むすべてのアプリケーションのインストールは失敗します。

アノテーション

アノテーションとデプロイメント記述子のいずれを使用するか、あるいはその両方を使用するかについて検討します。 アノテーションについて詳しくは、トピックの『EJB 3.x メタデータのアノテーション (EJB 3.x metadata annotations)』を参照してください。

EJB モジュール

WebSphere Application Server バージョン 8.0 では、ejb-jar.xml デプロイメント記述子が 1.1、2.0、2.1、3.0、または 3.1 レベルで宣言されている EJB モジュールの Java アーカイブ (JAR) ファイル、または ejb-jar.xml デプロイメント記述子が存在しない EJB モジュール JAR ファイルがサポートされます。 デプロイメント記述子が存在しない場合、EJB モジュールは 3.0 以上のレベルであると想定されます。

EJB 3.x の Bean が格納されている EJB モジュールは、EJB 3.0 または EJB 3.1 レベルで宣言する必要があります。 これは、ejb-jar.xml デプロイメント記述子のレベルを 3.0 または 3.1 に設定するか、モジュールに ejb-jar.xmlデプロイメント記述子を含めないようにして行えます。モジュール・レベルが 2.1 以下の場合、アノテーション・スキャンやリソース注入などの EJB 3.x 固有の機能は実行されません。

エンティティー Bean は、EJB 3.x レベルのモジュールではサポートされていません。2.1 またはそれよりも前のレベルにある EJB モジュールにエンティティー Bean を格納する必要があります。

デプロイメント記述子を使用して EJB 3.x モジュールをパッケージ化するには、いくつかの方法があります。EJB 3.x モジュールを、EJB 3.x スタイルのセッションやメッセージ駆動型 Bean とだけパッケージ化するか、EJB 2.1 スタイルのセッションやメッセージ駆動型 Bean とだけパッケージ化するか、または 2.1 スタイルの Bean と 3.x スタイルの Bean の組み合わせとパッケージ化します。XML デプロイメント記述子は、バージョン 3.0 または 3.1 デプロイメント記述子である必要があります。 2.1 エンティティー Bean を 2.1 デプロイメント記述子を使用してモジュールにパッケージ化する必要があります。EJB 3.x Bean を含む EJB モジュールは、製品上で実行する場合、EJB 3.0 または EJB 3.1 仕様レベルになっている必要があります。EJB モジュールを EJB 3.x Bean をサポートするように準備します。これは、ejb-jar.xml デプロイメント記述子のレベルを 3.0 または 3.1 に設定して行いますが、モジュールに ejb-jar.xml デプロイメント記述子を含めないようにすることもできます。モジュールが EJB 2.1 以前のレベルになっている場合、実行時には、アノテーション・スキャンまたはリソース注入の組み込みを含めて、どのような EJB 3.x 機能も実行されません。

Java EE アプリケーション・クライアント・モジュール

本製品は、Java EE アプリケーション・クライアント・モジュールをサポートしています。また、クライアント・コンポーネントへの EJB 参照の注入が @EJB アノテーションを通して定義されている場合は、この注入がサポートされます。

重要: EJB 3.x では、それ自体のエンタープライズ Bean を作成するエンタープライズ Bean の注入はサポートされていません。 それ自体のエンタープライズ Bean を作成するエンタープライズ Bean を注入しないでください。

Java EE クライアント・コンポーネント記述子から EJB 3.x ビジネス・インターフェースへの ejb-ref 参照の定義

application-client.xml 記述子から、EJB 3.x ビジネス・インターフェースをポイントする ejb-ref を定義できます。EJB 3.x ビジネス・インターフェースには、ホームを使用しないで直接アクセスしますが、Java EE の ejb-ref エレメントでは、ホーム・インターフェースのタイプを指定する必要があります。したがって、ejb-ref 定義に <home></home> スタンザを組み込み、以下の例のようにヌル値を指定する必要があります。<remote> スタンザの値には、EJB 3.x ビジネス・インターフェース・クラス名を指定します。また、バインディング値を設定する場合は、アプリケーションのインストール中、またはツールを使用して、EJB 3.x ビジネス・インターフェースがバインドされた場所を指定します。

例えば、クライアント・コンポーネントの application-client.xml ファイル内の ejb-ref は、次のコード・サンプルのようになります。
<ejb-ref id="EJBRef_1">
		<ejb-ref-name>java_comp-env_name_of_ref</ejb-ref-name>
					<ejb-ref-type>Session</ejb-ref-type>
		<home></home>
	<remote>com.ejbs.business.interface.class.name</remote>
</ejb-ref>
ibm-application-client-bnd.xmi ファイル内の対応するセクションは、以下のコード例のようになります。 ここでは、デフォルトの EJB バインディング・パターンが使用されます。デフォルトの EJB バインディング規則については、トピックの『EJB 3.x アプリケーション・バインディングのサポート (EJB 3.x applications binding support)』を参照してください。
<ejbRefBindings xmi:id="EjbRefBinding_1"
         jndiName=EJB3App/EJB3Mod.jar/MyBean##com.ejbs.business.interface.class.name">
		<bindingEjbRef href="application-client.xml#EjbRef_1"/>
</ejbRefBindings>

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_consid
ファイル名:rejb_consid.html