ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server エンタープライズ JavaBeans (EJB) プログラマーズ ガイド
11g リリース 1 (10.3.1)
B55528-01
 

目次
目次

戻る
戻る
 
次へ
次へ
 

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

以下の節では、WebLogic 固有のデプロイメント記述子である weblogic-ejb-jar.xml の要素について説明します。このリリースの WebLogic Server では、weblogic-ejb-jar.xml は XML スキーマ (XSD) に基づいています。旧リリースでは、weblogic-ejb-jar.xml は文書型定義 (DTD) に基づいていました。下位互換性を保持するために、このリリースの WebLogic Server は XSD ベースと DTD ベースの EJB 記述子をサポートしています。また、このリリースでは、EJB コンテナは従来の DTD ベースの記述子もすべてサポートしているので、DTD ベースのデプロイメント記述子を使用するアプリケーションも記述子を変更せずにデプロイできます。

詳細情報

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

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

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

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

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

allow-concurrent-calls

指定できる値 : True | False

デフォルト値 : False

親要素 :

機能

ステートフル セッション 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 または 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 が 3 より小さい場合、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 に設定することにより大容量のクラスタでの起動時間を短縮できます。

詳細については、『Oracle Fusion Middleware 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-enterprise-bean

機能

この要素を 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 名を指定します。

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

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 Fusion Middleware 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-local-reference-description

指定できる値 : なし

デフォルト値 : なし

親要素 :

weblogic-enterprise-bean

機能

Bean が ejb-local-ref 要素で参照する WebLogic Server インスタンスの EJB の JNDI 名をマップします。

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

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 が発生します。

次の 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 から呼び出されるかに関係なくコピーされます (または値で渡される)。

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


注意 :

メソッドのパラメータは、EJB がリモートで呼び出されたときには常に値で渡されます。

<weblogic-enterprise-bean>
    <entity-descriptor>
        <ejb-name>AccountBean</ejb-name>
        ...
        <enable-call-by-reference>False</enable-call-by-reference>
    </entity-descriptor>
</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 Fusion Middleware Oracle WebLogic Server アプリケーションのデプロイメント』の「エンタープライズ アプリケーションのデプロイメント記述子の要素」の「module」を参照してください。

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

entity-cache-ref

指定できる値 : なし

デフォルト値 : なし

親要素 :

weblogic-enterprise-bean
  entity-descriptor

機能

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

concurrency-strategy を使用し、その Bean に使用させたい同時方式のタイプを定義します。同時方式はアプリケーション レベル キャッシュのキャッシュ戦略と適合していなくてはなりません。たとえば、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 Fusion Middleware 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

指定できる値 : 1maxSecondsmaxSeconds は整数の最大値。

デフォルト値 : 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 または message-driven-descriptor     または 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 接続を中断する初期秒数を指定します。詳細については、「JMS リソース停止中のメッセージ配信の中断のコンフィグレーション」を参照してください。

initial-beans-in-free-pool

指定できる値 : 0maxBeans

デフォルト値 : 0

親要素 :

weblogic-enterprise-bean,     stateless-session-descriptor または message-driven-descriptor     または entity-descriptor           pool

機能

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

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

initial-context-factory

指定できる値 : 初期コンテキスト ファクトリの有効な名前

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

親要素 :

weblogic-enterprise-bean
  message-destination-descriptor

および

weblogic-enterprise-bean
  message-driven-descriptor

機能

JMS プロバイダが初期コンテキストの作成に使用する初期コンテキスト ファクトリを指定します。「送り先を考慮した 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-name

指定できる値 : 有効な JNDI 名

デフォルト値 : なし

親要素 :

weblogic-enterprise-bean

および

weblogic-enterprise-bean
  resource-description

および

weblogic-enterprise-bean
  ejb-reference-description

および

weblogic-enterprise-bean
  ejb-local-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

指定できる値 : 有効な 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

指定できる値 : 1maxBeans

デフォルト値 : 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

指定できる値 : 0maxBeans

デフォルト値 : 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 要素は、このフリー プールのサイズを定義します。

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 に設定します。詳細については、「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 Fusion Middleware 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 または 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 を指定します。「送り先を考慮した MDB のコンフィグレーション」および「provider-url の設定方法」を参照してください。

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

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

read-timeout-seconds

指定できる値 : 0maxSecondsmaxSeconds は整数の最大値。

デフォルト値 : 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

指定できる値 : 0maxSecondsmaxSeconds は整数の最大値。

デフォルト値 : 0

親要素 :

weblogic-enterprise-bean

機能

リモート RMI クライアントがタイムアウトするまでの待機時間を指定します。『Oracle Fusion Middleware Oracle WebLogic Server RMI プログラマーズ ガイド』の「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」を参照してください。

res-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>
    <res-env-ref-name>. . .</res-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 デプロイメント記述子ファイルが、次のような状況であると仮定します。

  • Bean「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

機能

J2EE Sandbox と関連するセキュリティ パーミッションを指定します。

詳細については、Sun によるセキュリティ パーミッション仕様の実装を参照してください。

http://java.sun.com/j2se/1.3/docs/guide/security/PolicyFiles.html#FileSyntax

<security-permission>
    <description>任意指定の説明がここに入る</description>
    <security-permission-spec>
    ...
    </security-permission-spec>
</security-permission> 

security-permission-spec

指定できる値 : なし

デフォルト値 : なし

親要素 :

security-permission

機能

セキュリティ ポリシー ファイル構文に基づいて単一のセキュリティ パーミッションを指定します。

詳細については、Sun によるセキュリティ パーミッション仕様の実装を参照してください。

http://java.sun.com/j2se/1.3/docs/guide/security/PolicyFiles.html#FileSyntax

「java.vm.version」に「read」パーミッションを与え、それが上書きされるのを防止するには、次の手順に従います。

  1. 次のように security-permission-spec を設定します。

    <security-permission>
        <description>任意指定の説明がここに入る</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>

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 のホスト サーバ間で EJB ホームのレプリカがランダムにデプロイされる。

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

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

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

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

詳細については、『Oracle Fusion Middleware Oracle WebLogic Server クラスタの使い方』の「EJB と RMI オブジェクトのロード バランシング」を参照してください。

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

stateless-bean-methods-are-idempotent

指定できる値 : True | False

デフォルト値 : False

親要素 :

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

注意 :

この要素はこのリリースでは非推奨になりました。

機能

同一引数での同一メソッドの多重呼び出しが 1 回だけの呼び出しとまったく同じになるように設計されている Bean に対してのみ、stateless-bean-methods-are-idempotentTrue に設定します。これによって、フェイルオーバ ハンドラは、失敗した呼び出しが失敗したサーバで実際に完了していたかどうかがわからなくても失敗した呼び出しを再試行できます。このプロパティを True に設定すると、Bean を提供する他のサーバが使用できるようになっている限り、Bean スタブは障害から自動的に回復できます。

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

または

stateless-session-descriptor

機能

EJB タイマー オブジェクトを指定します。

timer-implementation

指定できる値 :

有効な値は以下のとおり。

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

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

親要素 :

weblogic-enterprise-bean
  entity-descriptor

または

  message-driven-descriptor

または

stateless-session-descriptor

機能

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

指定できる値 : 0max

デフォルト値 : 30

親要素 :

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 1.1 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 Fusion Middleware 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 Fusion Middleware Oracle WebLogic Server サーバ環境のコンフィグレーション』の「ワーク マネージャを使用したスケジューリング済み作業の最適化」を参照してください。