ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server Enterprise JavaBeansバージョン3.0のプログラミング
11gリリース1(10.3.6)
B61625-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

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

以下の節では、EJB 3.0メタデータ・アノテーションに関するリファレンス情報を提供します。

EJB 3.0アノテーションの概要

新しいEJB 3.0プログラミング・モデルでは、JDK 5.0メタデータ・アノテーション機能(http://java.sun.com/developer/technicalArticles/releases/j2se15を参照)を使用して、アノテーション付きEJB 3.0 Beanファイルを作成します。次に、WebLogicコンパイル・ツールweblogic.appc (またはこれと同等のAntタスクwlappc)を使用してBeanファイルをJavaクラス・ファイルにコンパイルし、必要となるEJBインタフェースやデプロイメント記述子など、関連するEJBアーティファクトを生成します。

以降の節では、EJB Beanファイルで指定できるメタデータ・アノテーションのリファレンス情報を提供します。一部のアノテーションはjavax.ejbパッケージに含まれています。つまり、EJBに固有のアノテーションです。それ以外のアノテーションは、より一般的で他のJava Platform, Enterprise Edition (Java EE)バージョン5コンポーネントでも使用するアノテーションです。したがって、javax.annotationなどの一般的なパッケージに含まれています。

ステートレスBean、ステートフルBean、メッセージドリブンBeanのアノテーション

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

javax.ejb.ActivationConfigProperty

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

説明

ターゲット:すべて

操作環境でメッセージドリブンBeanを構成するために使用するプロパティを指定します。確認応答モード、メッセージ・セレクタ、想定される宛先やエンドポイントのタイプなどの情報を含めることができます。

このアノテーションは、@javax.ejb.MessageDrivenアノテーションのactivationConfig属性の値としてのみ使用されます。このアノテーションの詳細は、『Oracle WebLogic ServerメッセージドリブンBeanのプログラミング』のEJB 3.0コンプライアンスMDBの使用およびMDB向けデプロイメント要素およびアノテーションに関する項を参照してください。

属性

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

表A-1 javax.ejb.ActivationConfigPropertyアノテーションの属性

名前 説明 データ型 必須?

propertyName

アクティブ化プロパティの名前を指定します。

String

はい

propertyValue

アクティブ化プロパティの値を指定します。

String

はい


javax.ejb.ApplicationException

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

説明

ターゲット:クラス

その例外がアプリケーション例外で、クライアント・アプリケーションに直接(ラップせずに)報告することを指定します。

このアノテーションは、検査済みの例外と未検査の例外の両方に適用できます。

属性

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

表A-2 javax.ejb.ApplicationExceptionアノテーションの属性

名前 説明 データ型 必須?

rollback

BeanがEJBコンテナ内部で呼び出されている場合に、例外がスローされたらトランザクションをロールバックするかどうかを指定します。

この属性の有効な値は、trueおよびfalseです。デフォルト値はfalseで、その場合トランザクションはロールバックされません。

boolean

いいえ


javax.ejb.EJB

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

説明

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

EJBビジネス・インタフェースまはたホーム・インタフェースへの依存関係(参照)を指定します。

他のEJBへの依存関係を指定するには、Beanのインスタンス変数に@EJBアノテーションを付けます。WebLogic Serverでは、アノテーションを付けた変数が、依存先のEJBへの参照に基づいて自動的に初期化されます。これを「依存関係インジェクション」と呼びます。この初期化は、BeanのEJBContextが設定された後、Beanのビジネス・メソッドが呼び出される前に発生します。

このアノテーションをBeanクラス内のセッター・メソッドに付けることもできます。その場合、WebLogic Serverはセッター・メソッド自体を使用して依存関係インジェクションを実行します。この方法でインスタンス変数に依存関係を注入することもできます。

このアノテーションをクラスに適用すると、Beanが実行時にルックアップするEJBが宣言されます。

変数またはセッター・メソッドへの注入を使用する場合、WebLogic Serverでは、アノテーションを付けたインスタンス変数またはセッター・メソッドのパラメータの名前またはデータ型に基づいて参照先のEJBの名前が判別されます。少しでも不明確な場合は、@EJBアノテーションのbeanName属性またはmappedName属性を使用して、依存先のEJBの名前を明示的に指定する必要があります。

属性

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

表A-3 javax.ejb.EJBアノテーションの属性

名前 説明 データ型 必須?

name

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

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

String

いいえ

beanInterface

参照先EJBのインタフェース・タイプ(ビジネス・インタフェースまたはホーム・インタフェース)を指定します。

この属性のデフォルト値はObject.classです。

Class

いいえ

beanName

参照先EJBの名前を指定します。

この属性は、参照先EJBの@Statelessまたは@Statefulアノテーションのname要素(デフォルトでは、参照先Beanクラスの未修飾名)に対応します。

EJB JARファイル内の複数のセッションBeanが同じインタフェースを実装している場合は、各Beanの名前を一意にする必要があるため、この属性が非常に有用になります。

String

いいえ

mappedName

参照先EJBのグローバルJNDI名を指定します。

例:

mappedName="bank.Account"

この場合は、WebLogic Server JNDIツリー内にデプロイされているbank.AccountというグローバルJNDI名の参照先EJBを指定しています。

注意: マッピングされた名前を使用するEJBは、移行できなくなる可能性があります。

String

いいえ

description

EJB参照の説明。

String

いいえ


javax.ejb.EJBs

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

説明

ターゲット:クラス

@javax.ejb.EJBアノテーションの配列を指定します。

属性

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

表A-4 javax.ejb.EJBsアノテーションの属性

名前 説明 データ型 必須?

value

@javax.ejb.EJBアノテーションの配列を指定します。

EJB[]

いいえ


javax.ejb.Init

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

説明

ターゲット:メソッド

Beanクラス内のメソッドと、適合するEJB 2.1 EJBHomeまたはEJBLocalHomeクライアント・ビューのcreateMETHODメソッドとの対応関係を指定します。

このアノテーションは、ステートフル・セッションBean (クラス・レベルの@javax.ejb.Statefulアノテーションを付けたBean)でのみ使用します。

@javax.ejb.Initアノテーションを付けたメソッドの戻り値の型はvoidでなければなりません。また、パラメータの型は、参照するcreateMETHODメソッドのパラメータの型とまったく同じである必要があります。

@Initアノテーションが必要になるのは、Remote-HomeまたはLocalHomeインタフェースを提供するステートフル・セッションBeanのみです。少しでも不明確な場合は、value属性を使用して、HomeまたはLocalHomeインタフェースの適合するcreateメソッドの名前を指定する必要があります。

属性

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

表A-5 javax.ejb.Initアノテーションの属性

名前 説明 データ型 必須?

value

対応するcreateMETHODメソッドの名前を指定します。

この属性を指定する必要があるのは、@Initアノテーションを使用して、複数のcreate<METHOD>メソッドを含むステートフル・セッションBeanの適合するHomeインタフェースを関連付ける場合のみです。

String

いいえ


javax.ejb.Local

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

説明

ターゲット:クラス

セッションBeanのローカル・インタフェースを指定します。ローカル・インタフェースは、ビジネス・ロジックをローカル・クライアント(EJBと同じアプリケーションで動作しているクライアント)に公開します。ローカル・クライアントから呼び出せるビジネス・メソッドを定義します。

Beanクラスに複数のインタフェース(ただし以下のインタフェースを除く)が実装されている場合は、このアノテーションを指定する必要があります。

  • java.io.Serializable

  • java.io.Externalizable

  • javax.ejb.*

このアノテーションは、ステートレスまたはステートフル・セッションBeanにのみ適用されます。

属性

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

表A-6 javax.ejb.Localの属性

名前 説明 データ型 必須?

value

ローカル・インタフェースのリストをクラスの配列として指定します。

この属性を指定する必要があるのは、Beanクラスに複数のインタフェース(ただし以下のインタフェースを除く)が実装されている場合のみです。

  • java.io.Serializable

  • java.io.Externalizable

  • javax.ejb.*

Class[]

いいえ


javax.ejb.LocalHome

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

説明

ターゲット:クラス

Beanクラスのローカル・ホーム・インタフェースを指定します。

ローカル・ホーム・インタフェースは、ローカル・クライアント(EJBと同じアプリケーションで動作するクライアント)から使用して、Beanのインスタンスを作成、削除、および(エンティティBeanの場合は)検索することができるメソッドを提供します。ローカル・ホーム・インタフェースには、特定のBeanインスタンスに固有ではないビジネス・ロジックである「ホーム・メソッド」もあります。

この属性は、ステートレスおよびステートフル・セッションBeanにのみ適用されます。

通常、この属性は、EJB 3.0 Beanの適合するEJB 2.1コンポーネント・ビューを提供する予定がある場合にのみ指定します。このアノテーションは、EJB 2.1 APIに記述されているBeanクラスにも使用できます。

属性

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

表A-7 javax.ejb.LocalHomeアノテーションの属性

名前 説明 データ型 必須?

value

ローカル・ホーム・クラスを指定します。

Class

はい


javax.ejb.MessageDriven

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

説明

ターゲット:クラス

Enterprise JavaBeansがメッセージドリブンBeanであることを指定します。

属性

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

表A-8 javax.ejb.MessageDrivenアノテーションの属性

名前 説明 データ型 必須?

name

このメッセージドリブンBeanの名前を指定します。

この属性を指定しない場合は、Beanクラスの未修飾名がデフォルト値になります。

String

いいえ

messageListenerInterface

Beanクラスのメッセージ・リスナー・インタフェースを指定します。

Beanクラスにメッセージ・リスナー・インタフェースが明示的に実装されていない場合や、Beanクラスに複数のインタフェース(ただし、java.io.Serializablejava.io.Externalizable、およびjavax.ejbパッケージ内のすべてのインタフェースを除く)が実装されている場合は、この属性を指定する必要があります。

この属性のデフォルト値はObject.classです。

Class

いいえ

activationConfig

操作環境でのメッセージドリブンBeanの構成を指定します。確認応答モード、メッセージ・セレクタ、想定される宛先やエンドポイントのタイプなどの情報を含めることができます。

アクティブ化構成情報(プロパティ名や値)は、@javax.ejb.ActivationConfigPropertyアノテーションの配列を使用して指定します。

ActivationConfigProperty[]

いいえ

mappedName

メッセージドリブンBeanをマッピングする製品固有の名前を指定します。

この属性を使用して、このメッセージドリブンBeanのメッセージ宛先のJNDI名を指定することもできます。例:

mappedName="my.Queue"

このメッセージドリブンBeanは、WebLogic Server JNDIツリー内にデプロイされているmy.QueueというJNDI名のJMSキューに関連付けられます。

注意: この属性を指定した場合は、そのメッセージドリブンBeanを移行できなくなる可能性があります。

String

いいえ

description

メッセージドリブンBeanの説明を指定します。

String

いいえ


javax.ejb.PostActivate

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

説明

ターゲット:メソッド

EJBコンテナがBeanインスタンスを再アクティブ化した直後に通知を受信するライフサイクル・コールバック・メソッドを指定します。

このアノテーションは、ステートフル・セッションBeanにのみ適用されます。ステートフル・セッションBeanインスタンスがパッシブ化されたときの会話状態はEJBコンテナによって自動的に保持されるため、ほとんどのステートフル・セッションBeanではこのアノテーションを指定する必要はありません。このアノテーション(およびこれと対をなす@PrePassivate)を使用する必要があるのは、ステートフル・セッションBeanで開いておきたいリソースがあり、そのリソースをBeanインスタンスのパッシブ化の前に閉じ、Beanインスタンスのアクティブ化中に開きなおす必要がある場合のみです。

このアノテーションは、Beanクラス内の1つのメソッドにのみ付けることができます。このアノテーションを複数のメソッドに付けた場合、そのEJBはデプロイされません。

@PostActivateアノテーションを付けるメソッドは、以下の要件を満たす必要があります。

  • メソッドの戻り値の型がvoidでなければなりません。

  • メソッドは、検査済みの例外をスローしてはなりません。

  • メソッドは、publicprotectedpackage private、またはprivateにすることは可能です。

  • メソッドは、staticであってはなりません。

  • メソッドは、finalであってはなりません。

このアノテーションには、属性はありません。

javax.ejb.PrePassivate

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

説明

ターゲット:メソッド

EJBコンテナがBeanインスタンスをパッシブ化する直前に通知を受信するライフサイクル・コールバック・メソッドを指定します。

このアノテーションは、ステートフル・セッションBeanにのみ適用されます。ステートフル・セッションBeanインスタンスがパッシブ化されたときの会話状態はEJBコンテナによって自動的に保持されるため、ほとんどのステートフル・セッションBeanではこのアノテーションを指定する必要はありません。このアノテーション(およびこれと対をなす@PostActivate)を使用する必要があるのは、ステートフル・セッションBeanで開いておきたいリソースがあり、そのリソースをBeanインスタンスのパッシブ化の前に閉じ、Beanインスタンスのアクティブ化中に開きなおす必要がある場合のみです。

このアノテーションは、Beanクラス内の1つのメソッドにのみ付けることができます。このアノテーションを複数のメソッドに付けた場合、そのEJBはデプロイされません。

@PrePassivateアノテーションを付けるメソッドは、以下の要件を満たす必要があります。

  • メソッドの戻り値の型がvoidでなければなりません。

  • メソッドは、検査済みの例外をスローしてはなりません。

  • メソッドは、publicprotectedpackage private、またはprivateにすることは可能です。

  • メソッドは、staticであってはなりません。

  • メソッドは、finalであってはなりません。

このアノテーションには、属性はありません。

javax.ejb.Remote

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

説明

ターゲット:クラス

セッションBeanのリモート・インタフェースを指定します。リモート・インタフェースはビジネス・ロジックをリモート・クライアント(EJBとは別のアプリケーションで動作するクライアント)に公開します。リモート・クライアントから呼び出せるビジネス・メソッドを定義します。

このアノテーションは、ステートレスまたはステートフル・セッションBeanにのみ適用されます。

属性

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

表A-9 javax.ejb.Remoteアノテーションの属性

名前 説明 データ型 必須?

value

リモート・インタフェースのリストをクラスの配列として指定します。

この属性を指定する必要があるのは、Beanクラスに複数のインタフェース(ただし以下のインタフェースを除く)が実装されている場合のみです。

  • java.io.Serializable

  • java.io.Externalizable

  • javax.ejb.*

Class[]

いいえ


javax.ejb.RemoteHome

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

説明

ターゲット:クラス

Beanクラスのリモート・ホーム・インタフェースを指定します。

リモート・ホーム・インタフェースは、リモート・クライアント(EJBとは別のアプリケーションで動作するクライアント)でBeanのインスタンスを作成、削除、および検索するためのメソッドを提供します。

この属性は、ステートレスおよびステートフル・セッションBeanにのみ適用されます。

通常、この属性は、EJB 3.0 Beanの適合するEJB 2.1コンポーネント・ビューを提供する予定がある場合にのみ指定します。このアノテーションは、EJB 2.1 APIに記述されているBeanクラスにも使用できます。

属性

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

表A-10 javax.ejb.RemoteHomeアノテーションの属性

名前 説明 データ型 必須?

value

リモート・ホーム・クラスを指定します。

Class

はい


javax.ejb.Remove

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

説明

ターゲット:メソッド

@javax.ejb.Removeアノテーションは、ステートフル・セッションBeanのremoveメソッドを指定するために使用します。

EJBコンテナは、そのメソッドが完了したときに、@javax.annotation.PreDestroyアノテーションが付いているメソッドがあればそれを呼び出してからステートフル・セッションBeanを破棄します。

属性

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

表A-11 javax.ejb.Removeアノテーションの属性

名前 説明 データ型 必須?

retainIfException

このアノテーションを付けたメソッドがアプリケーション例外で異常終了した場合には、ステートフル・セッションBeanを削除しないことを指定します。

有効な値は、trueおよびfalseです。デフォルト値はfalseです。

boolean

いいえ


javax.ejb.Stateful

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

説明

ターゲット:クラス

Enterprise JavaBeansがステートフル・セッションBeanであることを指定します。

属性

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

表A-12 javax.ejb.Statefulアノテーションの属性

名前 説明 データ型 必須?

name

このステートフル・セッションBeanの名前を指定します。

この属性を指定しない場合は、Beanクラスの未修飾名がデフォルト値になります。

String

いいえ

mappedName

ステートフル・セッションBeanをマッピングする製品固有の名前を指定します。

この属性を使用して、このステートフル・セッションBeanのJNDI名を指定することもできます。WebLogic Serverでは、BeanのグローバルJNDI名を作成する際にmappedName属性の値を使用します。具体的には、JNDI名は次のようになります。

mappedName#name_of_businessInterface

name_of_businessInterfaceは、このセッションBeanのビジネス・インタフェースの完全修飾名です。

たとえば、ビジネス・インタフェースの完全修飾名がcom.CheckingAccountである場合にmappedName="bank"と指定すると、このビジネス・インタフェースのJNDI名はbank#com.CheckingAccountとなります。

注意: この属性を指定した場合は、そのステートフル・セッションBeanを移行できなくなる可能性があります。

String

いいえ

description

ステートフル・セッションBeanの説明。

String

いいえ


javax.ejb.Stateless

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

説明

ターゲット:クラス

Enterprise JavaBeansがステートレス・セッションBeanであることを指定します。

属性

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

表A-13 javax.ejb.Statelessアノテーションの属性

名前 説明 データ型 必須?

name

このステートレス・セッションBeanの名前を指定します。

この属性を指定しない場合は、Beanクラスの未修飾名がデフォルト値になります。

String

いいえ

mappedName

ステートレス・セッションBeanをマッピングする製品固有の名前を指定します。

この属性を使用して、このステートレス・セッションBeanのJNDI名を指定することもできます。WebLogic Serverでは、BeanのグローバルJNDI名を作成する際にmappedName属性の値を使用します。具体的には、JNDI名は次のようになります。

mappedName#name_of_businessInterface

name_of_businessInterfaceは、このセッションBeanのビジネス・インタフェースの完全修飾名です。

たとえば、ビジネス・インタフェースの完全修飾名がcom.CheckingAccountである場合にmappedName="bank"と指定すると、このビジネス・インタフェースのJNDI名はbank#com.CheckingAccountとなります。

注意: この属性を指定した場合は、そのステートレス・セッションBeanを移行できなくなる可能性があります。

String

いいえ

description

ステートレス・セッションBeanの説明。

String

いいえ。


javax.ejb.Timeout

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

説明

ターゲット:メソッド

Beanクラスのタイムアウト・メソッドを指定します。

このアノテーションは、Beanクラス内でEJBタイマー・サービスを簡単にプログラミングするためのアノテーションです。EJBタイマー・サービスはEJBコンテナによって提供されるサービスです。このサービスを使用すると、タイマー・オブジェクトが期限切れになったときに発生するコールバックをスケジューリングするタイマーを作成できます。

EJB 3.0より前のバージョンでタイマー・サービスをプログラミングするには、Beanクラスにjavax.ejb.TimedObjectオブジェクトを実装する必要がありました。また、BeanクラスにejbTimeoutという名前のメソッドを含める必要もありました。EJBのバージョン3.0では、これらの要件が緩和されました。javax.ejb.TimedObjectインタフェースを実装する必要はなくなり、@Timeoutアノテーションを付けている限り、タイムアウト・メソッドに任意の名前を付けることができるようになりました。ただし、必要であれば、3.0より前の方法でタイマー・サービスをプログラミングすることもできます。

詳細は、『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「EJBタイマー・サービスのプログラミング」を参照してください。

このアノテーションには、属性はありません。

javax.ejb.TransactionAttribute

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

説明

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

EJBコンテナがEJBビジネス・メソッドをトランザクション・コンテキスト内で呼び出すかどうかを指定します。


注意:

このアノテーションを指定した場合は、@TransactionManagementアノテーションを使用して、コンテナ管理によるトランザクションの境界設定を指定する必要があります。

このアノテーションは、Beanクラスに指定することも、クラスの特定のメソッド(ビジネス・インタフェースのメソッド)に指定することもできます。Beanクラスに指定した場合、アノテーションはそのクラスの該当するすべてのビジネス・インタフェース・メソッドに適用されます。特定のメソッドに指定した場合は、そのメソッドにのみ適用されます。このアノテーションをクラス・レベルとメソッド・レベルの両方で指定し、それらの値が食い違っている場合は、メソッド・レベルの値が優先されます。

Beanクラスで@TransactionAttributeアノテーションを指定しない場合は、コンテナ管理によるトランザクションの境界設定が使用されます。トランザクション属性のセマンティクスはREQUIREDと見なされます。

属性

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

表A-14 javax.ejb.TransactionAttributeアノテーションの属性

名前 説明 データ型 必須?

value

ビジネス・メソッドの呼出し時に、EJBコンテナがトランザクションの境界設定を管理する方法を指定します。

これらの値の詳細は、『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「コンテナ管理によるトランザクション要素」の表のtrans-attribute要素の説明を参照してください。

この属性の有効な値は次のとおりです:

  • TransactionAttributeType.MANDATORY

  • TransactionAttributeType.REQUIRED

  • TransactionAttributeType.REQUIRED_NEW

  • TransactionAttributeType.SUPPORTS

  • TransactionAttributeType.NOT_SUPPORTED

  • TransactionAttributeType.NEVER

デフォルト値はTransactionAttributeType.REQUIREDです。

TransactionAttributeType

いいえ。


javax.ejb.TransactionManagement

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

説明

ターゲット:クラス

セッションBeanまたはメッセージドリブンBeanのトランザクションの境界設定管理の種類を指定します。

トランザクションとは、ディスク上、メモリー内、またはデータベース内にあるアプリケーションの状態を変更する作業の1単位であり、一度開始されると最後まで完了するか、あるいは一切何も行われません。トランザクションは、EJBコンテナ、Beanのコード、またはクライアント・コードによって境界設定(開始およびコミットまたはロールバックでの終了)できます。このアノテーションは、トランザクションの境界設定を、EJBコンテナで管理するか、ユーザーが記述したBeanコードで管理するかを指定します。

Beanクラスにこのアノテーションを指定しない場合、そのBeanではトランザクションの境界設定をコンテナで管理するものと見なされます。

トランザクションの詳細は、『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「トランザクションの設計と管理のオプション」を参照してください。

属性

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

表A-15 javax.ejb.TransactionManagementアノテーションの属性

名前 説明 データ型 必須?

value

Beanクラスで使用するトランザクションの境界設定管理の種類を指定します。

この属性の有効な値は次のとおりです:

  • TransactionManagementType.CONTAINER

  • TransactionManagementType.BEAN

デフォルト値はTransactionManagementType.CONTAINERです。

TransacationManagementType

いいえ。


インターセプタの構成に使用するアノテーション

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

javax.interceptor.AroundInvoke

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

説明

ターゲット:メソッド

Beanクラスまたはインターセプタ・クラスのビジネス・メソッド・インターセプタを指定します。

@AroundInvokeアノテーションは、Beanクラスまたはインターセプタ・クラス内の「1つ」のメソッドにのみ付けることができます。なお、Beanクラスのビジネス・メソッドに付けることはできません。

このアノテーションには、属性はありません。

javax.interceptor.ExcludeClassInterceptors

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

説明

ターゲット:メソッド

このアノテーションを付けたメソッドに対して、クラス・レベルのインターセプタを呼び出さないことを指定します。デフォルト・インターセプタの呼出しは、@ExcludeDefaultInterceptorsアノテーションでのみ除外できます。

このアノテーションには、属性はありません。

javax.interceptor.ExcludeDefaultInterceptors

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

説明

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

定義されているどのデフォルト・インターセプタも呼び出さないことを指定します(デフォルト・インターセプタは、EJBデプロイメント記述子でのみ指定できます。アノテーションでは指定できません)。

クラス・レベルで定義した場合、デフォルト・インターセプタはBeanのどのビジネス・メソッドに対しても呼び出されません。メソッド・レベルで定義した場合は、その特定のビジネス・メソッドに対しては呼び出されませんが、それ以外の@ExludeDefaultInterceptorsアノテーションが付いていないすべてのビジネス・メソッドに対しては呼び出されます。

このアノテーションには、属性はありません。

javax.interceptor.Interceptors

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

説明

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

Beanクラスまたはメソッドに関連付けるインターセプタ・クラスを指定します。インターセプタ・クラスは、Beanクラスとはまったく別のクラスです。インターセプタ・クラスのメソッドは、Beanのビジネス・メソッド呼び出しまたはライフサイクル・イベントにレスポンスする形で呼び出されます。

インターセプタ・クラスには、ビジネス・インターセプタ・メソッド(@javax.interceptor.AroundInvokeアノテーションを付けたメソッド)と、ライフサイクル・コールバック・メソッド(@javax.annotation.PostConstruct@javax.annotation.PreDestroy@javax.ejb.PostActivate、または@javax.ejb.PrePassivateアノテーションを付けたメソッド)の両方を含めることができます。

Beanクラスに対して定義できるインターセプタ・クラスの数に制限はありません。複数のインターセプタ・クラスを定義した場合は、そのアノテーション内に指定した順序で呼び出されます。

アノテーションをクラス・レベルで指定した場合、インターセプタはEJBのすべてのビジネス・メソッドに適用されます。メソッド・レベルで指定した場合は、そのメソッドにのみ適用されます。同じインターセプタ・クラスを、Beanクラスの複数のメソッドに指定することもできます。メソッド・レベルのインターセプタは、デフォルトでは、適用されるすべてのインターセプタ(デフォルト・インターセプタ、クラス・レベルのインターセプタなど)の後に呼び出されます。

属性

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

表A-16 javax.interceptor.Interceptorsアノテーションの属性

名前 説明 データ型 必須?

value

インターセプタ・クラスの配列を指定します。配列に複数のインターセプタ・クラスを含める場合は、配列内で指定した順序によって呼出しの順序が決まります。

Class[]

はい


エンティティBeanとの対話に使用するアノテーション

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

javax.persistence.PersistenceContext

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

説明

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

コンテナ管理のEntityManager永続性コンテキストへの依存関係を指定します。

このアノテーションは、3.0エンティティBeanと対話するために使用します。通常はEntityManagerインスタンスへの依存関係インジェクションを実行します。

EntityManagerインタフェースには、永続性コンテキストとの対話に使用するメソッドが定義されています。永続性コンテキストとは、エンティティ・インスタンスのセットです。エンティティとは、軽量の永続ドメイン・オブジェクトです。EntityManager APIを使用すると、永続エンティティ・インスタンスの作成や削除、主キーに基づくエンティティの検索、およびエンティティに対する問合せを実行できます。

属性

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

表A-17 javax.persistence.PersistenceContextAnnotationの属性

名前 説明 データ型 必須?

name

EntityManagerとその永続性ユニットの名前(セッションBeanまたはメッセージドリブンBeanのコンテキスト内で使用する名前)を指定します。

この属性は、JNDIルックアップを使用してEntityManagerを取得する場合にのみ指定します。依存関係インジェクションを使用する場合は指定する必要はありません。

String

いいえ

unitName

永続性ユニットの名前を指定します。

この属性の値としてpersistence.xmlファイル内の永続性ユニットと同じ名前を指定すると、EJBコンテナによって永続性ユニットが自動的にデプロイされ、そのJNDI名としてその永続性ユニット名が設定されます。同様に、この属性を指定しない場合でも、永続性コンテキスト情報を注入する変数の名前をpersistence.xmlファイル内の永続性ユニットの名前と同じにすれば、EJBコンテナによって永続性ユニットが自動的にデプロイされ、そのJNDI名が永続性ユニット名と同じになるように設定されます。

注意: persistence.xmlファイルは、EJB JARファイルのMETA-INFディレクトリに格納されているXMLファイルで、エンティティBeanで使用するデータベースと、EntityManagerのデフォルトの動作を指定します。

参照するスコープ内に複数の永続性ユニットがある場合は、この属性を指定する必要があります。

String

いいえ

type

永続性コンテキストの存続期間を、1つのトランザクションのスコープに限定するか、1つのトランザクションのスコープを超えて延長させるかを指定します。

この属性の有効な値は次のとおりです:

  • PersistenceContextType.TRANSACTION

  • PersistenceContextType.EXTENDED

デフォルト値はPersistenceContextType.TRANSACTIONです。

PersistenceContextType

いいえ


javax.persistence.PersistenceContexts

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

説明

ターゲット:クラス

@javax.persistence.PersistenceContextアノテーションの配列を指定します。

属性

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

表A-18 javax.persistence.PersistenceContextsアノテーションの属性

名前 説明 データ型 必須?

value

@javax.persistence.PersistenceContextアノテーションの配列を指定します。

PersistenceContext[]

はい。


javax.persistence.PersistenceUnit

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

説明

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

EntityManagerFactoryオブジェクトへの依存関係を指定します。

このアノテーションは、3.0エンティティBeanと対話するために使用します。通常は、EntityManagerFactoryへの依存関係インジェクションを実行します。このEntityManagerFactoryを使用して、1つまたは複数のEntityManagerインスタンスを作成できます。このアノテーションは@PersistenceContextアノテーションに似ていますが、EntityManagerの作成や破棄をEJBコンテナに任せずユーザー自身が行うため、その存続期間をより細かく制御できる点が異なります。

EntityManagerインタフェースには、永続性コンテキストとの対話に使用するメソッドが定義されています。永続性コンテキストとは、エンティティ・インスタンスのセットです。エンティティとは、軽量の永続ドメイン・オブジェクトです。EntityManager APIを使用すると、永続エンティティ・インスタンスの作成や削除、主キーに基づくエンティティの検索、およびエンティティに対する問合せを実行できます。

属性

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

表A-19 javax.persistence.PersistenceUnitアノテーションの属性

名前 説明 データ型 必須?

name

EntityManagerFactoryの名前(セッションBeanまたはメッセージドリブンBeanのコンテキスト内で使用する名前)を指定します。

この属性は、依存関係インジェクションを使用する場合は指定する必要はありません。JNDIも使用して情報をルックアップする場合にのみ指定します。

String

いいえ

unitName

persistence.xmlファイルに定義されている永続性ユニットの名前を参照します。このファイルは、EJB JARファイルのMETA-INFディレクトリに格納されているXMLファイルで、エンティティBeanで使用するデータベースと、EntityManagerのデフォルトの動作を指定します。

この属性を設定した場合は、参照先の永続性ユニットがEJBコンテナによって自動的にデプロイされ、そのJNDI名としてその永続性ユニット名が設定されます。同様に、この属性を指定しない場合でも、永続性コンテキスト情報を注入する変数の名前をpersistence.xmlファイル内の永続性ユニットの名前と同じにすれば、EJBコンテナによって永続性ユニットが自動的にデプロイされ、そのJNDI名が永続性ユニット名と同じになるように設定されます。

参照するスコープ内に複数の永続性ユニットがある場合にのみ、この属性を指定する必要があります。

String

いいえ


javax.persistence.PersistenceUnits

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

説明

ターゲット:クラス

@javax.persistence.PersistenceUnitアノテーションの配列を指定します。

属性

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

表A-20 javax.persistence.PersistenceUnitsアノテーションの属性

名前 説明 データ型 必須?

value

@javax.persistence.PersistenceUnitアノテーションの配列を指定します。

PersistenceUnit[]

はい


EJB 3.0で使用する標準JDKアノテーション

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

javax.annotation.PostConstruct

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

説明

ターゲット:メソッド

依存関係インジェクションが完了した後、1番目のビジネス・メソッドを呼び出す前に、初期化を実行するためにEJBコンテナから呼び出す必要のあるライフサイクル・コールバック・メソッドを指定します。

依存関係インジェクションを含むすべてのBeanクラスには、@PostConstructメソッドを指定できます。

このアノテーションは、Beanクラス内の1つのメソッドにのみ付けることができます。このアノテーションを複数のメソッドに付けた場合、そのEJBはデプロイされません。

@PostConstructアノテーションを付けるメソッドは、以下の要件を満たす必要があります。

  • メソッドの戻り値の型がvoidでなければなりません。

  • メソッドは、検査済みの例外をスローしてはなりません。

  • メソッドは、publicprotectedpackage private、またはprivateにすることは可能です。

  • メソッドは、staticであってはなりません。

  • メソッドは、finalであってはなりません。

このアノテーションには、属性はありません。

javax.annotation.PreDestroy

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

説明

ターゲット:メソッド

EJBコンテナがBeanクラス・インスタンスを破棄する直前に通知を受信するライフサイクル・コールバック・メソッドを指定します。通常、このアノテーションは、Beanクラスが保持しているリソースを解放するメソッドに適用します。

このアノテーションは、Beanクラス内の1つのメソッドにのみ付けることができます。このアノテーションを複数のメソッドに付けた場合、そのEJBはデプロイされません。

@PreDestroyアノテーションを付けるメソッドは、以下の要件を満たす必要があります。

  • メソッドの戻り値の型がvoidでなければなりません。

  • メソッドは、検査済みの例外をスローしてはなりません。

  • メソッドは、publicprotectedpackage private、またはprivateにすることは可能です。

  • メソッドは、staticであってはなりません。

  • メソッドは、finalであってはなりません。

このアノテーションには、属性はありません。

javax.annotation.Resource

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

説明

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

外部リソース(JDBCデータ・ソース、JMS宛先、接続ファクトリなど)への依存関係を指定します。

このアノテーションをフィールドまたはメソッドに指定すると、Beanの初期化時に、リクエストされたリソースのインスタンスがBeanに注入されます。このアノテーションをクラスに適用すると、Beanが実行時にルックアップするリソースが宣言されます。

属性

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

表A-21 javax.annotation.Resourceアノテーションの属性

名前 説明 データ型 必須?

name

リソース参照の名前を指定します。

@Resourceアノテーションをフィールドに適用した場合は、クラス名で修飾されたフィールド名がname属性のデフォルト値になります。メソッドに適用した場合は、そのメソッドに対応するJavaBeanプロパティ名をクラス名で修飾した名前がデフォルト値になります。このアノテーションをクラスに適用した場合はデフォルト値がないため、この属性を指定する必要があります。

String

いいえ

type

リソースのJavaデータ型を指定します。

@Resourceアノテーションをフィールドに適用した場合は、そのフィールドの型がtype属性のデフォルト値になります。メソッドに適用した場合は、JavaBeanプロパティの型がデフォルトになります。クラスに適用した場合はデフォルト値がないため、この属性を指定する必要があります。

Class

いいえ

authenticationType

このリソースに使用する認証タイプを指定します。

この属性は、サポートされるタイプの接続ファクトリを表すリソースにのみ指定します。

この属性の有効な値は次のとおりです:

  • AuthenticationType.CONTAINER

  • AuthenticationType.APPLICATION

デフォルト値はAuthenticationType.CONTAINERです。

AuthenticationType

いいえ

shareable

リソースを、このEJBと他のEJBとの間で共有できるかどうかを指定します。

この属性は、サポートされるタイプの接続ファクトリまたはORBオブジェクト・インスタンスを表すリソースにのみ指定します。

この属性の有効な値は、trueおよびfalseです。デフォルト値はtrueです。

boolean

いいえ

mappedName

依存リソースのグローバルJNDI名を指定します。

例:

mappedName="my.Datasource"

この場合は、WebLogic Server JNDIツリー内にデプロイされているmy.DatasourceというグローバルJNDI名の依存リソースを指定しています。

String

いいえ

description

リソースの説明を指定します。

String

いいえ


javax.annotation.Resources

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

説明

ターゲット:クラス

@Resourceアノテーションの配列を指定します。

属性

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

表A-22 javax.annotation.Resourcesアノテーションの属性

名前 説明 データ型 必須?

value

@Resourceアノテーションの配列を指定します。

Resource[]

はい


EJB 3.0で使用するセキュリティ関連の標準JDKアノテーション

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

javax.annotation.security.DeclareRoles

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

説明

ターゲット:クラス

EJBで使用するセキュリティ・ロールを定義します。

通常、このアノテーションは、アノテーションを付けたクラスのメソッド内から(たとえばisUserInRoleメソッドを使用して)テストできるロールを定義するために使用します。また、クラスまたはクラスのメソッドで@RolesAllowedアノテーションを使用している場合はロールが暗黙的に宣言されますが、このアノテーションを使用することでそれらのロールを明示的に宣言できます。

セキュリティ・ロールは、WebLogic Serverで管理コンソールを使用して作成できます。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのセキュリティ・ロールの管理に関する項を参照してください。

属性

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

表A-23 javax.annotation.security.DeclareRolesアノテーションの属性

名前 説明 データ型 必須?

value

Beanクラス内で使用するセキュリティ・ロールの配列を指定します。

String[]

はい。


javax.annotation.security.DenyAll

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

説明

ターゲット:メソッド

このアノテーションを付けたメソッドへのアクセスを、どのセキュリティ・ロールにも許可しないことを指定します。つまり、このメソッドは、EJBコンテナでの実行から除外されます。

このアノテーションには、属性はありません。

javax.annotation.security.PermitAll

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

説明

ターゲット:メソッド

このアノテーションを付けたメソッドへのアクセスを、WebLogic Serverに定義されているすべてのセキュリティ・ロールに許可することを指定します。

このアノテーションには、属性はありません。

javax.annotation.security.RolesAllowed

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

説明

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

EJB内のメソッドにアクセスできるセキュリティ・ロールのリストを指定します。

クラス・レベルで指定した場合は、Beanクラス内のすべてのメソッドに適用されます。メソッド・レベルで指定した場合は、そのメソッドにのみ適用されます。このアノテーションをクラス・レベルとメソッド・レベルの両方で指定した場合は、クラス・レベルの値がメソッド・レベルの値によってオーバーライドされます。

セキュリティ・ロールは、WebLogic Serverで管理コンソールを使用して作成できます。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのセキュリティ・ロールの管理に関する項を参照してください。

属性

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

表A-24 javax.annotation.security.RolesAllowedアノテーションの属性

名前 説明 データ型 必須?

value

Beanクラスのメソッドにアクセスできるセキュリティ・ロールのリストを指定します。

String[]

はい。


javax.annotation.security.RunAs

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

説明

ターゲット:クラス

EJBコンテナ内で実際にEJBを実行するセキュリティ・ロールを指定します。

セキュリティ・ロールは、WebLogic Serverセキュリティ・レルムにあり、ユーザーやグループにマップする必要があります。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのセキュリティ・ロールの管理に関する項を参照してください。

属性

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

表A-25 javax.annotation.security.RunAsアノテーションの属性

名前 説明 データ型 必須?

value

EJBをどのセキュリティ・ロールとして実行するかを指定します。

String

はい。


WebLogicアノテーション

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

weblogic.javaee.AllowRemoveDuringTrasaction

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

説明

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

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


注意:

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のallow-remove-during-transaction要素によってオーバーライドされます。詳細は、『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「weblogic-ejb-jar.xmlデプロイメント記述子のリファレンス」を参照してください。

weblogic.javaee.CallByReference

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

説明

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

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


注意:

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

weblogic.javaee.DisableWarnings

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

説明

ターゲット:クラス

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


注意:

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のdisable-warning要素によってオーバーライドされます。詳細は、『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「weblogic-ejb-jar.xmlデプロイメント記述子のリファレンス」を参照してください。

属性

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

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

名前 説明 データ型 必須?

WarningCode

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

  • BEA-010001 - 警告メッセージ「デプロイメント中にシステム・クラスパスからEJBクラスがロードされました。」を無効化します。

  • BEA-010054 - 警告メッセージ「コンパイル中にシステム・クラスパスからEJBクラスがロードされました。」を無効化します。

  • BEA-010200 - 警告メッセージ「EJB実装クラスにpublic staticフィールド、メソッドまたはクラスが含まれています」を無効化します。

  • BEA-010202 - 警告メッセージ「参照呼出しが有効になっていません。」を無効化します。

String

はい


weblogic.javaee.EJBReference

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

説明

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

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

属性

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

表A-27 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要素によってオーバーライドされます。詳細は、『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「weblogic-ejb-jar.xmlデプロイメント記述子のリファレンス」を参照してください。

属性

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

表A-28 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要素によってオーバーライドされます。詳細は、『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「weblogic-ejb-jar.xmlデプロイメント記述子のリファレンス」を参照してください。

属性

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

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

名前 説明 データ型 必須?

value

クライアントID。

String

いいえ

generateUniqueID

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

Class

いいえ


weblogic.javaee.JNDIName

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

説明

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

WebLogic Serverで使用可能な実際のEJB、リソース、または参照のJNDI名を指定します。リモート・インタフェースが1つしかない場合、このアノテーションはリモート・インタフェースおよび実装クラスで有効です。


注意:

JNDI名をBeanに割り当てるのは推奨されません。グローバルJNDI名は、クラスタ化されたサーバーの起動時に大量のマルチキャスト・トラフィックを引き起こします。『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「Enterprise JavaBeansの実装」のEJBリンクの使用に関する項を参照してください。

EJBを含むEARライブラリがある場合、JNDI名の競合が起きるため、そのライブラリを参照するアプリケーションを複数デプロイすることはできません。これは、EARライブラリ内の個々のEJBに対してグローバルJNDI名を設定できないからです。グローバルJNDI名はライブラリ全体に対してのみ設定できます。

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のjndi-name要素によってオーバーライドされます。詳細は、『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「weblogic-ejb-jar.xmlデプロイメント記述子のリファレンス」を参照してください。


属性

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

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

名前 説明 データ型 必須?

value

JNDI名。

String

はい


weblogic.javaee.MessageDestinationConfiguration

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

説明

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

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


注意:

このアノテーションは、weblogic-ejb-jar.xmlデプロイメント記述子のconnection-factory-jndi-name要素によってオーバーライドされます。詳細は、『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「weblogic-ejb-jar.xmlデプロイメント記述子のリファレンス」を参照してください。

属性

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

表A-31 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要素によってオーバーライドされます。詳細は、『Oracle WebLogic Server Enterprise JavaBeansのプログラミング』の「weblogic-ejb-jar.xmlデプロイメント記述子のリファレンス」を参照してください。

属性

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

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

名前 説明 データ型 必須?

IsolationLevel

分離レベル。有効な値は次のとおりです:

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

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

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

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

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

int

いいえ


weblogic.javaee.TransactionTimeoutSeconds

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

説明

ターゲット:クラス

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

属性

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

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

名前 説明 データ型 必須?

value

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

int

いいえ