A EJB メタデータ・アノテーション・リファレンス

この付録では、EJBメタデータ・アノテーションのリファレンス情報を提供します。

EJB アノテーションの概要

WebLogic Server EJBプログラミング・モデルでは、Jakarta EEメタデータ・アノテーション機能を使用して、アノテーション付きEJB Beanファイルを作成し、標準Javaコンパイラでクラスをコンパイルします。生成されたクラスは、デプロイメント用のターゲット・モジュールにパッケージ化できます。実行時に、WebLogic Serverはアノテーションを解析して、必要な動作のアスペクトをBeanファイルに適用します。

EJB Beanファイルに指定できるメタデータ・アノテーションの詳細は、Jakarta EE Platform APIでパッケージ・サマリーを参照してください。

一部のアノテーションはjakarta.ejbパッケージに含まれています。つまり、EJBに固有のアノテーションです。それ以外のアノテーションは、より一般的で他のJakarta EEコンポーネントでも使用するアノテーションです。したがって、jakarta.annotationなどの一般的なパッケージに含まれています。参照:

ノート:

EJB実装で引き続きデプロイメント記述子を使用する場合は、『デプロイメント記述子を使用したJakarta Enterprise Beansの開発』EJBデプロイメント記述子を参照してください。

WebLogicアノテーション

この節では、WebLogicアノテーションのリファレンス情報を提供します。

weblogic.javaee.AllowRemoveDuringTransaction

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: クラス(ステートフル・セッションEJBのみ)

トランザクション中にインスタンスが削除できるかどうかを指定するフラグです。

ノート:

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のallow-remove-during-transaction要素によってオーバーライドされます。『デプロイメント記述子を使用したJakarta Enterprise Beansの開発』weblogic-ejb-jar.xmlデプロイメント記述子のリファレンスを参照してください。

weblogic.javaee.CallByReference

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: クラス(ステートフルまたはステートレス・セッションEJBのみ)

EJBがリモートから呼び出されたか同じEAR内から呼び出されたかに関係なく、パラメータをコピーするかどうか(または参照によって渡すかどうか)を指定するフラグです。

ノート:

メソッドのパラメータは、EJBがリモートで呼び出されたときには常に値で渡されます。このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のenable-call-by-reference要素によってオーバーライドされます。『デプロイメント記述子を使用したJakarta Enterprise Beansの開発』weblogic-ejb-jar.xmlデプロイメント記述子のリファレンスを参照してください。

weblogic.javaee.DisableWarnings

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: クラス

IDを指定した警告メッセージをWebLogic Serverが無効化するように指定します。

ノート:

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のdisable-warning要素によってオーバーライドされます。『デプロイメント記述子を使用したJakarta Enterprise Beansの開発』weblogic-ejb-jar.xmlデプロイメント記述子のリファレンスを参照してください。

属性

次の表で属性について簡単に説明します。

表A-1 weblogic.javaee.DisableWarningsの属性

名前 説明 データ型 必須?

WarningCode

警告コードを指定します。以下の4つの値のいずれかに設定します。

  • BEA-010001 - 警告メッセージ「EJB class loaded from system classpath during deployment.」を無効化します。

  • BEA-010054 - 警告メッセージ「EJB class loaded from system classpath during compilation.」を無効化します。

  • BEA-010200 - 警告メッセージ「EJB impl class contains a public static field, method or class.」を無効化します。

  • BEA-010202 - 警告メッセージ「Call-by-reference not enabled.」を無効化します。

String

はい

weblogic.javaee.EJBReference

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: クラス、メソッド、フィールド

EJB参照名をJNDI名にマップします。

属性

次の表で属性について簡単に説明します。

表A-2 weblogic.javaee.EJBReferenceアノテーションの属性

名前 説明 データ型 必須?

name

環境内で参照先EJBのルックアップに使用する名前を指定します。

この名前は、クラスおよびそのスーパークラスからなるデプロイメント・ユニット内でユニークでなければなりません。

String

はい

jndiName

WebLogic Serverで使用可能な実際のEJB、リソース、または参照のJNDI名を指定します。

String

はい

weblogic.javaee.Idempotent

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: クラス

同じメソッドを同じ引数で繰返し呼び出しても、1回の呼出しと同じ効果がもたらされるように記述されたEJBを指定します。これにより、フェイルオーバー・ハンドラは、失敗したサーバー上で実際に呼出しがコンパイルされるかどうかを知らなくても、失敗した呼出しを再試行できるようになります。あるメソッドについて多重呼出し不変を有効にした場合、EJBスタブは、EJBのホスト・サーバーに接続できるかぎり、あらゆる失敗から自動的に回復することができます。

ノート:

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のidempotent-methodおよびretry-methods-on-rollback要素によってオーバーライドされます。『デプロイメント記述子を使用したJakarta Enterprise Beansの開発』weblogic-ejb-jar.xmlデプロイメント記述子のリファレンスを参照してください。

属性

次の表で属性について簡単に説明します。

表A-3 weblogic.javaee.Idempotentの属性

名前 説明 データ型 必須?

retryOnRollbackCount

ロールバックされたコンテナ管理のトランザクションを自動的に再試行する回数。

この属性のデフォルトは0です。

int

いいえ

weblogic.javaee.JMSClientID

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: メソッド

JMS宛先に接続するときのMDBのクライアントIDを指定します。JMSトピックに対する恒久サブスクリプションで必須です。

weblogic.javaee.MessageDestinationConfigurationでMDBが使用する接続ファクトリを指定した場合、クライアントIDはconfig.xml内の関連付けられているJMSConnectionFactory要素のClientID要素で定義できます。

config.xmlJMSConnectionFactoryClientIDを指定しないか、デフォルト接続ファクトリを使用する(weblogic.javaee.MessageDestinationConfigurationを指定しない)場合、MDBはjms-client-id値をそのクライアントIDとして使用します。

ノート:

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のjms-client-id要素によってオーバーライドされます。『デプロイメント記述子を使用したJakarta Enterprise Beansの開発』weblogic-ejb-jar.xmlデプロイメント記述子のリファレンスを参照してください。

属性

次の表で属性について簡単に説明します。

表A-4 weblogic.javaee.JMSClientIDの属性

名前 説明 データ型 必須?

value

クライアントID。

String

いいえ

generateUniqueID

MDBのすべてのインスタンスについて、EJBコンテナでユニークなクライアントIDを生成するかどうかを示すフラグ。このフラグを有効にすると、WebLogic Serverクラスタ内の複数のサーバー・インスタンスへの恒久MDBのデプロイが容易になります。

Class

いいえ

weblogic.javaee.JNDIName

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: クラス(ステートフルまたはステートレス・セッションEJBのみ)

特定のクライアント・ビューのBeanクラスに適用可能なカスタムJNDI名を指定します。インタフェースなしのビューのJNDI名を示すためにBeanクラスに適用する場合、classNameは省略可能です。

ノート:

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のjndi-binding要素によってオーバーライドされます。『デプロイメント記述子を使用したJakarta Enterprise Beansの開発』weblogic-ejb-jar.xmlデプロイメント記述子のリファレンスを参照してください。

属性

次の表で属性について簡単に説明します。

表A-5 weblogic.javaee.JNDINameの属性

名前 説明 データ型 必須?

classname

クライアント・ビューのクラス名。

String

いいえ

value

クライアント・ビューのJNDI名。

String

いいえ

weblogic.javaee.JNDINames

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: クラス(ステートフルまたはステートレス・セッションEJBのみ)

EJBに適用可能な複数のカスタムJNDI名を指定します。

属性

次の表で属性について簡単に説明します。

表A-6 weblogic.javaee.JNDINamesの属性

名前 説明 データ型 必須?

value

EJBに適用する複数のカスタムJNDI名

JNDIName

いいえ

weblogic.javaee.MessageDestinationConfiguration

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: クラス(メッセージドリブンEJBのみ)

メッセージドリブンEJBがキューとトピックを作成するためにルックアップするJMS接続ファクトリのJNDI名を指定します。

ノート:

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のconnection-factory-jndi-name要素によってオーバーライドされます。『デプロイメント記述子を使用したJakarta Enterprise Beansの開発』weblogic-ejb-jar.xmlデプロイメント記述子のリファレンスを参照してください。

属性

次の表で属性について簡単に説明します。

表A-7 weblogic.javaee.MessageDestinationConfigurationの属性

名前 説明 データ型 必須?

connectionFactoryJNDIName

接続ファクトリのJNDI名。この属性のデフォルトは空文字列。

String

いいえ

initialContextFactory

WebLogic初期コンテキスト・ファクトリ。この属性のデフォルトはweblogic.jndi.WLInitialContextFactory.classです。

Class

いいえ

providerURL

プロバイダのURL。この属性のデフォルトはt3://localhost:7001です。

String

いいえ

weblogic.javaee.TransactionIsolation

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: メソッド

EJBのメソッド・レベルのトランザクション・アイソレーション設定です。

ノート:

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のtrans-timeout-seconds要素によってオーバーライドされます。『デプロイメント記述子を使用したJakarta Enterprise Beansの開発』weblogic-ejb-jar.xmlデプロイメント記述子のリファレンスを参照してください。

属性

次の表で属性について簡単に説明します。

表A-8 weblogic.javaee.Idempotentの属性

名前 説明 データ型 必須?

IsolationLevel

アイソレーション・レベル。有効な値は以下のとおりです。

  • READ_COMMITTED - トランザクションは、他のトランザクションでコミットされた更新のみ読み取ることができます。

  • READ_UNCOMITTED - トランザクションでは、他のトランザクションでコミットされていない更新のみ読み取ることができます。

  • REPEATABLE_READ - トランザクションでデータの一部を読み取ると、そのデータが他のトランザクションで変更されても、最初の読取り時と同じ値が返されます。

  • SERIALIZABLE - このトランザクションを同時に複数回実行すると、トランザクションを順番に複数回実行することと同じことになります。

この属性のデフォルトはDEFAULT。

int

いいえ

weblogic.javaee.TransactionTimeoutSeconds

以降の節では、このアノテーションについて詳しく説明します。

説明

ターゲット: クラス

トランザクションのタイムアウトを秒単位で定義します。

属性

次の表で属性について簡単に説明します。

表A-9 weblogic.javaee.TransactionTimeoutSecondsの属性

名前 説明 データ型 必須?

value

トランザクション・タイムアウトの値(秒)。この属性のデフォルトは30 (秒)。

int

いいえ