プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server Enterprise JavaBeansバージョン2.1の開発
12c (12.2.1.1.0)
E77277-02
目次へ移動
目次

前
次

B weblogic-ejb-jar.xmlデプロイメント記述子のリファレンス

この付録では、WebLogic固有のXMLスキーマベース(XSD)デプロイメント記述子ファイル、weblogic-ejb-jar.xmlのEJB 2.1の要素について説明します。これらの定義を使用して、EJBデプロイメントを構成するWebLogic固有のweblogic-ejb-jar.xmlファイルを作成します。

9.0より前のリリースのWebLogic Serverでは、weblogic-ejb-jar.xmlは文書型定義(DTD)に基づいていました。後方互換性を保持するために、WebLogic ServerではXSDベースとDTDベースのEJB記述子が引き続きサポートされています。そのため、WebLogic ServerのDTDベースの記述子を使用するアプリケーションも記述子を変更せずにデプロイできます。

注意:

EJB 3.x実装でメタデータ・アノテーションを使用している場合は、『Oracle WebLogic Server Enterprise JavaBeansの開発』のEJBメタデータ・アノテーション・リファレンスに関する項を参照してください。

この付録の内容は次のとおりです。

詳細情報:

完全なweblogic-ejb-jar.xsdスキーマは、http://www.oracle.com/webfolder/technetwork/weblogic/weblogic-ejb-jar/index.htmlを参照してください。

2.1のweblogic-ejb-jar.xmlファイルの構造

WebLogic Serverのweblogic-ejb-jar.xmlデプロイメント記述子ファイルには、WebLogic Server固有の要素を記述します。

WebLogic Serverのweblogic-ejb-jar.xmlの最上位要素は次のとおりです。

  • description

  • weblogic-enterprise-bean

    • ejb-name

    • entity-descriptor | stateless-session-descriptor | stateful-session-descriptor | message-driven-descriptor

    • transaction-descriptor

    • iiop-security-descriptor

    • enable-call-by-reference

    • network-access-point

    • clients-on-same-server

    • run-as-principal-name

    • create-as-principal-name

    • remove-as-principal-name

    • passivate-as-principal-name

    • jndi-name

    • local-jndi-name

    • dispatch-policy

    • remote-client-timeout

    • stick-to-first-server

  • security-role-assignment

  • run-as-role-assignment

  • security-permission

  • transaction-isolation

  • message-destination-descriptor

  • idempotent-methods

  • retry-methods-on-rollback

  • enable-bean-class-redeploy

  • timer-implementation

  • disable-warning

  • work-manager

  • component-factory-class-name

  • weblogic-compatibility

2.1のweblogic-ejb-jar.xmlの要素

以下のweblogic-ejb-jar.xml要素のリストには、このリリースのWebLogic Serverでサポートされているすべての要素が含まれています。

allow-concurrent-calls

注意:

allows-concurrent-calls要素は、WebLogic Server EJB 3.1コンテナでは非推奨です。代わりにjavax.ejb.AccessTimeoutメタデータ・アノテーションを使用することをお薦めします。これにより、タイムアウトする前に同時アクセス試行がブロックされる時間を指定できます。詳細は、『Oracle WebLogic Server Enterprise JavaBeansの開発』のEJBメタデータ・アノテーション・リファレンスに関する項を参照してください。

値の範囲: True | False

デフォルト値: False

親要素:

  • weblogic-enterprise-bean

  • stateful-session-descriptor

機能

ステートフル・セッションBeanインスタンスがメソッドの同時呼出しを許可するかどうかを指定します。デフォルトでは、EJBの仕様に従ってallows-concurrent-callsFalseであり、ステートフル・セッションBeanのインスタンスでメソッド呼出しを処理しているときにまた別の(同時)メソッド呼出しがサーバーに到着するとWebLogic ServerからRemoteExceptionが送出されます。

Trueに設定すると、EJBコンテナはメソッドの同時呼出しをブロックするため、前の呼出しが完了してから次のメソッドが呼び出されるようになります。

「stateful-session-descriptor」を参照してください。

allow-remove-during-transaction

値の範囲: True | False

デフォルト値: False

親要素:

weblogic-enterprise-bean
  stateful-session-descriptor

機能

ステートフル・セッションBeanのremoveメソッドをトランザクション・コンテキスト内で呼び出すことができることを指定します。

注意:

Synchronizationインタフェースを実装しているステートフル・セッションBeanでは、このタグを使用し、その後トランザクション終了前にremoveを呼び出すことがないようにしてください。それが行われた場合、EJBコンテナは同期コールバックを呼び出しません。

「stateful-session-descriptor」を参照してください。

cache-between-transactions

値の範囲: True | False

デフォルト値: False

親要素:

weblogic-enterprise-bean
  entity-descriptor
    entity-cache or entity cache-ref

機能

以前のdb-is-shared要素に相当し、EJBコンテナがエンティティBeanの永続データをトランザクション間でキャッシュするかどうかを指定します。

EJBコンテナによるデータの長期キャッシングの実行を有効にする場合、Trueを指定します。EJBコンテナによるデータの短期キャッシングの実行を有効にする場合、Falseを指定します。

読取り専用Beanの場合、WebLogic Serverはこれの長期キャッシングを常に実行するので、cache-between-transactions要素の値は無視されます。

詳細は、「cache-between-transactionsによるデータベース読込みの制限」を参照してください。

「persistence」を参照してください。

cache-type

値の範囲: NRU | LRU

デフォルト値: NRU

親要素:

weblogic-enterprise-bean
  stateful-session-cache

機能

EJBがキャッシュから削除される順番を指定します。値は次のとおりです。

  • 最長時間未使用(LRU : Least Recently Used)

  • 最近未使用(NRU : Not Recently Used)

    NRUの最小キャッシュ・サイズは8です。max-beans-in-cacheが8より小さい場合、WebLogic Serverではmax-beans-in-cacheの値に8が使用されます。

<stateful-session-cache>
    <cache-type>NRU</cache-type>
</stateful-session-cache>

client-authentication

値の範囲: none | supported | required

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  iiop-security-descriptor

機能

EJBがクライアント認証をサポートするか、または、必要とするかを指定します。

「iiop-security-descriptor」を参照してください。

client-cert-authentication

値の範囲: none | supported | required

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  iiop-security-descriptor
    transport-requirements

機能

EJBが転送レベルでのクライアント証明書認証をサポートするか、または、必要とするかを指定します。

「transport-requirements」を参照してください。

clients-on-same-server

値の範囲: True | False

デフォルト値: False

親要素:

weblogic-enterprise-bean

機能

EJBがデプロイされた際、WebLogic ServerがこのEJBにJNDIの通知を送るかどうかが指定されます。この属性がFalse (デフォルト)の場合、WebLogic Serverクラスタでは、ある特定のサーバー上にあるこのEJBの場所を示すために、自動的にJNDIツリーを更新します。これにより、そのクライアントが同じサーバー上で連結されてなくても、すべてのクライアントがこのEJBにアクセスできるようになります。

EJBにアクセスするクライアントのすべてが、そのBeanがデプロイされているのと同じサーバー上からアクセスすることが分かっている場合には、clients-on-same-serverTrueに設定できます。この場合、EJBがデプロイされる際、WebLogic ServerクラスタはJNDIの通知をこのEJBに送信しません。クラスタ内のJNDIの更新ではマルチキャスト・トラフィックが利用されるため、clients-on-same-serverTrueに設定することにより大容量のクラスタでの起動時間を短縮できます。

連結EJBの詳細は、『Oracle WebLogic Serverクラスタの管理』の連結オブジェクトの最適化に関する項を参照してください。

<weblogic-enterprise-bean>
    <ejb-name>AccountBean</ejb-name>
    ...
    <clients-on-same-server>True</clients-on-same-server>
</weblogic-enterprise-bean>

component-factory-class-name

値の範囲:なし

デフォルト値: null

親要素:

weblogic-ejb-jar

機能

この要素をorg.springframework.jee.interfaces.SpringComponentFactoryに設定してSpring拡張機能を有効にします。この要素は、EJB、Web、およびアプリケーション記述子に含まれています。モジュール・レベルの記述子は、アプリケーション・レベルの記述子を上書きします。このタグをnull (デフォルト)に設定すると、Spring拡張機能は無効になります。

concurrency-strategy

値の範囲: Exclusive | Database | ReadOnly | Optimistic

デフォルト値: Database

親要素:

weblogic-enterprise-bean
  entity-descriptor
    entity-cache

または

weblogic-enterprise-bean
  entity-descriptor
    entity-cache-ref

機能

コンテナがエンティティBeanへの同時アクセスを管理する方法を指定します。以下の4つの値のいずれかに設定します。

  • Exclusiveを指定すると、Beanがトランザクションに関連付けられている場合、WebLogic ServerはキャッシュされたエンティティEJBインスタンスを排他的にロックします。EJBインスタンスに対する要求は、トランザクションが完了するまでブロックされます。このオプションは、WebLogic Server 3.1 - 5.1までのデフォルトのロック動作です。

  • Databaseを設定すると、WebLogic ServerはエンティティEJBに対する要求のロックを基底のデータ・ストアに委ねます。Database同時実行性ストラテジでは、WebLogic Serverは、独立したエンティティBeanインスタンスを割り当て、ロックとキャッシングをデータベースが処理できるにようにします。これは現在のデフォルト・オプションです。

  • ReadOnlyは、読取り専用エンティティBeanで使用されます。複数の要求が並行して処理されるように各トランザクションで新しいインスタンスをアクティブ化します。WebLogic Serverは、read-timeout-secondsパラメータに基づいてReadOnly BeanのejbLoad()を呼び出します。

  • Optimisticでは、トランザクションの間にEJBコンテナまたはデータベースでロックを行いません。EJBコンテナは、トランザクションをコミットする前に、あるトランザクションが更新したデータが変化していないことを確かめます。更新データのどれかが変わっていた場合、EJBコンテナはトランザクションをロールバックします。

    注意:

    concurrency-strategyOptimisticであるBeanがクラスタにデプロイされており、クラスタのメンバーがそのBeanを更新した場合、EJBコンテナは、クラスタ内のすべてのサーバーに存在するそのBeanのすべてのコピーを無効にしようとします。この動作を無効にするには、weblogic-cmp-jar.xmlcluster-invalidation-disabledTrueに設定します。詳細については、「クラスタ内のオプティミスティック同時実行性の無効化オプション」を参照してください

ExclusiveおよびDatabaseのロック動作の詳細については、「同時実行性ストラテジの選択」を参照してください。read-onlyエンティティBeanの詳細については、「読み書き対応エンティティBeanと読取り専用エンティティBean」を参照してください。

<weblogic-enterprise-bean>
    <ejb-name>AccountBean</ejb-name>
    <entity-descriptor>
        <entity-cache>
            <concurrency-strategy>ReadOnly</concurrency-strategy>
        </entity-cache>
    </entity-descriptor>
</weblogic-enterprise-bean>

confidentiality

値の範囲: none | supported | required

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  iiop-security-descriptor
    transport-requirements

機能

EJBにおける転送の機密性の要件を指定します。confidentiality 要素を使用すると、他のエンティティに内容を見られることなく、クライアントとサーバー間でデータが送信されるようになります。

「transport-requirements」を参照してください。

connection-factory-jndi-name

値の範囲:有効なJNDI名

デフォルト値:この要素が指定されていない場合、デフォルトはweblogic.jms.MessageDrivenBeanConnectionFactory (config.xmlJMSConnectionFactory要素で宣言されていなければならない)。

親要素:

weblogic-enterprise-bean
  message-driven-descriptor

機能

メッセージドリブンEJBがキューとトピックを作成するためにルックアップするJMS接続ファクトリのJNDI名を指定します。「宛先を考慮したMDBの構成」および「connection-factory-jndi-nameの設定方法」を参照してください。

<message-driven-descriptor>
    <connection-factory-jndi-name>
    java:comp/env/jms/MyConnectionFactory
    </connection-factory-jndi-name>
</message-driven-descriptor>

connection-factory-resource-link

値の範囲: JMSモジュール内の有効なリソース

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  message-destination-descriptor

機能

ejb-jar.xmlに定義されているJMSモジュール内のリソースをWebLogic Serverの実際のJMSモジュール参照にマップします。

create-as-principal-name

値の範囲:有効なプリンシパル名

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

WebLogic Server 8.1 SP01で導入され、本来はejbCreateが匿名プリンシパルで実行される状況で使用されるプリンシパルを指定します。そのような状況では、どのプリンシパルを選択するかは次のルールで決まります。

create-as-principal-nameが設定されている場合

そのプリンシパルを使用します。

あるいは

ejb-jar.xmlでBeanに対してrun-asロールが指定されている場合

run-as-role-assignmentを設定するためのルールに従ってプリンシパルを使用します。

あるいは

ejbCreateを匿名プリンシパルとして実行します。

create-as-principal-name要素は、ejbCreate内の処理が匿名プリンシパルよりも高レベルの権限を必要とする場合にのみ指定する必要があります。

この要素は、ステートレス・セッションBeanとメッセージドリブンBeanのejbCreateメソッドに影響します。

「remove-as-principal-name」「passivate-as-principal-name」、および「principal-name」も参照してください。

delay-updates-until-end-of-tx

値の範囲: True | False

デフォルト値: True

親要素:

weblogic-enterprise-bean
  entity-descriptor
    persistence

機能

トランザクションの完了時にトランザクションですべてのBeanの永続ストレージを更新するには、delay-updates-until-end-of-tx要素をTrue (デフォルト)に設定します。通常、この設定によって不要な更新を防ぐことができるため、パフォーマンスが向上します。ただし、データベース・トランザクション内のデータベース更新の順序は保持されません。

データベースがアイソレーション・レベルとしてTransactionReadUncommittedを使用している場合は、進行中のトランザクションに関する中間結果を他のデータベースのユーザーに表示することもできます。この場合、delay-updates-to-end-of-txFalseに設定して、各メソッド呼出しの完了時にBeanの永続ストレージを更新するように指定します。詳細については、「ejbLoad()とejbStore()の動作の理解」を参照してください。

注意:

delay-updates-until-end-of-txFalseに設定しても、各メソッド呼出しの後にデータベース更新が「コミットされた」状態になるわけではありません。更新はデータベースに送信されるだけです。更新は、トランザクションの完了時にのみデータベースにコミットまたはロールバックされます。

<entity-descriptor>
    <persistence>
    ...
    ...
    <delay-updates-until-end-of-tx>False</delay-updates-until-end-of-tx>
    </persistence>
</entity-descriptor>

description

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar

および

weblogic-ejb-jar
  transaction-isolation
    method

および

weblogic-ejb-jar
  idempotent-methods
    method

および

weblogic-ejb-jar
  retry-methods-on-rollback

機能

親要素を説明します。

<description>Contains a description of parent element</description>

destination-jndi-name

値の範囲:有効なJNDI名

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  message-destination-descriptor

および

weblogic-enterprise-bean
  message-driven-descriptor

機能

WebLogic Server JNDIツリーにデプロイされている実際のJMSキューまたはトピックにメッセージドリブンBeanを関連付けるために使用するJNDI名を指定します。

destination-resource-link

値の範囲: JMSモジュール内の有効なリソース

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  message-destination-descriptor

機能

ejb-jar.xmlに定義されているJMSモジュール内のリソースをWebLogic Serverの実際のJMSモジュール参照にマップします。

disable-warning

値の範囲: BEA-010001 | BEA-010054 | BEA-010200 | BEA-010202

デフォルト値:なし

親要素:

weblogic-ejb-jar

機能

IDを指定した警告メッセージをWebLogic Serverが無効化するように指定します。以下の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.」を無効化します。

警告メッセージ「Call-by-reference not enabled」を無効にするには、次のように<disable-warning>を設定します。

<disable-warning>BEA-010202</disable-warning>

dispatch-policy

値の範囲:有効な実行キューの名前

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

EJBが実行されるべきスレッド・プールをどのサーバーが実行するかを指定します。ディスパッチ・ポリシーは、エンティティ、セッション、メッセージドリブンなど、すべての種類のBeanでサポートされています。

dispatch-policyが指定されていないか、指定されたdispatch-policyが存在しないサーバー実行スレッド・プールを参照していた場合、代わりにサーバーのデフォルトの実行スレッド・プールが使用されます。

WebLogic Serverは、対応する名前を持つ実行スレッド・キューがホスト・サーバー・インスタンスになければ、dispatch-policyを無視します。

メッセージドリブンBean (MDB)が外部の(WebLogic以外の)宛先ソースによって駆動されている場合、MDBは外部プロバイダのスレッド・メカニズムで実行される可能性があるので、WebLogic Serverはdispatch-policyを無視することがあります。たとえば、IBM WebSphere MQSeriesメッセージング・ソフトウェアの場合、dispatch-policyは非トランザクション・キューについては対応されていません。アプリケーション・コードはMQSeriesスレッド内で実行されます。MQSeriesトランザクション・キュー、および非トランザクションとトランザクションの両トピックにおいては、dispatch-policyは受け付けられます。

同時に実行中のMDBインスタンスの最大数は、max-beans-in-free-pooldispatch-policyの値の組合せによって指定されます。『Oracle WebLogic Serverのパフォーマンスのチューニング』のMDBスレッド管理に関する項を参照してください。

<dispatch-policy>queue_name</dispatch-policy>

distributed-destination-connection

値の範囲: LocalOnly | EveryMember

デフォルト値: LocalOnly

親要素:

weblogic-ejb-jar
  weblogic-enterprise-bean
    message-driven-descriptor

機能

注意:

この要素は9.0以降のWebLogic JMSで有効です。

同じクラスタ内のWebLogic JMS分散キューにアクセスするMDBが、リソースをすべての分散宛先メンバーから消費するか、現在のWeblogic Serverのローカル・メンバーのみから消費するかを指定します。

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

  • LocalOnly - デプロイメント記述子とメッセージドリブンBeanが同じクラスタにあります。

  • EveryMember - デプロイメント記述子がリモート・サーバー上にあります。

EveryMemberに設定すると、合計接続数が(メッセージドリブンBeanがデプロイされているサーバーの数) x (宛先の数)に等しくなります。より大きなデプロイメントの場合、この接続数により、かなりのリソースが消費される場合があります。

EveryMember設定では、リモート・サーバーからローカルMDBへメッセージを転送するため、ネットワークおよびCPUのオーバーヘッドが増大します。したがって、この設定は、現在のサーバーにユニークなJMSセレクタ・フィルタを使用するMDBなど、限定的なケースで利用するようにしてください。

<distributed-destination-connection>EveryMember</distributed-destination-connection>

durable-subscription-deletion

値の範囲: True | False

デフォルト値: False

親要素:

weblogic-ejb-jar
  weblogic-enterprise-bean
    message-driven-descriptor

機能

MDBがアンデプロイまたは削除されるときに、恒久トピック・サブスクリプションが自動的に削除されるようにするかどうかを指定します。

<durable-subscription-deletion>True</durable-subscription-deletion>

ejb-name

値の範囲: ejb-jar.xmlで定義されているEJBの、NMTOKENの語彙ルールに準拠する名前

デフォルト値:なし

親要素:

weblogic-enterprise-bean

および

weblogic-enterprise-bean
  method

機能

ejb-jar.xmlで指定された同じ名前を使用して、エンタープライズBeanの名前を指定します。エンタープライズBeanのコードは名前に左右されないので、アプリケーション・アセンブリ処理中に名前を変更してもエンタープライズBeanの機能には影響しません。デプロイメント記述子のejb-nameと、デプロイヤがエンタープライズBeanのホームに割り当てるJNDI名との間には、構築された関係はありません。

注意:

weblogic-enterprise-beanでは推奨されていません。詳細は、「EJBリンクの使用」を参照してください

「method」を参照してください。

ejb-reference-description

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

WebLogic ServerのEJBのJNDI名を、ejb-jar.xmlejb-ref-name要素でそれを指定するのに使われる名前にマップします。

<ejb-reference-description>
    <ejb-ref-name>AdminBean</ejb-ref-name>
    <jndi-name>payroll.AdminBean</jndi-name>
</ejb-reference-description>

ejb-ref-name

値の範囲:関連するejb-jar.xmlファイルで指定されている有効なejb-ref-name

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  ejb-reference-description

機能

リソース参照名を指定します。この要素は、EJBプロバイダがejb-jar.xmlデプロイメント・ファイル内に配置する参照です。

<ejb-reference-description>
    <ejb-ref-name>AdminBean</ejb-ref-name>
    <jndi-name>payroll.AdminBean</jndi-name>
</ejb-reference-description>

enable-bean-class-redeploy

値の範囲: True | False

デフォルト値: False

親要素:

weblogic-enterprise-jar

機能

デフォルトでは、EJB実装クラスは他のEJBクラスと同じクラスローダーにロードされます。enable-bean-class-redeploy要素が有効化されていると、実装クラスは、スーパー・クラスと共に、EJBモジュール・クラスローダーの子クラスローダーにロードされます。これにより、EJB実装クラスはEJBモジュール全体を再デプロイしなくても再デプロイできるようになります。

Beanクラスを子クラスローダーにロードすると、いくつかの問題が発生する可能性があります。まず、Beanクラスが親クラスローダーにロードされたどのクラスからも見えなくなってしまうため、これらのクラスがBeanクラスを参照できなくなったり、エラーが発生したりします。また、Beanクラスは別のクラスローダーにロードされたクラスに対しては、パッケージ保護されたメソッドを呼び出せなくなります。したがって、Beanクラスが同じパッケージ内のヘルパー・クラスを呼び出した場合、ヘルパー・クラス・メソッドはpublicとして宣言する必要があります。そうしないと、IllegalAccessErrorsが発生します。

注意:

この要素はEJB 3.0に対して非推奨になっています。WebLogic Server 10.3.0以降では、この機能はFastSwapに替わりました。『Oracle WebLogic Serverへのアプリケーションのデプロイ』のFastSwapデプロイメントによる再デプロイメントの最小化に関する項を参照してください。

次のXML要素では、単独のBeanクラスの再デプロイメントが可能です。

<enable-bean-class-redeploy>True</enable-bean-class-redeploy>

enable-call-by-reference

値の範囲: True | False

デフォルト値: False

親要素:

weblogic-enterprise-bean

機能

enable-call-by-referenceFalseの場合、EJBメソッドのパラメータはEJBがリモートから呼び出されるか、同じEARから呼び出されるかに関係なくコピーされます(または値で渡されます)。

注意:

メソッドのパラメータは、EJBがリモートで呼び出されたときには常に値で渡されます。異なるアプリケーションにまたがるリモート呼出しは、次のアプリケーション間で可能です。

  • 異なるJVM上のアプリケーション 

  • 同じJVM上のアプリケーション

たとえば、同じサーバー上にデプロイされた2つのアプリケーション、EJBApp1.ear および EJBApp2.ear があるとします。また、EJBApp1.ear にはEJB1が含まれ、EJBApp2.earにはEJB2が含まれます。EJB1EJB2の間の呼出しは、同じJVM上にあってもリモート呼出しとみなされます。

enable-call-by-referenceTrueの場合、同じEARファイル内またはスタンドアロンのJARファイルから呼び出されたEJBメソッドは引数を参照で渡します。パラメータはコピーされないので、これによってメソッド呼出しのパフォーマンスが向上します。

<weblogic-enterprise-bean>
        <ejb-name>AccountBean</ejb-name>
     
       <enable-call-by-reference>False</enable-call-by-reference>
   
</weblogic-enterprise-bean>

enable-dynamic-queries

値の範囲: True | False

デフォルト値: True

親要素:

weblogic-enterprise-bean
  entity-descriptor

機能

Trueに設定すると、動的問合せが有効になります。動的問合せは、EJB 2.x CMP Beanを使用している場合にのみ使用できます。

<enable-dynamic-queries>True</enable-dynamic-queries>

entity-always-uses-transaction

値の範囲: True | False

デフォルト値: False

親要素:

weblogic-ejb-jar
  weblogic-compatibility

機能

WebLogic Server 9.0で導入された要素で、エンティティBeanが常にトランザクションを使用しなければならないかどうかを指定します。WebLogic Server 9.0より前では、エンティティBeanが不特定のトランザクションで動作している場合、EJBコンテナはそのエンティティBeanのトランザクションを作成しました。現在は、エンティティBeanが不特定のトランザクションで動作している場合、EJBコンテナはトランザクションを作成しません。この動作を無効にし、EJBコンテナが不特定のトランザクションで動作するエンティティBeanのトランザクションを作成するようにする場合、この要素の値をTrueに設定します。

entity-cache

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor

機能

WebLogic Server内のエンティティEJBインスタンスのキャッシュに使用する以下のオプションを定義します。

  • max-beans-in-cache

  • idle-timeout-seconds

  • read-timeout-seconds

  • concurrency-strategy

詳細については、「エンティティのキャッシングの理解」を参照してください。

<entity-descriptor>
    <entity-cache>
        <max-beans-in-cache>...</max-beans-in-cache>
        <idle-timeout-seconds>...</idle-timeout-seconds>
        <read-timeout-seconds>...<read-timeout-seconds>
        <concurrency-strategy>...</concurrency-strategy>
    </entity-cache>
    <persistence>...</persistence>
    <entity-clustering>...</entity-clustering>
</entity-descriptor>

entity-cache-name

値の範囲: weblogic-application.xmlでアプリケーション・レベルのエンティティ・キャッシュに割り当てられた名前

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor
    entity-cache-ref

機能

エンティティBeanが使用する、アプリケーション・レベルのエンティティ・キャッシュを参照します。アプリケーション・レベルのキャッシュは、同じアプリケーション内の複数エンティティBeanによって共有されるキャッシュです。entity-cache-nameで指定する値は、weblogic-application.xmlファイルでアプリケーション・レベルのエンティティ・キャッシュに当てた名前と一致させる必要があります。

weblogic-application.xmlファイルの詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』のエンタープライズ・アプリケーションのデプロイメント記述子の要素に関する項を参照してください。

「entity-cache-ref」を参照してください。

entity-cache-ref

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor

機能

同じアプリケーションに属する複数のエンティティBeanのインスタンスをキャッシュできるアプリケーション・レベルのエンティティ・キャッシュを表します。アプリケーション・レベルのエンティティ・キャッシュは、weblogic-application.xmlファイルで宣言されます。

concurrency-strategyを使用し、そのBeanに使用させたい同時実行性のタイプを定義します。concurrency-strategyはアプリケーション・レベル・キャッシュのキャッシュ戦略と適合していなくてはなりません。たとえば、Exclusiveキャッシュは、concurrency-strategyExclusiveであるBeanだけをサポートします。MultiVersionキャッシュは、DatabaseReadOnly、およびOptimistic同時実行性をサポートします。

<entity-cache-ref>
    <entity-cache-name>AllEntityCache</entity-cache-name>
    <read-timeout-seconds>600</read-timeout-seconds>
    <cache-between-transactions>true</cache-between-transactions>
    <concurrency-strategy>ReadOnly</concurrency-strategy>
    <estimated-bean-size>20</estimated-bean-size>
</entity-cache-ref>

entity-clustering

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor

機能

エンティティBeanがWebLogicクラスタでどのようにレプリケートされるのかを指定します。

  • home-is-clusterable

  • home-load-algorithm

  • home-call-router-class-name

  • use-serverside-stubs

<entity-clustering>
    <home-is-clusterable>True</home-is-clusterable>
    <home-load-algorithm>random</home-load-algorithm>
    <home-call-router-class-name>beanRouter</home-call-router-class-name>
    <use-serverside-stubs>True</use-serverside-stubs>
</entity-clustering>

entity-descriptor

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

エンティティBeanに適用する以下のデプロイメント・パラメータを指定します。

  • pool

  • timer-descriptor

  • entity-cache (またはentity-cache-ref)

  • persistence

  • entity-clustering

  • invalidation-target

  • enable-dynamic-queries

<entity-descriptor>
    <pool>...</pool>
    <timer-descriptor>...</timer-descriptor>
    <entity-cache>...</entity-cache>
    <persistence>...</persistence>
    <entity-clustering>...</entity-clustering>
    <invalidation-target>...</invalidation-target>
    <enable-dynamic-queries>...</enable-dynamic-queries>
</entity-descriptor>

estimated-bean-size

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor

機能

エンティティBeanのインスタンスの推定平均サイズ(バイト単位)を指定します。各インスタンスが消費するメモリーのバイト数の平均値です。

estimated-bean-size要素は、Beanをキャッシュするのに使用する、アプリケーション・レベルのキャッシュがともにバイト数やMB単位で指定されている場合に併せて使用します。

エンティティBeanインスタンスが消費する正確なバイト数が分からなくても、サイズを指定することにより、ある一時点でキャッシュを共有するBeanに対し相対的な重みを与えることができます。

たとえば、Bean AとBean Bが1000バイトのキャッシュを共有し、Aのサイズが10バイト、Bのサイズが20バイトであるとします。その場合、キャッシュに格納できるのは、最大で、Aのインスタンスで100、Bのインスタンスで50です。Aのインスタンスが100個キャッシュされた場合、Bのインスタンスは0個キャッシュされたことになります。

「entity-cache-ref」を参照してください。

externally-defined

値の範囲: True | False

デフォルト値:なし

親要素:

weblogic-ejb-jar
  security-role-assignment

機能

特定のセキュリティ・ロールが、デプロイメント記述子の外の、セキュリティ・レルム内で外部定義されていることを示します。セキュリティ・ロールおよびそのprincipal-nameのマッピングが別のところで定義されているため、principal-nameはデプロイメント記述子内では指定されません。このタグは、principal-name要素のセットの代わりに、指示を行うプレースホルダーとして使用されます。この要素は、非推奨になってWebLogic Server 9.0で削除されたグローバル・ロールの代わりに使用します。

finders-load-bean

値の範囲: True | False

デフォルト値: True

親要素:

weblogic-enterprise-bean
  entity-descriptor
    persistence

機能

CMPエンティティEJBでのみ有効です。finders-load-beanは、ファインダ・メソッドの呼出しによってBeanへの参照が返されてからWebLogic ServerがEJBをキャッシュにロードするかどうかを指定します。この要素をTrueに設定した場合、Beanへの参照がファインダによって返されると、WebLogic ServerはすぐにそのBeanをキャッシュにロードします。この要素をFalseに設定した場合、WebLogic Serverは、最初のメソッドが呼び出されるまでBeanを自動的にロードしません。この動作は、EJB 1.1の仕様と一致しています。

<entity-descriptor>
    <persistence>
        <finders-load-bean>True</finders-load-bean>
    </persistence>
</entity-descriptor>

generate-unique-jms-client-id

値の範囲: True | False

デフォルト値: False

親要素:

weblogic-ejb-jar
  weblogic-enterprise-bean
    message-driven-descriptor

機能

EJBコンテナがMDBのインスタンスごとにユニークなクライアントIDを生成するかどうかを指定します。このフラグを有効にすると、恒久MDBをWebLogic Serverクラスタ内の複数のサーバー・インスタンスに簡単にデプロイできるようになります。

global-role

global-role要素は非推奨となっており、WebLogic Server 9.0で削除されました。代わりにexternally-defined要素を使用してください。

home-call-router-class-name

値の範囲:カスタム・クラスタの有効な名前

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor
    entity-clustering

および

weblogic-enterprise-bean
  stateful-session-descriptor
    stateful-session-clustering

および

weblogic-enterprise-bean
  stateless-session-descriptor
    stateless-session-clustering

機能

Beanのメソッド呼出しのルーティングに使用するカスタム・クラスの名前を指定します。このクラスはweblogic.rmi.cluster.CallRouter()を実装する必要があります。指定すると、このクラスのインスタンスは各メソッド呼出しの前に呼び出されます。ルーター・クラスでは、メソッドのパラメータを基に、ルーティングするサーバーを選択できます。このクラスは、サーバー名を返すか、または現在のロード・アルゴリズムがサーバーを選択する必要があることを示すnullを返します。

「entity-clustering」および「stateful-session-clustering」を参照してください

home-is-clusterable

値の範囲: True | False

デフォルト値: True

親要素:

weblogic-enterprise-bean
  entity-descriptor
    entity-clustering

および

weblogic-enterprise-bean
  stateful-session-descriptor
    stateful-session-clustering

および

weblogic-enterprise-bean
  stateful-session-descriptor
    stateless-clustering

機能

home-is-clusterableTrueの場合、クラスタ内の複数のWebLogic ServerからEJBをデプロイできます。ホーム・スタブの呼出しは、Beanがデプロイされるサーバー間で負荷が分散されます。Beanのホスト・サーバーにアクセスできなかった場合、呼出しは、Beanを提供する他のサーバーに自動的にフェイルオーバーします。

「entity-clustering」を参照してください。

home-load-algorithm

値の範囲: round-robin | random | weight-based | RoundRobinAffinity | RandomAffinity | WeightBasedAffinity

デフォルト値: weblogic.cluster.defaultLoadAlgorithmの値

親要素:

weblogic-enterprise-bean
  entity-descriptor
    entity-clustering

および

weblogic-enterprise-bean
  stateful-session-descriptor
    stateful-session-clustering

および

weblogic-enterprise-bean
  entity-descriptor
    entity-clustering

機能

クラスタ内のEJBホームのレプリカ間のロード・バランシングに使用するアルゴリズムを指定します。この要素を定義しない場合、WebLogic Serverはサーバー要素、weblogic.cluster.defaultLoadAlgorithmで指定されたアルゴリズムを使用します。

home-load-algorithmは以下のいずれかの値に定義できます。

  • round-robin - Beanのホスト・サーバー間で順番にロード・バランシングを実行します。

  • random - Beanのホスト・サーバー間でEJBホームのレプリカがランダムにデプロイされます。

  • weight-based - ホスト・サーバーの現在の負荷に従って、EJBホームのレプリカをデプロイするサーバーが決まります。

  • round-robin-affinity - サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ラウンドロビン・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。

  • weight-based-affinity - サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、重みベース・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。

  • random-affinity - サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ランダム・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。

詳細は、『Oracle WebLogic Serverクラスタの管理』のEJBおよびRMIオブジェクトのロード・バランシングに関する項を参照してください。

「entity-clustering」および「stateful-session-clustering」を参照してください

idempotent-methods

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar

機能

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

EJBでクラスタリングが有効である必要があります。クラスタリングを有効にするには、「entity-clustering」「stateful-session-clustering」、および「stateless-clustering」を参照してください。

ステートレス・セッションBeanホームおよび読取り専用エンティティBeanのメソッドは、自動的に多重呼出し不変に設定されます。これらについては多重呼出し不変を明示的に設定する必要はありません。

<idempotent-method>
    <method>
        <description>...</description>
        <ejb-name>...</ejb-name>
        <method-intf>...</method-intf>
        <method-name>...</method-name>
        <method-params>...</method-params>
    </method>
</idempotent-method>

identity-assertion

値の範囲: none | supported | required

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  iiop-security-descriptor

機能

EJBがIDアサーションをサポートするか、または、必要とするかを指定します。

「iiop-security-descriptor」を参照してください。

idle-timeout-seconds

指定できる値: 1 - maxSecondsです。maxSecondsは整数の最大値です。

デフォルト値: 600

親要素:

weblogic-enterprise-bean
  entity-descriptor
    entity-cache

および

weblogic-enterprise-bean
  entity-descriptor
    entity-cache-ref

および

weblogic-enterprise-bean
  stateful-session-descriptor
    stateful-session-cache

および

weblogic-enterprise-bean
  stateless-session-descriptor or message-driven-descriptor or entity-descriptor
    pool

機能

EJBがキャッシュに保持される最長時間を定義します。この時間を過ぎると、キャッシュ内のBeanの数がmax-beans-in-cacheで指定した値を超えている場合、WebLogic ServerではBeanインスタンスが削除されます。削除されたBeanインスタンスに対してはパッシブ化が行われます。詳細については、「ステートフル・セッションEJBのキャッシュとパッシブ化」および「エンティティBeanのプールとキャッシュの管理」を参照してください。

また、フリー・プール内のEJBが削除されるまでの最長アイドル時間を定義します。この時間の経過後、WebLogic ServerはBeanの数がinitial-beans-in-free-poolの値を下回らない限り、そのBeanをフリー・プールから削除します。

注意:

idle-timeout-secondsentity-cache要素で使用しますが、WebLogic Server 8.1 SP1とSP2では、エンティティEJBのライフサイクルの管理にその値を使用しません。それらのサービス・パックでは、idle-timeout-secondsはエンティティBeanがいつキャッシュから削除されるのかに影響を与えません。

次のエントリでは、max-beans-in-cacheの値に達し、Beanがキャッシュに20分保持されている場合、ステートフル・セッションEJB AccountBeanが削除の対象になります。

<weblogic-enterprise-bean>
    <ejb-name>AccountBean</ejb-name>
    <stateful-session-descriptor>
        <stateful-session-cache>
            <max-beans-in-cache>200</max-beans-in-cache>
            <idle-timeout-seconds>1200</idle-timeout-seconds>
        </stateful-session-cache>
    </stateful-session-descriptor>
</weblogic-enterprise-bean>

iiop-security-descriptor

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

Beanレベルのセキュリティ構成パラメータを指定します。これらのパラメータにより、IORに含まれるIIOPセキュリティ情報が決定します。

<iiop-security-descriptor>
    <transport-requirements>...</transport-requirements>
    <client-authentication>supported<client-authentication>
    <identity-assertion>supported</identity-assertion>
</iiop-security-descriptor>

init-suspend-seconds

値の範囲:任意の整数

デフォルト値: 5

親要素:

weblogic-enterprise-bean
  message-driven-descriptor

機能

EJBコンテナがJMSリソースの停止を検出したときにMDBのJMS接続を中断する初期秒数を指定します。詳細は、『Oracle WebLogic ServerメッセージドリブンBeanの開発』のJMSリソース停止中のメッセージ配信の中断の構成に関する項を参照してください。

initial-beans-in-free-pool

指定できる値: 0 - maxBeans

デフォルト値: 0

親要素:

weblogic-enterprise-bean
  stateless-session-descriptor or message-driven-descriptor or entity-descriptor
    pool

機能

initial-beans-in-free-poolの値を指定する場合は、プールの初期サイズを設定することになります。WebLogic Serverは起動時に、Beanクラスごとに指定された数のBeanインスタンスをフリー・プールに格納します。この方法でBeanインスタンスをフリー・プールに格納しておくと、要求が来てから新しいインスタンスを生成せずにBeanに対する初期要求が可能になるため、EJBの初期応答時間が短縮されます。

注意:

Enterprise JavaBeanの仕様に基づいて、javax.ejb.ActivationConfigPropertyアノテーションは、MDBのみに使用されます。このアノテーションは、セッションBeanやエンティティBeanには使用されません。

「pool」を参照してください。

initial-context-factory

値の範囲:初期コンテキスト・ファクトリの有効な名前

デフォルト値: weblogic.jndi.WLInitialContextFactory

親要素:

weblogic-enterprise-bean
  message-destination-descriptor

および

weblogic-enterprise-bean
  message-driven-descriptor

機能

JMSプロバイダが初期コンテキストの作成に使用する初期コンテキスト・ファクトリを指定します。『Oracle WebLogic ServerメッセージドリブンBeanの開発』の宛先を考慮したMDBの構成に関する項およびinitial-context-factoryの設定方法に関する項を参照してください。

<message-driven-descriptor>
    <initial-context-factory>fiorano.jms.rtl.FioranoInitialContextFactory
    </initial-context-factory>
</message-driven-descriptor>

「message-destination-descriptor」も参照してください。

integrity

値の範囲: none | supported | required

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  iiop-security-descriptor
    transport-requirements

機能

EJBの転送の整合性の要件を指定します。integrity要素を使用すると、クライアントとサーバー間で、データが途中で変化することなく転送されるようになります。

「transport-requirements」を参照してください。

invalidation-target

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor

機能

コンテナ管理による永続性エンティティEJBが変更された場合に、無効化する読取り専用エンティティEJBを指定します。

ターゲットのejb-nameは読取り専用エンティティEJBでなければならないので、この要素はEJB 2.xのコンテナ管理による永続性エンティティEJBに対してのみ指定できます。

<invalidation-target>
    <ejb-name>StockReaderEJB</ejb-name>
</invalidation-target>

is-modified-method-name

値の範囲:有効なエンティティEJBメソッド名

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor
    persistence

機能

EJBの保存時にWebLogic Serverによって呼び出されるメソッドを指定します。指定したメソッドはブール値を返す必要があります。メソッドを指定しない場合、WebLogic Serverでは、EJBは常に変更されていると見なされて保存されます。

メソッドを指定して適切な値を設定すると、EJB 1.1準拠のBean、およびBean管理の永続性を使用するBeanのパフォーマンスが向上します。ただし、メソッドの戻り値にエラーがあると、データに矛盾が発生する場合があります。

注意:

isModified()は、EJB 2.x仕様に基づく2.x CMPエンティティEJBでは必要ありません。しかし、BMPおよび1.1 CMP EJBには引続き適用されます。コンテナ管理の永続性を使用してEJB 2.xエンティティBeanをデプロイする場合、WebLogic Serverによって、変更されているEJBフィールドが自動的に検出され、そのフィールドのみが基底のデータ・ストアに書き込まれます。

<entity-descriptor>
    <persistence>
        <is-modified-method-name>semidivine</is-modified-method-name>
    </persistence>
</entity-descriptor>

isolation-level

値の範囲: TransactionSerializable | TransactionReadCommitted | TransactionReadUncommitted | TransactionRepeatableRead | TransactionReadCommittedForUpdate | TransactionReadCommittedForUpdateNoWait

デフォルト値:基底のデータベースのデフォルト値

親要素:

weblogic-ejb-jar
  transaction-isolation

機能

EJBのメソッド・レベルのトランザクション・アイソレーション設定を定義します。有効な値は以下のとおりです。

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

    注意:

    Oracleデータベースの場合は、TransactionSerializableアイソレーション・レベルの代わりにTransactionReadCommittedForUpdateアイソレーション・レベルを使用することをお薦めします。Oracleデータベースは、TransactionSerializableアイソレーション・レベルではデータの読取りをロックしないためです。また、TransactionSerializableアイソレーション・レベルでは、Oracleデータベースに対する現在のトランザクションが、Oracle例外ORA-08177「このトランザクションのアクセスをシリアル化できませんを送出せずに続行することが可能です。TransactionReadCommittedForUpdateアイソレーション・レベルの詳細については、「Oracleデータベースのみのアイソレーション・レベル」を参照してください

  • TransactionReadCommitted - コミットした他のトランザクションの更新のみをトランザクションで表示できます。

  • TransactionReadUncommitted - コミットしていない他のトランザクションの更新をトランザクションで表示できます。

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

Oracleデータベースのみのアイソレーション・レベル

以下の追加の値は、Oracleデータベース、およびコンテナ管理による永続性(CMP) EJBでのみサポートされています。

  • TransactionReadCommittedForUpdate - Oracleデータベース、およびコンテナ管理による永続性(CMP) EJBでのみサポートされます。この値を使用すると、アイソレーション・レベルはTransactionReadCommittedに設定され、トランザクションの間、メソッドで実行されるSQL SELECT文はすべてFOR UPDATEが付加されて実行されます。この結果、隔離された行が更新用にロックされます。Oracleデータベースで問合せの影響を受ける行をすぐにロックできない場合は、それらの行が解放されるまで待ちます。この状況は、トランザクションでCOMMITまたはROLLBACKが実行されるまで続きます。

    このアイソレーション・レベルを使用すると、次のエラーを防止できます。

    java.sql.SQLException: ORA-08177: can't serialize access for this transaction

    このエラーは、OracleデータベースでTransactionSerializableアイソレーション・レベルを使用したときに発生することがあります。

    注意:

    Oracleデータベースの場合は、TransactionSerializableアイソレーション・レベルの代わりにこのアイソレーション・レベル(TransactionReadCommittedForUpdate)を使用することをお薦めします。Oracleデータベースは、TransactionSerializableアイソレーション・レベルではデータの読取りをロックしないためです。

  • TransactionReadCommittedForUpdateNoWait - Oracleデータベース、およびコンテナ管理による永続性(CMP) EJBでのみサポートされます。

    この値を使用すると、アイソレーション・レベルはTransactionReadCommittedに設定され、トランザクションの間、メソッドで実行されるSQL SELECT文はすべてFOR UPDATE NO WAITが付加されて実行されます。この結果、選択された行が更新用にロックされます。

    TransactionReadCommittedForUpdate設定とは異なり、必要なときロックがすぐに達成されない場合、TransactionReadCommittedForUpdateNoWaitではOracle DBMSがNOT WAITになります。このため、影響を受けるSELECT問合せは失敗し、コンテナから例外が送出されます。

異なるアイソレーション・レベルのサポートの詳細については、各データベースのドキュメントを参照してください。

「transaction-isolation」を参照してください。

jms-client-id

値の範囲:なし

デフォルト値: EJBのejb-name

親要素:

message-driven-descriptor

機能

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

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

config.xmlJMSConnectionFactoryClientIDを指定しないか、デフォルト接続ファクトリを使用する(connection-factory-jndi-nameを指定しない)場合、メッセージドリブンBeanはjms-client-id値をそのクライアントIDとして使用します。

<jms-client-id>MyClientID</jms-client-id>

jms-polling-interval-seconds

値の範囲:なし

デフォルト値: 10秒

親要素:

message-driven-descriptor

機能

JMS宛先に再接続しにいく間隔の秒数を指定します。各メッセージドリブンBeanは、関連付けられているJMS宛先でリスンします。JMS宛先が別のWebLogic Serverインスタンスまたは外部JMSプロバイダに配置されている場合には、JMS宛先にアクセスできなくなることもあります。この場合、EJBコンテナは自動的にJMSサーバーに再接続しようとします。JMSサーバーが再び起動した時点で、メッセージドリブンBeanは再びメッセージを受信できるようになります。

<jms-polling-interval-seconds>5</jms-polling-interval-seconds>

jndi-binding

値の範囲: カスタムJNDI名

デフォルト値:なし

親要素:

weblogic-enterprise-bean

および

weblogic-enterprise-bean
  resource-description

および

weblogic-enterprise-bean
  ejb-reference-description

機能

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

「resource-description」および「ejb-reference-description」を参照してください

jndi-name

注意:

このリリースのWebLogic Serverでは、jndi-name要素は非推奨です。代わりにjndi-bindingを使用します。

値の範囲:有効なJNDI名

デフォルト値:なし

親要素:

weblogic-enterprise-bean

および

weblogic-enterprise-bean
  resource-description

および

weblogic-enterprise-bean
  ejb-reference-description

機能

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

注意:

JNDI名をBeanに割り当てるのは望ましくありません。グローバルJNDI名は、クラスタ化サーバーの起動時に大量のマルチキャスト・トラフィックを引き起こします。より適切なプラクティスについては、「EJBリンクの使用」を参照してください。EJBを含むEARライブラリがある場合、JNDI名の競合が起きるため、そのライブラリを参照するアプリケーションを複数デプロイすることはできません。これは、EARライブラリ内の個々のEJBに対してグローバルJNDI名を設定できないからです。グローバルJNDI名はライブラリ全体に対してのみ設定できます。

「resource-description」および「ejb-reference-description」を参照してください

local-jndi-name

注意:

このリリースのWebLogic Serverでは、local-jndi-name要素は非推奨です。代わりにjndi-bindingを使用します。

値の範囲:有効なJNDI名

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

Beanのローカル・ホームのJNDI名。Beanがリモート・ホームとローカル・ホームを持つ場合は、それぞれのホームに1つずつのJNDI名を割り当てることもできます。

注意:

JNDI名をBeanに割り当てるのは望ましくありません。より適切なプラクティスについては、「EJBリンクの使用」を参照してください。

<local-jndi-name>weblogic.jndi.WLInitialContext
</local-jndi-name>

max-beans-in-cache

値の範囲: 1 - maxBeans

デフォルト値: 1000

親要素:

weblogic-enterprise-bean
  entity-descriptor
    entity-cache

および

weblogic-enterprise-bean
  stateful-session-descriptor
    stateful-session-cache

機能

メモリーの許容範囲内で、このクラスのオブジェクトの最大数を指定します。max-bean-in-cacheの値に達すると、WebLogic Serverでは、最近クライアントに使用されていないEJBの一部に対してパッシブ化が行われます。また、「ステートフル・セッションEJBのキャッシュとパッシブ化」で説明されているように、max-beans-in-cacheの値は、EJBをWebLogic Serverのキャッシュからいつ削除するかにも影響を与えます

<weblogic-enterprise-bean>
    <ejb-name>AccountBean</ejb-name>
    <entity-descriptor>
        <entity-cache>
            <max-beans-in-cache>200</max-beans-in-cache>
        </entity-cache>
    </entity-descriptor>
</weblogic-enterprise-bean>

max-beans-in-free-pool

指定できる値: 0 - maxBeans

デフォルト値: 1000

親要素:

weblogic-enterprise-bean
  stateless-session-descriptor
    pool

および

weblogic-enterprise-bean
  message-driven-descriptor
    pool

および

weblogic-enterprise-bean
  entity-descriptor
    pool

機能

WebLogic Serverは、すべてのエンティティBean、ステートレス・セッションBean、およびメッセージドリブンBeanクラスについてEJBのフリー・プールを保持します。max-beans-in-free-pool要素は、このフリー・プールのサイズを定義します。

注意:

Enterprise JavaBeanの仕様に基づいて、javax.ejb.ActivationConfigPropertyアノテーションは、MDBのみに使用されます。このアノテーションは、セッションBeanやエンティティBeanには使用されません。

「pool」を参照してください。

max-messages-in-transaction

値の範囲:すべての正の整数

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  message-driven-descriptor

機能

MDBのトランザクションに入れることができるメッセージの最大数を指定します。

max-queries-in-cache

値の範囲:すべての正の整数

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor

機能

WebLogic Server 9.0で導入された要素です。Beanレベルでキャッシュできる読取り専用エンティティ問合せの最大数を指定します。アプリケーション・レベルでの読取り専用エンティティ問合せのキャッシュについては、「問合せキャッシングの使用(読取り専用エンティティBean)」を参照してください。

max-suspend-seconds

値の範囲:任意の整数

デフォルト値: 60

親要素:

weblogic-enterprise-bean
  message-driven-descriptor

機能

EJBコンテナがJMSリソースの停止を検出したときにMDBのJMS接続を中断する最大秒数を指定します。EJBコンテナがJMSリソースの停止を検出したときにJMS接続が中断しないようにするには、この要素の値を0に設定します。詳細は、『Oracle WebLogic ServerメッセージドリブンBeanの開発』のJMSリソース停止中のメッセージ配信の中断の構成に関する項を参照してください。

message-destination-descriptor

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

ejb-jar.xmlファイル内のメッセージ宛先の参照を、WebLogic Serverの実際のメッセージ宛先(JMSキュー、トピックなど)にマップします。

<message-destination-descriptor>
    <message-destination-name>...</message-destination-name>
    <destination-jndi-name>...</destination-jndi-name>
    <resource-link>...</resource-link>
    <initial-context-factory>...</initial-context-factory>
    <provider-url>...</provider-url>
</message-destination-descriptor>

message-destination-name

指定できる値: ejb-jar.xmlファイルにある有効なメッセージ定義参照名

デフォルト値:なし

要件:この要素は、EJBがejb-jar.xmlのメッセージ定義参照を指定する場合に必要です。

親要素:

weblogic-enterprise-bean
  message-destination-descriptor

機能

メッセージ定義参照の名前を指定します。これは、EJBプロバイダによってejb-jar.xmlデプロイメント記述子ファイル内に記載される参照です。

「message-destination-descriptor」を参照してください。

message-driven-descriptor

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

メッセージドリブンBeanをWebLogic ServerのJMS宛先に関連付けます。

<message-driven-descriptor>
    <pool>...</pool>
    <timer-descriptor>...</timer-descriptor>
    <destination-jndi-name>...</destination-jndi-name>
    <initial-context-factory>...</initial-context-factory>
    <provider-url>...</provider-url>
    <connection-factory-jndi-name>...</connection-factory-jndi-name>
    <jms-polling-interval-seconds>...</jms-polling-interval-seconds>
    <jms-client-id>...</jms-client-id>
    <generate-unique-jms-client-id>...</generate-unique-jms-client-id>
    <durable-subscription-deletion>...</durable-subscription-deletion>
    <max-messages-in-transaction>...</max-messages-in-transaction>
    <distributed-destination-connection>...</distributed-destination-connection>
    <use81-style-polling>...</use81-style-polling>
    <init-suspend-seconds>...</init-suspend-seconds>
    <max-suspend-seconds>...</max-suspend-seconds>
</message-driven-descriptor>

method

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar
  transaction-isolation

および

weblogic-ejb-jar
  idempotent-methods

および

weblogic-ejb-jar
  retry-methods-on-rollback

機能

エンタープライズBeanのホームまたはリモート・インタフェースのメソッドあるいはメソッドのセットを定義します。

<method>
    <description>...</description>
    <ejb-name>...</ejb-name>
    <method-intf>...</method-intf>
    <method-name>...</method-name>
    <method-params>...</method-params>
</method>

method-intf

値の範囲: Home | Remote | Local | Localhome

デフォルト値:なし

親要素:

weblogic-ejb-jar
  transaction-isolation
    method

および

weblogic-ejb-jar
  idempotent-methods
    method

機能

WebLogic Serverがアイソレーション・レベルのプロパティを適用するEJBのインスタンスを指定します(メソッドが複数のインタフェースで同じシグネチャを持つ場合)。

「method」を参照してください。

method-name

値の範囲: ejb-jar.xmlで定義したEJBの名前| *

デフォルト値:なし

親要素:

weblogic-ejb-jar
  transaction-isolation
    method

および

weblogic-ejb-jar
  idempotent-methods
    method

機能

WebLogic Serverがアイソレーション・レベルのプロパティを適用する個々のEJBメソッドの名前を指定します。アスタリスク(*)を使用するとEJBのホームおよびリモート・インタフェースの全メソッドを指定できます。

method-nameを指定する場合、そのメソッドは指定のejb-nameになければなりません。

「method」を参照してください。

method-param

値の範囲:メソッド・パラメータの完全修飾Javaタイプ名

デフォルト値:なし

親要素:

weblogic-ejb-jar
  transaction-isolation
    method
      method-params

および

weblogic-ejb-jar
  idempotent-methods
    method
      method-params

機能

メソッド・パラメータの完全修飾Javaタイプ名を指定します。

「method-params」を参照してください。

method-params

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar
  transaction-isolation
    method

および

weblogic-ejb-jar
  idempotent-methods
    method

機能

各メソッド・パラメータのJavaタイプ名を定義する1つまたは複数の要素があります。

method-params要素には、次のように1つまたは複数のmethod-param要素が含まれます。

<method-params>
    <method-param>java.lang.String</method-param>
    ...
</method-params>

network-access-point

値の範囲:カスタム・ネットワーク・アクセス・ポイントの名前

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

EJBでネットワーク通信に使用されるカスタム・ネットワーク・チャネルを割り当てます。ネットワーク・チャネルによって、一連の接続属性が定義されます。詳細は、『Oracle WebLogic Serverサーバー環境の管理』のネットワーク・リソースの構成に関する項を参照してください。

<weblogic-enterprise-bean>
    <network-access-point>SSLChannel</network-access-point>
</weblogic-enterprise-bean>

passivate-as-principal-name

値の範囲:有効なWebLogic Serverプリンシパル

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

WebLogic Server 8.1 SP01で導入されたpassivate-as-principal-name要素は、本来はejbPassivateが匿名プリンシパルで実行される状況で使用されるプリンシパルを指定します。そのような状況では、どのプリンシパルを選択するかは次のルールで決まります。

passivate-as-principal-nameが設定されている場合

そのプリンシパルを使用します。

あるいは

ejb-jar.xmlでBeanに対してrun-asロールが指定されている場合

run-as-role-assignmentを設定するためのルールに従ってプリンシパルを使用します。

あるいは

ejbPassivateを匿名プリンシパルとして実行します。

passivate-as-principal-name要素は、ejbPassivate内の処理が匿名プリンシパルよりも高レベルの権限を必要とする場合にのみ指定する必要があります。

この要素は、キャッシュのタイムアウトでパッシブ化が行われたときにステートレス・セッションBeanのejbPassivateメソッドに影響します。

「remove-as-principal-name」「create-as-principal-name」、および「principal-name」も参照してください。

persistence

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor

機能

コンテナ管理の永続性サービスを使用するエンティティEJBでのみ必須です。persistence要素は、WebLogic ServerのエンティティEJBに対する永続性タイプ、トランザクション・コミット動作、ejbLoad()動作、およびejbStore()動作を決定するプロパティを定義します。

  • is-modified-method-name

  • delay-updates-until-end-of-tx

  • finders-load-bean

  • persistence-use

<entity-descriptor>
    <persistence>
        <is-modified-method-name>...</is-modified-method-name>
        <delay-updates-until-end-of-tx>...</delay-updates-until-end-of-tx>
        <finders-load-beand>...</finders-load-bean>
        <persistence-use>...</persistence-use>
    </persistence>
</entity-descriptor>

persistence-use

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor
    persistence

機能

コンテナ管理の永続性サービスを使用するエンティティEJBでのみ必須です。persistence-use要素は、この特定のBeanに使用する永続性タイプの識別子を格納します。

<persistence-use>
    <type-identifier>WebLogic_CMP_RDBMS</type-identifier>
    <type-version>5.1.0</type-version>
    <type-storage>META-INF/weblogic-cmp-jar.xml</type-storage>
</persistence-use>

persistent-store-dir

値の範囲:有効なファイル・システム・ディレクトリ

デフォルト値: pstore

親要素:

weblogic-enterprise-bean
  stateful-session-descriptor

機能

パッシブ化されたステートフル・セッションBeanインスタンスの状態をWebLogic Serverが格納するファイル・システム・ディレクトリを指定します。詳細については、「パッシブ化されたBeanの永続ストア・ディレクトリの指定」を参照してください

<stateful-session-descriptor>
    <stateful-session-cache>...</stateful-session-cache>
    <allow-concurrent-calls>...</allow-concurrent-calls>
    <persistent-store-dir>MyPersistenceDir</persistent-store-dir>
    <stateful-session-clustering>...</stateful-session-clustering>
    <allow-remove-during-transaction>
</stateful-session-descriptor>

persistent-store-logical-name

値の範囲:ファイル・システムの永続ストアの有効な名前

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor
    timer-descriptor

および

weblogic-enterprise-bean
  message-driven-descriptor
    timer-descriptor

機能

WebLogic Serverがタイマー・オブジェクトを格納する、サーバーのファイル・システム上の永続ストアの名前を指定します。この要素で永続ストアの名前を指定しない場合、タイマー・オブジェクトはデフォルト・ストアに格納されます。

pool

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  stateless-session-descriptor or message-driven-descriptor

および

  entity-descriptor

機能

エンティティEJB、ステートレス・セッションEJB、およびメッセージドリブンEJBのWebLogic Serverフリー・プールの動作を構成します。オプションは以下のとおりです。

  • max-beans-in-free-pool

  • initial-beans-in-free-pool

  • idle-timeout-seconds

<stateless-session-descriptor>
    <pool>
        <max-beans-in-free-pool>500</max-beans-in-free-pool>
        <initial-beans-in-free-pool>250</initial-beans-in-free-pool>
    </pool>
</stateless-session-descriptor>

principal-name

値の範囲:有効なWebLogic Serverプリンシパル名

デフォルト値:なし

親要素:

weblogic-ejb-jar
  security-role-assignment

機能

指定したrole-nameに適用される実際のWebLogic Serverプリンシパルの名前を指定します。security-role-assignment要素に少なくとも1つのprincipal-nameが必要です。各role-nameに対し複数のprincipal-nameを定義できます。

「security-role-assignment」を参照してください。

provider-url

値の範囲:有効なURL

デフォルト値: t3://localhost:7001

親要素:

weblogic-enterprise-bean
  message-destination-descriptor

および

weblogic-enterprise-bean
  message-driven-descriptor

機能

InitialContextで使用されるURLを指定します。『Oracle WebLogic ServerメッセージドリブンBeanの開発』の宛先を考慮したMDBの構成に関する項およびprovider-urlの設定方法に関する項を参照してください。

<message-driven-descriptor>
    <provider-url>WeblogicURL:Port</provider-url>
</message-driven-descriptor>

「message-destination-descriptor」も参照してください。

read-timeout-seconds

指定できる値: 0 - maxSecondsです。maxSecondsは整数の最大値です。

デフォルト値: 600

親要素:

weblogic-enterprise-bean
  entity-descriptor
    entity-cache

または

weblogic-enterprise-bean
  entity-descriptor
    entity-cache-ref

機能

Read-OnlyエンティティBeanでejbLoadを呼び出す間隔の秒数を指定します。値を0にすると、WebLogic ServerはBeanがキャッシュに送られたときだけejbLoad()を呼び出します。

次の例では、インスタンスが最初にキャッシュされた場合にのみWebLogic ServerがAccountBeanクラスのインスタンスに対してejbLoad()を呼び出します。

<weblogic-enterprise-bean>
    <ejb-name>AccountBean</ejb-name>
    <entity-descriptor>
        <entity-cache>
            <read-timeout-seconds>0</read-timeout-seconds>
        </entity-cache>
    </entity-descriptor>
</weblogic-enterprise-bean>

remote-client-timeout

指定できる値: 0 - maxSecondsです。maxSecondsは整数の最大値です。

デフォルト値: 0

親要素:

weblogic-enterprise-bean

機能

リモートRMIクライアントがタイムアウトするまでの待機時間を指定します。『Oracle WebLogic Server RMIアプリケーションの開発』の読取りタイムアウトの使用に関する項を参照してください。

以下のエントリの場合、リモートRMIクライアントは5秒待機してからタイムアウトします。

<weblogic-enterprise-bean>
    <ejb-name>AccountBean</ejb-name>
    ...
    <remote-client-timeout>5</remote-client-timeout>
</weblogic-enterprise-bean>

remove-as-principal-name

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

このパラメータは、ejbRemove内の処理が匿名プリンシパル以上の権限を必要とする場合にのみ指定する必要があります。

WebLogic Server 8.1 SP1で導入されたremove-as-principal-name要素は、本来はejbRemoveが匿名プリンシパルで実行される状況で使用されるプリンシパルを指定します。そのような状況では、どのプリンシパルを選択するかは次のルールで決まります。

remove-as-principal-nameが設定されている場合

そのプリンシパルを使用します。

あるいは

ejb-jar.xmlでBeanに対してrun-asロールが指定されている場合

run-as-role-assignmentを設定するためのルールに従ってプリンシパルを使用します。

あるいは

ejbRemoveを匿名プリンシパルとして実行します。

remove-as-principal-name要素は、ejbRemove内の処理が匿名プリンシパルよりも高レベルの権限を必要とする場合にのみ指定する必要があります。

この要素は、ステートレス・セッションBeanとメッセージドリブンBeanのejbRemoveメソッドに影響します。

「passivate-as-principal-name」「create-as-principal-name」、および「principal-name」も参照してください。

replication-type

値の範囲: InMemory | None

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  stateful-session-descriptor
    stateful-session-clustering

機能

クラスタ内のWebLogic Serverインスタンスのステートフル・セッションEJBの状態をWebLogic Serverがレプリケートするかどうかを指定します。InMemoryを指定した場合、EJBの状態はレプリケートされます。Noneを指定した場合、状態はレプリケートされません。

「stateful-session-clustering」を参照してください。

resource-env-ref-name

値の範囲: ejb-jar.xmlファイルにある有効なリソース環境参照名

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  resource-env-description

機能

リソース環境参照名を指定します。

「resource-description」を参照してください。

res-ref-name

値の範囲: ejb-jar.xmlファイルにある有効なリソース参照名

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  resource-description

機能

resourcefactory参照の名前を指定します。これは、EJBプロバイダによってejb-jar.xmlデプロイメント記述子ファイル内に記載される参照です。EJBがejb-jar.xmlのリソース参照を指定する場合にのみ必須になります。

「resource-description」を参照してください。

resource-adapter-jndi-name

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar
  weblogic-enterprise-bean
    message-driven-descriptor

機能

このMDBがメッセージを受け取るリソース・アダプタを指定します。

resource-description

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

ejb-jar.xmlに定義されているリソース参照をWebLogic Server内に用意されている実際のリソースのJNDI名にマップします。

<resource-description>
    <res-ref-name>. . .</res-ref-name>
    <jndi-name>...</jndi-name>
</resource-description>
<ejb-reference-description>
    <ejb-ref-name>. . .</ejb-ref-name>
    <jndi-name>. . .</jndi-name>
</ejb-reference-description>

resource-env-description

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

ejb-jar.xmlに定義されているリソース環境参照をWebLogic Server内に用意されている実際のリソースのJNDI名にマップします。

<resource-env-description>
    <resource-env-ref-name>. . .</resource-env-ref-name>
    <jndi-name>...</jndi-name>
</reference-env-description>

jndi-nameが有効なURLでない場合、WebLogic ServerはそれをURLに対応し、すでにJNDIツリーにバインドされているオブジェクトとして取り扱い、LinkRefとそのjndi-nameをバインドします。

resource-link

値の範囲: JMSモジュール内の有効なリソース

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  message-destination-descriptor

機能

ejb-jar.xmlに定義されているJMSモジュール内のリソースをWebLogic Serverの実際のJMSモジュール参照にマップします。

「message-destination-descriptor」を参照してください。

retry-count

値の範囲:任意の正の整数

注意:

この値を0以下に設定することは可能ですが、推奨されません。この値が1以上でない場合、EJBコンテナはトランザクションを再試行しません。

デフォルト値:なし

親要素:

weblogic-ejb-jar
  retry-methods-on-rollback

機能

EJBコンテナが、ロールバックされたコンテナ管理によるトランザクション・メソッドを自動的に再試行する回数を指定します。

retry-methods-on-rollback

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar

機能

ここで指定したメソッドに対して、EJBコンテナはロールバックされたコンテナ管理によるトランザクションを自動的に再試行します。自動的なトランザクションの再試行は、コンテナ管理のトランザクションの境界設定を使用するセッションBeanおよびエンティティBeanについて、サポートされています。また、この要素で指定されたメソッドに関わらず、EJBコンテナは、システム例外に基づくエラーが原因で失敗したトランザクションは再試行しません。

role-name

値の範囲:有効なアプリケーション・ロール名

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  security-role-assignment

機能

EJBプロバイダがejb-jar.xmlデプロイメント記述子に指定したアプリケーションのロール名を示します。要素の次のprincipal-name要素で、WebLogic Serverプリンシパルを、指定したrole-nameにマップします。

「security-role-assignment」を参照してください。

run-as-identity-principal

値の範囲:有効なセキュリティ・プリンシパル名

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

注意:

run-as-identity-principal要素は、このリリースのWebLogic Serverでは非推奨です。代わりにrun-as-principal-nameを使用します。

run-as-identity-principal要素は、ejb-jar.xmlデプロイメント記述子で、セキュリティID run-as-role-nameを指定したBeanのrun-asプリンシパルとして使用されるセキュリティ・プリンシパル名を指定します。

run-as-role-nameのrun-as-identity-principalまたはrun-as-principal-nameへのマッピングがどのようにして生じるかの説明は、run-as-role-assignment要素のコメントを参照してください。

<run-as-identity-principal>
    Fred
</run-as-identity-principal>

run-as-principal-name

値の範囲:有効なプリンシパル

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

ejb-jar.xmlデプロイメント記述子で、security-identity run-as role-nameを指定したBeanのrun-asプリンシパルとして使用されるセキュリティ・プリンシパル名を指定します。

run-as role-namerun-as-principal-nameへのマッピングがどのようにして生じるかの説明は、run-as-role-assignment要素のコメントを参照してください。

<run-as-principal-name>
    Fred
</run-as-principal-name>

run-as-role-assignment

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

ejb-jar.xmlデプロイメント記述子ファイルで指定されたsecurity-identity run-as role-namerun-as-principal-nameにマップします。

ここで指定した特定のrole-nameに対するrun-as-principal-nameの値は、ejb-jar.xmlデプロイメント記述子内のすべてのBeanを対象とし、role-nameをsecurity-identity run-as-role-nameとして指定したすべてのBeanに適用されます。

ここで指定したrun-as-principal-name値は、そのBeanのweblogic-enterprise-bean要素の下でrun-as-principal-nameを指定することによって、個々のBeanレベルでオーバーライドできます。

注意:

特定のBeanについて、run-as-role-assignmentまたはBean固有のrun-as-principal-nameタグでrun-as-principal-nameが指定されていない場合、EJBコンテナはweblogic-enterprise-bean security-role-assignmentのセキュリティ・ユーザーの最初のprincipal-namerole-nameとして選択し、そのprincipal-namerun-as-principal-nameとして使用します。

ejb-jar.xmlデプロイメント記述子ファイルが、次のような状況であると仮定します。

  • Beans 'A_EJB_with_runAs_role_X'および'B_EJB_with_runAs_role_X'

    security-identity run-as role-name 'runAs_role_X'を指定します。

  • Bean 'C_EJB_with_runAs_role_Y'

    security-identity run-as role-name 'runAs_role_Y'を指定します。

対応するデプロイメント記述子ファイルweblogic-ejb-jar.xmlから抜粋した次のコードを検討してください。

<weblogic-ejb-jar>
    <weblogic-enterprise-bean>
        <ejb-name>
            A_EJB_with_runAs_role_x
        </ejb-name>
    </weblogic-enterprise-bean>
    <weblogic-enterprise-bean>
        <ejb-name>
            B_EJB_with_runAs_role_X
        </ejb-name>
        <run-as-principal-name>
            Joe 
        </run-as-principal-name>
    </weblogic-enterprise-bean>
    <weblogic-enterprise-bean>
        <ejb-name>
            C_EJB_with_runAs_role_Y
        </ejb-name>
    </weblogic-enterprise-bean>
    <security-role-assignment>
        <role-name>
            runAs_role_Y
        </role-name>
        <principal-name>
            first_principal_of_role_Y
        </principal-name>
        <principal-name>
            second_principal_of_role_Y
        </principal-name>
    </security-role-assignment>
    <run-as-role-assignment>
        <role-name> 
            runAs_role_X 
        </role-name>
        <run-as-principal-name>
            Fred
        </run-as-principal-name>
    </run-as-role-assignment>
</weblogic-ejb-jar>

各Beanは、そのrun-as-principal-nameとして異なるプリンシパル名を選択します。

A_EJB_with_runAs_role_X

このBeanのrun-as-role-nameは「runAs_role_X」です。使用するプリンシパルの名前のルックアップには、jarスコープの<run-as-role-assignment>マッピングが使用されます。

<run-as-role-assignment>マッピングにより、<role-name>「runAs_role_X」に対して、<run-as-principal-name>「Fred」を使用すべきであることが指定されます。

「Fred」が、使用されるプリンシパル名です。

B_EJB_with_runAs_role_X

このBeanのrun-as-role-nameも「runAs_role_X」です。このBeanは使用するプリンシパルの名前のルックアップにjarスコープの<run-as-role-assignment>を使用することはありません。なぜなら、この値はこのBeanの<weblogic-enterprise-bean> <run-as-principal-name>値である「Joe」でオーバーライドされているからです。

「Joe」が、使用されるプリンシパル名です。

C_EJB_with_runAs_role_Y

このBeanのrun-as-role-nameは「runAs_role_Y」です。「runAs_role_Y」のrun-asプリンシパル名としての明示的なマッピングはありません。つまり、「runAs_role_Y」に対するjarスコープの<run-as-role-assignment>も、Beanスコープの<run-as-principal-name>も、このBeanのweblogic-enterprise-beanでは指定されていません。

使用するプリンシパル名を決定するには、<role-name>「runAs_role_Y」の<security-role-assignment>を検証します。ユーザー(つまり、グループではない)に対応する最初の<principal-name>が選択されます。

「first_principal_of_role_Y」が、使用されるプリンシパル名です。

security-permission

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar

機能

Java EE Sandboxと関連するセキュリティ権限を指定します。

詳細は、セキュリティ権限の仕様を参照してください。

http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html

<security-permission>
    <description>Optional explanation goes here</description>
    <security-permission-spec>
    ...
    </security-permission-spec>
</security-permission> 

security-permission-spec

値の範囲:なし

デフォルト値:なし

親要素:

security-permission

機能

セキュリティ・ポリシー・ファイル構文に基づいて単一のセキュリティ権限を指定します。

詳細は、セキュリティ権限の仕様を参照してください。

http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html

「java.vm.version」に「read」権限を与え、それが上書きされるのを防止するには、次の手順に従います。

  1. 次のようにsecurity-permission-specを設定します。
    <security-permission>
        <description>Optional explanation goes here</description>
        <security-permission-spec> grant { permission     java.util.PropertyPermission "java.vm.version", "read"; };
        </security-permission-spec>
    </security-permission>
    
  2. 次のオプションを使用してサーバーを起動するようにstartWeblogicスクリプトを修正します。
    JAVA_OPTIONS=-Djava.security.manager
    
  3. ドメイン・ディレクトリにlibという名前のディレクトリを作成します。
  4. 次の表を%WL_HOME%\server\lib\weblogic.policyファイルに追加します。
    add grant codeBase "file:/<Your user_projects dir>/YourDomain/lib/-" { permission java.security.AllPermission; }; 
    

    これは、EJBスタブのクラスパスがlibであるために必要です。

security-role-assignment

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar

機能

ejb-jar.xmlファイルのアプリケーション・ロールをWebLogic Serverのセキュリティ・プリンシパルの名前にマップします。

<security-role-assignment>
    <role-name>PayrollAdmin</role-name>
    <principal-name>Tanya</principal-name>
    <principal-name>system</principal-name>
    <externally-defined>True</externally-defined>
    ...
</security-role-assignment>

service-reference-description

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

ejb-jar.xml内のWebサービス宛先の参照を、WebLogic Serverの実際のWebサービスにマップします。

  • wsdl-url - リモートWebサービスを呼び出すためのスタブを作成するためにクライアントによって使用される、参照対象Webサービスの動的wsdlのURL。

  • port-info - wsdlに指定されるwsdl:port情報を定義します。

  • port-name - wsdl:portのローカル名を定義します。

  • stub-property - クライアント・サイドのスタブで設定されるプロパティ。javax.xml.rpc.Stub._setProperty(prop_name, prop_value)と同じ効果があります。

<service-reference-description>
    <service-ref-name>service/WebServiceBroker</service-ref-name>
    <wsdl-url>
        http://@PROXY_SERVER@/webservice/BrokerServiceBean?wsdl
    </wsdl-url>
    <call-property>...</call-property>
    <port-info>
        <port-name>BrokerServiceIntfPort</port-name>
        <stub-property>
            <name>javax.xml.rpc.service.endpoint.address</name>
            <value>http://@PROXY_SERVER@/webservice/BrokerServiceBean<;/value>
        </stub-property>
    </port-info>
</service-reference-description>

session-timeout-seconds

値の範囲: (指定なし)

デフォルト値: idle-timeout-seconds

親要素:

weblogic-enterprise-bean
  stateful-session-descriptor
    stateful-session-cache

機能

EJBコンテナがパッシブ化されたステートフル・セッションBeanをどのくらいディスクに置いておくのかを指定します。コンテナは、Beanインスタンスをディスクにパッシブ化した後にパッシブ化されたEJBのsession-timeout-secondsを削除します。session-timeout-secondsを指定しない場合、デフォルトはidle-timeout-secondsで指定された値です。

<stateful-session-descriptor>
    <stateful-session-cache> 
        <max-beans-in-cache>4</max-beans-in-cache>
        <idle-timeout-seconds>5</idle-timeout-seconds> 
        <session-timeout-seconds>120</session-timeout-seconds> 
        <cache-type>LRU</cache-type> 
    </stateful-session-cache>
</stateful-session-descriptor>

singleton-bean-call-router-class-name

値の範囲:有効なカスタム・クラス名

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  singleton-session-descriptor
    singleton-clustering

機能

Beanのメソッド呼出しのルーティングに使用するカスタム・クラスの名前を指定します。このクラスはweblogic.rmi.cluster.CallRouter()を実装する必要があります。指定すると、このクラスのインスタンスは各メソッド呼出しの前に呼び出されます。ルーター・クラスでは、メソッドのパラメータを基に、ルーティングするサーバーを選択できます。このクラスは、サーバー名を返すか、または現在のロード・アルゴリズムがサーバーを選択する必要があることを示すnullを返します。

「singleton-clustering」を参照してください。

singleton-bean-is-clusterable

値の範囲: true | false

デフォルト値: false

親要素:

weblogic-enterprise-bean
  singleton-session-descriptor

機能

Beanのリモート・ビジネス・ビューをクラスタ化可能としてマークし、ロード・バランシングおよびフェイルオーバーをサポートします。

singleton-bean-is-clusterableTrueの場合、EJBをクラスタ内の複数のWebLogic Serverからデプロイできます。ホーム・スタブの呼出しは、Beanがデプロイされるサーバー間で負荷が分散されます。Beanのホスト・サーバーにアクセスできなかった場合、呼出しは、Beanを提供する他のサーバーに自動的にフェイルオーバーします。

「singleton-clustering」を参照してください。

singleton-bean-load-algorithm

値の範囲: round-robin | random | weight-based | RoundRobinAffinity | RandomAffinity | WeightBasedAffinity

デフォルト値: weblogic.cluster.defaultLoadAlgorithmの値

親要素:

weblogic-enterprise-bean
  singleton-session-descriptor
    singleton-clustering

機能

EJBホームのレプリカ間のロード・バランシングに使用するアルゴリズムを指定します。

singleton-bean-load-algorithmを次のいずれかの値として定義できます。

  • round-robin - Beanのホスト・サーバー間で順番にロード・バランシングを実行します。

  • random - Beanのホスト・サーバー間でランダムにロード・バランシングを実行します。

  • weight-based - サーバーの現在の負荷に応じてロード・バランシングを実行します。

  • round-robin-affinity - サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ラウンドロビン・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。

  • weight-based-affinity - サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、重みベース・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。

  • random-affinity - サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ランダム・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。

詳細は、『Oracle WebLogic Serverクラスタの管理』のEJBおよびRMIオブジェクトのロード・バランシングに関する項を参照してください。

「singleton-clustering」を参照してください。

singleton-clustering

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  singleton-session-descriptor

機能

WebLogic Serverがクラスタ内のシングルトン・セッションEJBインスタンスをレプリケートする方法を決めるオプションを指定します。

<singleton-clustering>
    <singleton-bean-is-clusterable>
        True
    </singleton-bean-is-clusterable>
    <singleton-bean-load-algorithm>
        random</singleton-bean-load-algorithm>
    <singleton-bean-call-router-class-name>
        beanRouter
    </singleton-bean-call-router-class-name>
    <singleton-bean-methods-are-idempotent>
        True
    </singleton-bean-methods-are-idempotent>
</singleton-clustering>

singleton-session-descriptor

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

WebLogic Serverのシングルトン・セッションEJBに対するキャッシュ、クラスタ化、および永続性などのデプロイメント動作を定義します。

<singleton-session-descriptor>
    <pool>...</pool>
    <singleton-clustering>...</singleton-clustering>
</singleton-session-descriptor>

stateful-session-cache

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  stateful-session-descriptor

機能

ステートフル・セッションEJBインスタンスのキャッシュに使用する以下のオプションを定義します。

  • max-beans-in-cache

  • idle-timeout-seconds

  • session-timeout-sections

  • cache-type

ステートフル・セッションBeanのキャッシュの詳細については、「ステートフル・セッションEJBのキャッシュとパッシブ化」を参照してください。

次の例では、stateful-session-cache要素の指定方法を示します。

<stateful-session-cache>
    <max-beans-in-cache>...</max-beans-in-cache>
    <idle-timeout-seconds>...</idle-timeout-seconds>
    <session-timeout-seconds>...</session-timeout-seconds>
    <cache-type>...</cache-type>
</stateful-session-cache>

stateful-session-clustering

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  stateful-session-descriptor

機能

WebLogic Serverがクラスタ内のステートフル・セッションEJBインスタンスをレプリケートする方法を決める以下のオプションを指定します。

  • home-is-clusterable

  • home-load-algorithm

  • home-call-router-class-name

  • replication-type

<stateful-session-clustering>
    <home-is-clusterable>True</home-is-clusterable>
    <home-load-algorithm>random</home-load-algorithm>
    <home-call-router-class-name>beanRouter</home-call-router-class-name>
    <replication-type>InMemory</replication-type>
</stateful-session-clustering>

stateful-session-descriptor

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

WebLogic Serverのステートレス・セッションEJBに対するキャッシュ、クラスタ化、および永続性などのデプロイメント動作を定義します。

<stateful-session-descriptor>
    <stateful-session-cache>...</stateful-session-cache>
    <allow-concurrent-calls>...</allow-concurrent-calls>
    <allow-remove-during-transaction>...
    </allow-remove-during-transaction>
    <persistent-store-dir>/myPersistenceStore</persistent-store-dir>
    <stateful-session-clustering>...</stateful-session-clustering>
</stateful-session-descriptor>

stateless-bean-call-router-class-name

値の範囲:有効なカスタム・クラス名

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  stateless-session-descriptor
    stateless-clustering

機能

Beanのメソッド呼出しのルーティングに使用するカスタム・クラスの名前を指定します。このクラスはweblogic.rmi.cluster.CallRouter()を実装する必要があります。指定すると、このクラスのインスタンスは各メソッド呼出しの前に呼び出されます。ルーター・クラスでは、メソッドのパラメータを基に、ルーティングするサーバーを選択できます。このクラスは、サーバー名を返すか、または現在のロード・アルゴリズムがサーバーを選択する必要があることを示すnullを返します。

「stateless-clustering」を参照してください。

stateless-bean-is-clusterable

値の範囲: True | False

デフォルト値: True

親要素:

weblogic-enterprise-bean
  stateless-session-descriptor
    stateless-clustering

機能

stateless-bean-is-clusterableTrueの場合、EJBをクラスタ内の複数のWebLogic Serverからデプロイできます。ホーム・スタブの呼出しは、Beanがデプロイされるサーバー間で負荷が分散されます。Beanのホスト・サーバーにアクセスできなかった場合、呼出しは、Beanを提供する他のサーバーに自動的にフェイルオーバーします。

「stateless-clustering」を参照してください。

stateless-bean-load-algorithm

値の範囲: round-robin | random | weight-based | RoundRobinAffinity | RandomAffinity | WeightBasedAffinity

デフォルト値: weblogic.cluster.defaultLoadAlgorithmの値

親要素:

weblogic-enterprise-bean
  stateless-session-descriptor
    stateless-clustering

機能

EJBホームのレプリカ間のロード・バランシングに使用するアルゴリズムを指定します。

stateless-bean-load-algorithmを以下のいずれかの値で定義できます。

  • round-robin - Beanのホスト・サーバー間で順番にロード・バランシングを実行します。

  • random - Beanのホスト・サーバー間でランダムにロード・バランシングを実行します。

  • weight-based - サーバーの現在の負荷に応じてロード・バランシングを実行します。

  • round-robin-affinity - サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ラウンドロビン・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。

  • weight-based-affinity - サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、重みベース・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。

  • random-affinity - サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ランダム・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。

詳細は、『Oracle WebLogic Serverクラスタの管理』のEJBおよびRMIオブジェクトのロード・バランシングに関する項を参照してください。

「stateless-clustering」を参照してください。

stateless-clustering

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  stateless-session-descriptor

機能

WebLogic Serverがクラスタ内のステートレス・セッションEJBインスタンスをレプリケートする方法を決めるオプションを指定します。

<stateless-clustering>
    <stateless-bean-is-clusterable>
        True
    </stateless-bean-is-clusterable>
    <stateless-bean-load-algorithm>
        random</stateless-bean-load-algorithm>
    <stateless-bean-call-router-class-name>
        beanRouter
    </stateless-bean-call-router-class-name>
    <stateless-bean-methods-are-idempotent>
        True
    </stateless-bean-methods-are-idempotent>
</stateless-clustering>

stateless-session-descriptor

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

WebLogic Serverのステートレス・セッションEJBに対するキャッシュ、クラスタ化、および永続性などのデプロイメント・パラメータを定義します。

<stateless-session-descriptor>
    <pool>...</pool>
    <stateless-clustering>...</stateless-clustering>
</stateless-session-descriptor>

stick-to-first-server

値の範囲: TrueまたはFalse

デフォルト値: False

親要素:

weblogic-enterprise-bean

機能

クラスタにセッション維持型ロード・バランシングを定義します。最初のリクエストをサービスするために選ばれたサーバーが、後続のすべてのリクエストにも使用されます。

<stick-to-first-server>
    True
</stick-to-first-server>

timer-descriptor

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor

または

  message-driven-descriptor

または

  singleton-session-descriptor

または

  stateless-session-descriptor

機能

Beanに関するローカル・タイマー情報の保存に使用する永続ストアを指定します。

timer-implementation

値の範囲:

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

  • Clustered - タイマーがクラスタ対応であることを指定します。このオプションを選択すると、EJBタイマーに対して自動フェイルオーバー、ロード・バランシング、クラスタ内の強化したアクセシビリティなどの機能が提供されます。WebLogic ServerのクラスタにデプロイされるEJBの場合はこのオプションをお薦めします。

  • Local - タイマーが作成されたサーバー上でのみタイマーが動作し、そのサーバー上のBeanからしか見えないことを指定します。この要素をLocalに設定すると、EJBをクラスタにデプロイし、タイマーを作成するためにEJBを呼び出した場合、その呼出しはクラスタ内のいずれかのサーバーに届きます。別の呼出し(タイマーの取り消しなど)もクラスタ内のどのサーバーにも届く可能性があり、必ずしも、タイマーを作成する呼出しが届いた同じサーバーに届くとは限りません。たとえば、タイマーを作成する呼出しがserver1にリダイレクトされ、タイマーを取り消す呼出しがserver2にリダイレクトされた場合、server2にあるEJBにはserver1にあるタイマーが見えないため、タイマーを取り消すことはできません。

ローカル・タイマーを使用するときにこの制限を回避するには、以下のいずれかの方法を使用できます。

  • クラスタ内の1つのサーバーにEJBデプロイメントを固定します。こうすると、EJBに対するすべての呼出しはEJBが固定されているサーバーに届き、すべてのタイマーはその同じサーバー上に存在することになります。ただし、この方法を使用すると、そのEJBはロード・バランシングやフェイルオーバーなどのクラスタ化の利点を利用できなくなります。

  • JMSトピックをリスンするメッセージドリブンBean (MDB)を使用して、クラスタ内のすべてのサーバーにタイマーを取り消す呼出しが届くようにします。タイマーを取り消すメッセージはJMSトピックにパブリッシュされ、各サーバー上のMDBによって処理されます。次に、各サーバー上のMDBはBeanのcancelTimerメソッドを呼び出します。ただし、この方法を使用するとアプリケーションがより複雑になり、すべてのサーバー上でタイマーを取り消そうとするのは効率がよくません。

デフォルト値: Local (ファイル・ストアの現在のEJBタイマー・サービスを使用)

親要素:

weblogic-ejb-jar

機能

EJBタイマー・サービスがクラスタ対応であるかどうかを指定します。

<timer-implementation>
    Clustered
</timer-implementation>

transaction-descriptor

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean

機能

WebLogic Serverのトランザクション動作を定義するオプションを指定します。現在、この要素にはtrans-timeout-secondsという子要素だけがあります。

<transaction-descriptor>
<trans-timeout-seconds>20</trans-timeout-seconds>
</transaction-descriptor>

transaction-isolation

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar

機能

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

<transaction-isolation>
    <isolation-level>...</isolation-level>
    <method>
        <description>...</description>
        <ejb-name>...</ejb-name>
        <method-intf>...</method-intf>
        <method-name>...</method-name>
        <method-params>...</method-params>
    </method>
</transaction-isolation>

詳細については、「isolation-level」を参照してください

transport-requirements

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  iiop-security-descriptor

機能

EJBの転送の要件を指定します。

<iiop-security-descriptor>
    <transport-requirements>
        <confidentiality>supported</confidentiality>
        <integrity>supported</integrity>
        <client-cert-authentication>suppoted 
        </client-cert-authentication>
    </transport-requirements>
</iiop-security-descriptor>

trans-timeout-seconds

値の範囲: 0 - max

デフォルト値:ドメイン・レベルJTA構成によるもの。

親要素:

weblogic-enterprise-bean
  transaction-descriptor

機能

EJBのコンテナで初期化されたトランザクションの最長継続時間を指定します。トランザクションの継続時間がtrans-timeout-secondsの値を超えると、WebLogic Serverによってトランザクションがロールバックされます。

「transaction-descriptor」を参照してください。

type-identifier

値の範囲:有効な文字列。WebLogic_CMP_RDBMSはWebLogic ServerのRDBMSベースの永続性を指定します。

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor
    persistence
      persistence-use

機能

コンテナ管理の永続性サービスを使用するエンティティEJBでのみ必須です。エンティティEJBの永続性タイプを指定します。WebLogic Server RDBMSベースの永続性では、WebLogic_CMP_RDBMSという識別子を使用します。別の永続性ベンダーを使用している場合の正しいtype-identifierについてはベンダーのドキュメントを参照してください。

WebLogic Server RDBMSベースの永続性に関する完全な永続性タイプの定義の例については、「persistence-use」を参照してください。

type-storage

値の範囲:有効な文字列

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor
    persistence
      persistence-use

機能

コンテナ管理の永続性サービスを使用するエンティティEJBでのみ必須です。この永続性タイプのデータを格納するファイルの絶対パスを定義します。パスは、EJBのデプロイメントJARファイルまたはデプロイメント・ディレクトリの最上位を基準にしたファイルの場所を指定する必要があります。

WebLogic Server RDBMSベースの永続性では通常、Beanの永続性データを格納するのにweblogic-cmp-jar.xmlというXMLファイルを使用します。このファイルは、JARファイルのMETA-INFサブディレクトリにあります。

WebLogic Server RDBMSベースの永続性に関する完全な永続性タイプの定義の例については、「persistence-use」を参照してください。

type-version

値の範囲:有効な文字列

デフォルト値:なし

親要素:

weblogic-enterprise-bean
  entity-descriptor
    persistence
      persistence-use

機能

同じ永続性タイプの複数バージョンがインストールされている場合に、コンテナ管理による永続性サービスを使用するエンティティEJBの場合に必須です。指定した永続性タイプのバージョンを指定します。たとえば、WebLogic 2.0 CMPの永続性の場合は、次の値を使用します。

6.0

WebLogic 1.1 CMPの永続性の場合は、次の値を使用します。

5.1.0

この要素は、同じ永続性タイプの複数のバージョンがインストールされている場合に必須です。

WebLogic ServerのRDBMSベースの永続性を使用する場合、指定したバージョンは、WebLogic ServerのRDBMS永続性バージョンと完全に一致させる必要があります。バージョンが一致していないと、次のエラーが発生します。

weblogic.ejb.persistence.PersistenceSetupException: Error initializing the CMP
Persistence Type for your bean: No installed Persistence Type matches the signature of
(identifier 'Weblogic_CMP_RDBMS', version 'version_number').

WebLogic Server RDBMSベースの永続性に関する完全な永続性タイプの定義の例については、「persistence-use」を参照してください。

use-serverside-stubs

値の範囲: true | false

デフォルト値: false

親要素:

weblogic-enterprise-bean
  entity-descriptor
    entity-clustering

および

weblogic-enterprise-bean
  stateful-session-descriptor
    stateful-session-clustering

および

weblogic-enterprise-bean
  entity-descriptor
    entity-clustering

機能

Beanホームがサーバーのコンテキストでサーバー・サイド・スタブを使用するようにします。

「entity-clustering」の例を参照してください

use81-style-polling

値の範囲: true | false

デフォルト値: false

親要素:

weblogic-ejb-jar
  weblogic-enterprise-bean
    message-driven-descriptor

機能

WLSバージョン8.1方式のポーリングの後方互換性を有効にします。

WLSバージョン8.1以前では、バッチ処理が有効になっているトランザクション対応MDBは、デプロイ済の各MDBごとに専用のポーリング・スレッドを作成していました。このポーリング・スレッドはdispatch-policyで指定されたプールから割り当てられるものではなく、システムで動作している他のすべてのスレッドに追加される、完全に新しいスレッドでした。詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』のWLS 10.0以前の方式のポーリングに対する後方互換性に関する項を参照してください。

「entity-clustering」の例を参照してください

weblogic-compatibility

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar

機能

WebLogic Server 9.0で導入された要素で、互換性フラグを指定する要素が含まれます。

weblogic-ejb-jar

値の範囲:なし

デフォルト値:なし

親要素:なし

機能

weblogic-ejb-jarは、EJBデプロイメント記述子のWebLogicコンポーネントのルート要素です。

weblogic-enterprise-bean

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar

機能

WebLogic Server内で利用可能なBeanに関するデプロイメント情報が含まれます。

work-manager

値の範囲:なし

デフォルト値:なし

親要素:

weblogic-ejb-jar

機能

EJBの作業要求を管理するワーク・マネージャを指定します。

ワーク・マネージャの詳細は、『Oracle WebLogic Serverサーバー環境の管理』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する項を参照してください。