ヘッダーをスキップ

Oracle Containers for J2EE Enterprise JavaBeans開発者ガイド
10g(10.1.3.1.0)

B31852-03
目次
目次
索引
索引

戻る 次へ

A orion-ejb-jar.xml要素のXML参照

この付録では、OC4J固有のEJBデプロイメント・ディスクリプタであるorion-ejb-jar.xmlに含まれている次のような要素について説明します。

詳細は、次を参照してください。

OC4Jおよびorion-ejb-jar.xmlファイル

アプリケーションをデプロイするたびに、OC4Jにより、デフォルトの要素を持つOC4J固有のXMLファイルが自動的に生成されます。これらのデフォルトを変更する場合、orion-ejb-jar.xmlファイルを、元のejb-jar.xmlファイルが存在している場所にコピーし、ここで変更する必要があります。XMLファイルをデプロイした場所で変更すると、アプリケーションが再びデプロイされた場合に、OC4Jによってこれらの変更が上書きされます。開発ディレクトリで変更が行われた場合のみ、変更が維持されます。

オラクル社では、OC4J固有のXMLファイルを、図A-1に示す推奨する開発用ディレクトリ構造に追加することをお薦めします。

図A-1    開発アプリケーションのディレクトリ構造


画像の説明

TopLink永続性サポート

表A-2に、orion-ejb-jar.xmlファイルの<entity-deployment>要素のすべての属性を説明し、orion-ejb-jar.xmlファイルで構成するオプションおよびTopLink永続性APIを使用して構成するオプションを示します。

次に例を示します。

EJB 3.0アプリケーションの場合は、TopLink固有のデプロイメント・ディスクリプタ・ファイルejb3-toplink-sessions.xmlおよびtoplink-ejb-jar.xmlorion-ejb-jar.xml構成を補強することにより、TopLink永続性APIにアクセスします。詳細は、「JPA永続性プロバイダのカスタマイズ」を参照してください。

EJB 2.1アプリケーションでは、orion-ejb-jar.xmlの要素pm-propertiesを使用してTopLink永続性APIにアクセスします。詳細は、「TopLink EJB 2.1永続性マネージャのカスタマイズ」を参照してください。


注意

TopLinkデプロイメント・ディスクリプタ・ファイルを変更するには、TopLink Workbenchを使用します。

詳細は、次を参照してください。

  • 『Oracle TopLink開発者ガイド』のOC4J Orion永続性からOC4J TopLink永続性への移行に関する項

  • 『Oracle TopLink開発者ガイド』のTopLink Workbenchの理解に関する項

  • <OC4J_HOME>¥toplink¥config¥xsdsにあるTopLink固有のデプロイメント・ディスクリプタXML Schema文書

 

<orion-ejb-jar>

OC4J固有のデプロイメント・ディスクリプタには、セッションBean、エンティティBean、メッセージドリブンBean、およびこれらのEnterprise Beanのセキュリティに関する広範なデプロイ情報が含まれています。このデプロイメント・ディスクリプタ内の主な要素構造は、次のようになっています。

<orion-ejb-jar deployment-time=... deployment-version=...> 
 <enterprise-beans>
   <persistence-manager ...></persistence-manager>
   <session-deployment ...></session-deployment>
   <entity-deployment ...></entity-deployment>
   <message-driven-deployment ...></message-driven-deployment>
 </enterprise-beans>
 <assembly-descriptor>
   <security-role-mapping ...></security-role-mapping>
   <default-method-access></default-method-access>
 </assembly-descriptor>
</orion-ejb-jar>

<orion-ejb-jar>メイン・タグの下の各セクションは、それぞれ用途が決まっています。これらのセクションについては、次の各項で説明します。

<enterprise-beans>

<enterprise-beans>セクションでは、すべてのEnterprise Bean(セッションBean、エンティティBeanおよびメッセージドリブンBean)の追加のデプロイ情報を定義します。各EJBのタイプごとにセクションが分かれています。

次の各項で、<enterprise-beans>要素内の要素を説明します。

<persistence-manager>

<persistence-manager>セクションでは、EJB 2.1アプリケーションに対してのみ、TopLink永続性マネージャの追加のデプロイ情報が提供されます。EJB 3.0アプリケーションでは、OC4Jは常にTopLinkエンティティ・マネージャを使用します。

<persistence-manager>セクションには、次の構造が含まれています。

<persistence-manager name=... class=... descriptor=... >
  <pm-properties>
    <session-name>...</session-name>
    <project-class>...</project-class>
    <db-platform-class>...</db-platform-class>
    <default-mapping db-table-gen=... >...</default-mapping>
    <remote-relationships>...</remote-relationships>
    <cache-synchronization mode=... >...</cache-synchronization>
    <customization-class>...</customization-class>
  </pm-properties>
</persistence-manager>

<persistence-manager>要素の複数の定義は無効です。OC4Jが解析時に<persistence-manager>要素の複数の定義を検出した場合、OC4Jは警告メッセージをログに記録します。この場合、OC4Jは最初のエントリのみ使用し、後続のエントリを無視します。

永続性マネージャを明示的に指定する場合は、<persistence-manager>要素のname属性を使用します。有効な値は次のとおりです。

TopLink永続性マネージャを使用しており、TopLinkデプロイメント・ディスクリプタにtoplink-ejb-jar.xml「toplink-ejb-jar.xmlファイルとは」を参照)以外の名前を付ける場合は、<persistence-manager>要素のdescriptor属性を使用して名前を指定します。

<pm-properites>要素は、TopLink永続性マネージャにのみ適用されます。

詳細は、次を参照してください。

<session-deployment>

<session-deployment>セクションでは、このJARファイル内でデプロイされたセッションBeanの追加のデプロイ情報を提供します。

<session-deployment>セクションには、次の構造が含まれています。

<session-deployment pool-cache-timeout=... call-timeout=... copy-by-value=...
      location=... max-instances=... min-instances=... max-tx-retries=...
      tx-retry-wait=... name=... persistence-filename=... replication=...
      timeout=... idletime=... memory-threshold=... max-instances-threshold=...
      resource-check-interval=... passivate-count=... wrapper=...
      local-wrapper=... interceptor-type= ...
  <ior-security-config>
    <transport-config>
      <integrity></integrity>
      <confidentiality></confidentiality>
      <establish-trust-in-target></establish-trust-in-target>
      <establish-trust-in-client></establish-trust-in-client>
    </transport-config>
    <as-context>
      <auth-method></auth-method>
      <realm></realm>
      <required></required>
    </as-context>
    <sas-context>
      <caller-propagation></caller-propagation>
    </sas-context>
  </ior-security-config>
  <env-entry-mapping name=...> </env-entry-mapping
  <ejb-ref-mapping location=... name=... remote=... jndi-properties=... />
  <resource-ref-mapping location=... name=... >
    <lookup-context location=...>
       <context-attribute name=... value=... />
    </lookup-context>
  </resource-ref-mapping>
  <resource-env-ref-mapping location=... name=... />
  <message-destination-ref-mapping location=... name=... />
</session-deployment>


注意

別の方法として、EJB 3.0アプリケーションでは、OC4J固有のアノテーション@StatelessDeploymentおよび@StatefulDeploymentを使用できます。orion-ejb-jar.xmlファイルの<session-deployment>構成を使用すると、@StatelessDeploymentおよび@StatefulDeployment構成をオーバーライドできます。詳細は、
「EJB 3.0セッションBeanのOC4J固有のデプロイ・オプションの構成」を参照してください。 


これらの要素とサブ要素の詳細は、次を参照してください。

<session-deployment>@StatefulDeploymentまたは@StatelessDeployment構成(関連する場合)を含むセッションBeanの例は、次を参照してください。

<session-deployment>の属性

表A-1に、<session-deployment>要素の属性とそれに対応する@StatelessDeploymentおよび@StatefulDeploymentアノテーションの属性(該当する場合)をリストし、各属性がステートレス・セッションBeanのみ、ステートフル・セッションBeanのみ、またはその両方のいずれに適用されるかを示します。

表A-1    <session-deployment>要素の属性 
属性  @StatelessDeploymentの同等属性  @StatefulDeploymentの同等属性  ステートレス  ステートフル  説明 

call-timeout 

callTimeout 

callTimeout 


 

 

このパラメータは、ビジネス・メソッドまたはライフ・サイクル・メソッドを起動するリソースを待機する最大時間を指定します。これは、ビジネス・メソッドが起動するまでのタイムアウトではありません。

タイムアウトに達すると、TimedOutExceptionがスローされます。これによって、データベース接続が除外されます。

デフォルト値は90000ミリ秒です。0(ゼロ)に設定すると、タイムアウトはありません。詳細は、『Oracle Application Serverパフォーマンス・ガイド』のEJBの項を参照してください。 

copy-by-value 

copyByValue 

copyByValue 


 

 

EJBコールのすべての受信および送信パラメータをコピーする(クローンを作成する)かどうか。速度を上げるには、使用するアプリケーションがcopy-by-valueセマンティクスを前提としないことが確実な場合、この値をfalseに設定します。デフォルト値はtrueです。 

idletime 

 

idletime 


 

 

各Beanに対してアイドル・タイムアウトを設定できます。このタイムアウトが経過すると、非アクティブ化が発生します。この属性を適切な秒数に設定します。デフォルトは300秒(5分)です。この属性を無効にするには、負の数を指定します。 

interceptor-type 

interceptorType 

interceptorType 


 

 

属性は、OC4Jによるインターセプタ・クラスのライフ・サイクルの処理方法を示します。インターセプタのタイプは、bean(ステートフル・クラス)またはsingleton(ステートレス・クラス)に設定できます。

beanに設定すると、OC4Jでは、インターセプタ・クラスに関連付けられたセッションBeanインスタンスごとに個別のインターセプタ・クラス・インスタンスが作成されます。これは、EJB 3.0仕様に準拠した処理です。この場合、インターセプタ・クラスはステートフルである必要があります。

singletonに設定すると、OC4Jでは、すべてのセッションBeanインスタンスで共有される単一のインターセプタ・クラス・インスタンスが作成されます。この場合、インターセプタ・クラスはステートレスである必要があります。

詳細は、「シングルトン・インターセプタ」を参照してください。 

local-location 

localLocation 

localLocation 


 

 

このEnterprise BeanがバインドされるローカルJNDI名。 

local-wrapper 

 

 


 

 

このBeanのOC4Jローカル・ホーム・ラッパー・クラスの名前。内部サーバー値のため、編集しないでください。 

location 

location 

location 


 

 

このBeanがバインドされるJNDI名。 

max-instances 

maxInstances 

maxInstances 


 

 

メモリー内に存在できるインスタンス化またはプールされたBeanインスタンスの数。この値に達すると、OC4Jは最低使用頻度(LRU)アルゴリズムを使用してBeanを非アクティブ化しようとします。Beanインスタンスの数を無限に許可する場合は、max-instances属性を0(ゼロ)に設定できます。デフォルトは0(ゼロ)で、無限を意味します。この属性は、ステートレス・セッションBeanおよびステートフル・セッションBeanの両方に適用されます。

インスタンス・プーリングを無効にするには、max-instancesを負の数に設定します。これにより、EJBコールの開始時に新規インスタンスを作成し、コールの終了時に解放します。

詳細は、次を参照してください。

 

max-instances-threshold 

 

maxInstancesThreshold 


 

 

非アクティブ化が行われるまでにメモリー内に存在できるBeanのmax-instances数に対する割合。

パーセンテージとして解釈される整数を指定します。max-instances100max-instances-thresholdを90%に定義した場合は、アクティブBeanインスタンス数が90以上になると、Beanの非アクティブ化が発生します。デフォルトは90%です。

この属性を無効にするには、負の数を指定します。 

max-tx-retries 

maxTransactionRetries 

maxTransactionRetries 


 

 

このパラメータは、システム・レベルの障害によってロールバックされたトランザクションの再試行回数を指定します。デフォルトは0(ゼロ)です。

ステートフル・セッションBeanでは、RuntimeExceptionErrorまたはRemoteExceptionがスローされた場合に、OC4Jは再試行しません。

通常は、再試行によって解決できるエラーがある場合のみ再試行の回数を追加することをお薦めします。たとえば、分離レベルserializableを使用していて、競合が発生したとき自動的にトランザクションが再試行されるようにする場合には、再試行を使用できます。ただし、競合の発生時にBeanに通知する場合は、max-tx-retries=0のままにしておく必要があります。

詳細は、『Oracle Application Serverパフォーマンス・ガイド』のEJBの項を参照してください。 

memory-threshold 

 

memoryThreshold 


 

 

非アクティブ化が発生するまでに使用可能なJVMメモリーの量に対するしきい値を定義します。

パーセンテージとして解釈される整数を指定します。

この値に達すると、アイドル・タイムアウトが経過していない場合でもBeanは非アクティブ化されます。デフォルトは80%です。

この属性を無効にするには、負の数を指定します。 

min-instances 

minInstances 

 


 

 

インスタンス化またはプールされた状態で維持されるBean実装インスタンスの最小数。デフォルトは0(ゼロ)です。この設定が有効なのは、ステートレス・セッションBeanのみです。 

name 

 

 


 

 

Beanの名前。これは、EJBデプロイメント・ディスクリプタのアセンブリ・セクション(ejb-jar.xml)内のBeanの名前に一致します。 

passivate-count 

 

passivateCount 


 

 

いずれかのリソースしきい値に達した場合に非アクティブ化されるBeanの数を定義する整数です。Beanの非アクティブ化は、最低使用頻度アルゴリズムを使用して実行されます。デフォルトは、max-instances属性の1/3です。この属性を無効にするには、カウントを0(ゼロ)または負の数に設定します。 

persistence-filename 

 

persistenceFileName 


 

 

再起動のたびにセッションが保存されるファイルへのパス。 

pool-cache-timeout 

poolCacheTimeout 

 


 

 

pool-cache-timeoutは、ステートレス・セッションEnterprise Beanに適用されます。このパラメータは、プールにキャッシュされたステートレス・セッションを維持する期間を指定します。

ステートレス・セッションBeanの場合、pool-cache-timeoutを指定すると、pool-cache-timeoutごとに、プール内の対応するBeanタイプのBeanがすべて削除されます。値が0(ゼロ)または負の場合は、pool-cache-timeoutが無効になり、Beanはプールから削除されません。

デフォルト値は60(秒)です。 

replication 

 

replicationType 


 

 

ステートフル・セッションBeanに対する状態レプリケーションの構成。値は、inherited(デフォルト)、onShutdownonRequestEndまたはnoneのいずれかです。詳細は、「状態レプリケーション」を参照してください。 

resource-check-interval 

 

resourceCheckInterval 


 

 

コンテナは、すべてのリソースをこの時間間隔でチェックします。この時点でいずれかのしきい値に達している場合は、非アクティブ化が発生します。デフォルトは180秒(3分)です。

この属性を無効にするには、負の数を指定します。 

timeout 

 

timeout 


 

 

ステートフル・セッションBeanがプールのクリーンアップの対象となるまでに非アクティブ状態を継続できる最大秒数。値が0(ゼロ)または負の数の場合、すべてのタイムアウトが使用禁止になります。

30秒ごとに、プール・クリーンアップ・ロジックが起動します。プール・クリーンアップ・ロジックの実行中に、タイムアウト値を渡すことによって削除されるのは、タイムアウトしたセッションのみです。

アプリケーションでのステートフル・セッションBeanの使用状況に応じて、タイムアウトを調整します。たとえば、ステートフル・セッションBeanを明示的に削除しないアプリケーションの場合は、多数のステートフル・セッションBeanが作成されるため、タイムアウト値を短い時間に設定できます。

アプリケーションでステートフル・セッションBeanを1800秒(30分)以上使用可能にする必要がある場合は、タイムアウト値をそれにあわせて調整します。

デフォルト値は1800秒です。 

transaction-timeout 

transactionTimeout 

transactionTimeout 


 

 

このステートレスまたはステートフル・セッションBeanによって開始されたトランザクションがコミットまたはロールバックされるのをOC4Jが待機する最大秒数。値が0(ゼロ)または負の数の場合、タイムアウトは無効になります。 

tx-retry-wait 

transactionRetryWait 

transactionRetryWait 


 

 

このパラメータは、トランザクションの再試行の時間間隔を秒数で指定します。デフォルト値は60秒です。 

wrapper 

 

 


 

 

このBeanのOC4Jラッパー・クラスの名前。内部サーバー値のため、編集しないでください。 

<ior-security-config>

<ior-security-config>要素は相互運用性の要素です。詳細は、『Oracle Containers for J2EEサービス・ガイド』の相互運用性に関する章で説明されています。

<env-entry-mapping>

<env-entry-mapping>要素は、環境変数をJNDI名にマッピングします。
詳細は、「環境変数への環境参照の構成」で説明されています。

<ejb-ref-mapping>

<ejb-ref-mapping>要素は、EJB参照をJNDI名にマッピングします。
詳細は、「EJB環境参照」で説明されています。

<resource-ref-mapping>

<resource-ref-mapping>要素は、EJB参照をJNDI名にマッピングします。
詳細は、「リソース・マネージャのコネクション・ファクトリ環境参照」で説明されています。

<resource-env-ref-mapping>

<resource-env-ref-mapping>要素は、リソースの管理オブジェクトをマッピングするために使用されます。たとえば、JMSを使用するために、BeanはJMSファクトリ・オブジェクトと接続先オブジェクトの両方を取得する必要があります。これらのオブジェクトは、JNDIから同時に取得されます。<resource-ref>要素でJMSファクトリを宣言し、<resource-env-ref>要素を使用して接続先を宣言します。したがって、<resource-env-ref-mapping>要素は接続先オブジェクトをマッピングします。
詳細は、「リソース・マネージャのコネクション・ファクトリ環境参照」を参照してください。

<message-destination-ref-mapping>

<message-destination-ref-mapping>要素は、JMS 1.1を使用している場合にのみ使用します。この要素を使用してクライアント・デプロイメント・ディスクリプタのmessage-destination-ref-nameをOC4J環境で使用できる別の場所にマッピングします。これにより、メッセージ・コンシューマおよびプロデューサを1つ以上の共通の論理的な宛先にリンクする手段が提供されます。詳細は、「JMS宛先リソース・マネージャのコネクション・ファクトリへの環境参照の構成(JMS 1.1)」を参照してください。

<entity-deployment>

<entity-deployment>セクションでは、このJARファイル内でデプロイされたEJB 2.xまたはEJB 1.1エンティティBeanの追加のデプロイ情報を提供します。


注意

<entity-deployment>の属性とサブ要素は、EJB 2.xまたはEJB 1.1エンティティBeanのみに適用されます。これらはJPAエンティティには適用されません。 


<entity-deployment>セクションには、次の構造が含まれています。

<entity-deployment call-timeout=... clustering-schema=...
      copy-by-value=... data-source=... exclusive-write-access=... 
      disable-default-persistent-unit=...
      do-select-before-insert=... isolation=...
      location=... local-location=... locking-mode=... 
      max-instances=... min-instances=... 
      max-tx-retries=... tx-retry-wait=... update-changed-fields-only=... 
      name=... pool-cache-timeout=...
      table=... validity-timeout=... force-update=... 
      wrapper=... local-wrapper=... delay-updates-until-commit=...
      findByPrimaryKey-lazy-loading=... >
  <ior-security-config>
    <transport-config>
      <integrity></integrity>
      <confidentiality></confidentiality>
      <establish-trust-in-target></establish-trust-in-target>
      <establish-trust-in-client></establish-trust-in-client>
    </transport-config>
    <as-context>
      <auth-method></auth-method>
      <realm></realm>
      <required></required>
    </as-context>
    <sas-context>
      <caller-propagation></caller-propagation>
    </sas-context>
  </ior-security-config>
  <primkey-mapping>
   <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
      persistence-type=...></cmp-field-mapping>
  </primkey-mapping>
  <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
      persistence-type=...> </cmp-field-mapping>
  <finder-method partial=... query=... lazy-loading=... prefetch-size=... >
   <method></method>
  </finder-method>
  <env-entry-mapping name=...></env-entry-mapping>
  <ejb-ref-mapping location=... name=... remote=... jndi-properties=... />
  <resource-ref-mapping location=... name=... >
    <lookup-context location=...>
       <context-attribute name=... value=... />
    </lookup-context>
  </resource-ref-mapping>
  <resource-env-ref-mapping location=... name=... />
</entity-deployment>

これらの要素とサブ要素の詳細は、次を参照してください。

<entity-deployment>構成(関連する場合)を含むエンティティBeanの例は、第13章「EJB 2.1エンティティBeanの実装」を参照してください。

<entity-deployment>の属性

表A-2に、<entity-deployment>要素の属性をリストします。

OC4JによるTopLink永続性サポートの詳細は、「TopLink永続性サポート」を参照してください。

表A-2    <entity-deployment>要素の属性 
属性  orion-ejb-jar.xmlファイルで構成可能  TopLink永続性APIを使用して構成可能  説明 

call-timeout 


 

 

TopLink永続性APIを使用して、問合せが結果を返すのをOC4Jが待機する最大時間を指定できます。問合せタイムアウトにより、結果を適時に返さないハングした問合せや長時間かかる問合せによってアプリケーションが永久にブロックされることがなくなります。

問合せタイムアウトは、識別子および問合せレベルで指定できます。

識別子レベルの問合せタイムアウトは、識別子の参照クラスのすべての問合せに適用されます。特定のオブジェクト・タイプのすべての問合せに同じタイムアウトを適用するには、識別子レベルの問合せタイムアウトを指定します。

問合せレベルの問合せタイムアウトは、その問合せにのみ適用されます。

詳細は、次を参照してください。

  • 『Oracle TopLink開発者ガイド』のディスクリプタ・レベルでの問合せタイムアウトの構成に関する項

    『Oracle TopLink開発者ガイド』の名前付き問合せの詳細オプションの構成に関する項

  • 『Oracle TopLink開発者ガイド』の問合せレベルでの問合せタイムアウトの構成に関する項

 

clustering-schema 


 

 

使用しません。このリリースでは必要ありません。 

copy-by-value 


 

 

EJBコールのすべての受信および送信パラメータをコピーする(クローンを作成する)かどうか。速度を上げるには、使用するアプリケーションがcopy-by-valueセマンティクスを前提としないことが確実な場合、この値をfalseに設定します。

デフォルト値はtrueです。 

data-source 


 

 

コンテナ管理の永続性を使用している場合、データソースの名前。 

delay-updates-until-commit  


 

 

TopLink永続性APIを使用して、遅延または非遅延変更用にOC4Jを構成できます。デフォルトでは、TopLinkはコミット時まですべての変更を遅延します。これは、データソースの対話回数を最小にする最も効率的なアプローチです。または、非遅延変更用にエンティティBeanの識別子を構成できます。これは、エンティティBeanの永続フィールドを変更すると、OC4Jによってリレーショナル・スキーマが即時に変更されることを意味します。

詳細は、『Oracle TopLink開発者ガイド』の非遅延変更に関する項を参照してください。 

disable-default-persistent-unit 


 

 

デフォルトでは、アプリケーションがOC4Jのデフォルトの永続性ユニットのみ使用している場合に、OC4Jではpersistence.xmlファイルがなくてもEJB 3.0エンティティをデプロイできます。この機能を無効にするには、この属性をtrueに設定します。

デフォルトはfalseです。

詳細は、「OC4Jの永続性ユニットのデフォルトについて」を参照してください。 

do-select-before-insert 


 

 

TopLinkでは、変更を書き出す前に選択を実行しません。同時上書きの可能性に対処するために、オプティミスティック・ロックを使用することをお薦めします。

詳細は、「同時実行性(ロック)モード」を参照してください。 

exclusive-write-access 


 

 

TopLink永続性APIを使用している場合、TopLinkは作業ユニット・トランザクション領域を使用して変更セットを計算し、変更を書き出すため、OC4Jではエンティティ・インスタンスへの排他的書込みアクセスが前提とされます。作業ユニット・トランザクション領域は、共有セッション・キャッシュから分離されています。

詳細は、『Oracle TopLink開発者ガイド』の作業ユニット・アーキテクチャに関する項を参照してください。 

findByPrimaryKey-lazy-loading 


 

 

TopLink永続性APIを使用している場合は、フェッチ・グループを構成できます。これにより、Beanの属性のサブセットを取得できます。これは、遅延ロードと同等です。

詳細は、『Oracle TopLink開発者ガイド』のフェッチ・グループによる問合せの使用に関する項を参照してください。 

force-update 


 

 

TopLink永続性APIを使用している場合は、いずれかの永続データが変更されたことをOC4Jが認識していない場合でもOC4Jで永続性関連のライフ・サイクル・メソッドを実行するかどうかを構成できます。

trueに設定されている場合、このオプションは、OC4JがejbStoreメソッドを起動することでEJBライフ・サイクルを実行することを意味します。これによって、一時フィールドのデータが管理され、ejbStoreメソッドの実行時に適切な永続フィールドが設定されます。たとえば、イメージを、メモリー内に保持している形式とは異なる形式で、データベース内に格納することができます。

デフォルト値はfalseです。

詳細は、『Oracle TopLink開発者ガイド』のEJB情報を使用したディスクリプタの構成に関する項を参照してください。 

isolation 


 

 

TopLink永続性APIを使用している場合、これはオブジェクト・キャッシュと作業ユニット・トランザクション領域を提供するため、データベース・トランザクション分離レベルはTopLinkに関連しません。かわりに、TopLink作業ユニットおよびキャッシュ分離レベルの構成を検討してください。

データベース分離レベルを通じたロックの処理は、めったに行われません。通常、ロックはオプティミスティックまたはペシミスティック・ロックを通じて行われます。

TopLinkデータベース・ログインに対してトランザクション分離レベルを構成できます。この設定は、データベース・ログインを使用するすべてのBeanおよびトランザクションに適用されます。

デフォルトでは、TopLinkはデータベースに対して設定されている分離レベルを使用します。

詳細は、次を参照してください。

 

local-location 


 

 

このBeanがバインドされるローカルJNDI名を定義します。 

local-wrapper 


 

 

このBeanのOC4Jローカル・ホーム・ラッパー・クラスの名前。内部サーバー値のため、編集しないでください。 

location 


 

 

このBeanがバインドされるJNDI名。 

locking-mode 


 

 

TopLink永続性APIを使用して、次のロック・モードを構成できます。

  • オプティミスティック・ロック: 複数のユーザーがデータに対する読取りアクセス権を持ちます。ユーザーが変更を行おうとすると、アプリケーション・チェックが行われ、ユーザーがデータを読み取った後にデータが変更されていないことが確認されます。TopLinkでは、バージョン(推奨)、タイムスタンプおよびフィールドレベルのロックがサポートされます。

  • ペシミスティック・ロック: 更新する目的でデータにアクセスする最初のユーザーが、更新の完了までデータをロックします。これによりリソースの競合が管理され、パラレル実行はできません。エンティティBeanを実行できるのは、一度に1ユーザーのみです。

  • 読取り専用: 複数のユーザーがパラレルでエンティティBeanを実行できます。コンテナでは、Beanの状態を更新できません。

詳細は、「同時実行性(ロック)モード」を参照してください。 

max-instances 


 

 

インスタンス化またはプールされた状態で維持されるBean実装インスタンスの最大数。デフォルトは0(ゼロ)で、無限を意味します。

インスタンス・プーリングを無効にするには、max-instancesを負の数に設定します。これにより、EJBコールの開始時に新規インスタンスを作成し、コールの終了時に解放します。

詳細は、「Beanインスタンスのプール・サイズの構成」を参照してください。 

max-tx-retries 


 

 

このパラメータは、システム・レベルの障害によってロールバックされたトランザクションの再試行回数を指定します。

デフォルト値は0(ゼロ)です。

通常は、再試行によって解決できるエラーがある場合のみ再試行の回数を追加することをお薦めします。たとえば、分離レベルserializableを使用していて、競合が発生したとき自動的にトランザクションが再試行されるようにする場合には、再試行を使用できます。ただし、競合の発生時にBeanに通知する場合は、max-tx-retries=0のままにしておく必要があります。

詳細は、『Oracle Application Serverパフォーマンス・ガイド』のEJBの項を参照してください。
 

min-instances 


 

 

インスタンス化またはプールされた状態で維持されるBean実装インスタンスの最小数。

デフォルト値は0(ゼロ)です。

詳細は、「Beanインスタンスのプール・サイズの構成」を参照してください。 

name 


 

 

Beanの名前。これは、EJBデプロイメント・ディスクリプタのアセンブリ・セクション(ejb-jar.xml)内のBeanの名前に一致します。 

pool-cache-timeout 


 

 

Bean実装インスタンスを、プールされた(割り当てられていない)状態で維持する秒単位の時間。負の数を指定すると、ガベージ・コレクションが行われるまでインスタンスを維持します。デフォルトは60です。詳細は、「エンティティBeanのBeanインスタンス・プール・タイムアウトの構成」を参照してください。 

table 


 

 

TopLink永続性APIを使用して、このBeanに関連付けられているデータベース表の名前を指定できます。

詳細は、『Oracle TopLink開発者ガイド』の関連表の構成に関する項を参照してください。 

tx-retry-wait 


 

 

このパラメータは、トランザクションの再試行の時間間隔を秒数で指定します。デフォルトは60秒です。1 

update-changed-fields-only 


 

 

TopLink永続性APIを使用している場合、TopLink作業ユニットは変更セットを常に計算し、変更されたフィールドのみについて更新文を生成します。 

validity-timeout 


 

 

TopLink永続性APIを使用して、無効化ポリシーを構成できます。

詳細は、『Oracle TopLink開発者ガイド』のキャッシュの無効化に関する項を参照してください。 

wrapper 


 

 

このBeanのOC4Jリモート・ホーム・ラッパー・クラスの名前。内部サーバー値のため、編集しないでください。 

1 この属性を指定した場合、XML検証は有効化できません(「XMLファイルの検証」を参照)。

<ior-security-config>

<ior-security-config>要素は、相互運用性のCSIv2セキュリティ・ポリシーを構成します。詳細は、『Oracle Containers for J2EEサービス・ガイド』の相互運用性に関する章で説明されています。

<primkey-mapping>

<primkey-mapping>要素は、主キーを対応するコンテナ管理の永続性フィールドにマッピングします。このリリースでは、この機能はorion-ejb-jar.xmlファイルで構成されません。OC4Jにより自動的に構成されます。この機能を手動で構成するには、TopLink永続性APIを使用します。

詳細は、次を参照してください。

<cmp-field-mapping>

コンテナ管理の永続性を備えたEJB 1.1エンティティBeanを使用する場合は、<cmp-field-mapping>要素を使用して、コンテナ管理の永続性フィールドをデータベースにマッピングします。

次に、コンテナ管理の永続性を備えたEJB 1.1エンティティBean用のorion-ejb-jar.xmlファイル内で、コンテナ管理の永続データ・フィールドのマッピングに使用されるXML要素を示します。

<cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
      persistence-type=...>
   <fields> 
      <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
          persistence-type=...></cmp-field-mapping>
   </fields>
   <properties> 
      <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
            persistence-type=...></cmp-field-mapping>
   </properties>
   <entity-ref home=...> 
      <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
          persistence-type=...></cmp-field-mapping>
   </entity-ref>
   <collection-mapping table=...>
      <primkey-mapping>
         <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
             persistence-type=...></cmp-field-mapping>
      </primkey-mapping>
      <value-mapping immutable="true|false" type=...>
         <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
             persistence-type=...></cmp-field-mapping>
      </value-mapping>
   </collection-mapping>
   <set-mapping table=...>
      <primkey-mapping>
         <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
             persistence-type=...></cmp-field-mapping>
      </primkey-mapping>
      <value-mapping immutable="true|false" type=...>
         <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
             persistence-type=...></cmp-field-mapping>
      </value-mapping>
   </set-mapping>
</cmp-field-mapping>

EJB 3.0エンティティおよびEJB 2.1エンティティBeanでは、この機能はorion-ejb-jar.xmlファイルで構成されません。OC4Jにより自動的に構成されます。この機能を手動で構成するには、TopLink永続性APIを使用します。

詳細は、次を参照してください。

<finder-method>

<finder-method>要素は、EJB 1.1エンティティBeanのfinderメソッドを作成するために使用されます。

詳細は、次を参照してください。

<env-entry-mapping>

<env-entry-mapping>要素は、環境変数をJNDI名にマッピングします。詳細は、
「環境変数への環境参照の構成」で説明されています。

<ejb-ref-mapping>

<ejb-ref-mapping>要素は、EJB参照をJNDI名にマッピングします。詳細は、「EJB環境参照」で説明されています。

<service-ref-mapping>

<service-ref-mapping>要素は、EJB参照をWebサービスにマッピングします。詳細は、「Webサービスへの環境参照の構成」で説明されています。

<resource-ref-mapping>

<resource-ref-mapping>要素は、EJB参照をJNDI名にマッピングします。詳細は、
「リソース・マネージャのコネクション・ファクトリ環境参照」で説明されています。

<resource-env-ref-mapping>

<resource-env-ref-mapping>要素は、リソースの管理オブジェクトをマッピングするために使用されます。たとえば、JMSを使用するために、BeanはJMSファクトリ・オブジェクトと接続先オブジェクトの両方を取得する必要があります。これらのオブジェクトは、JNDIから同時に取得されます。<resource-ref>要素でJMSファクトリを宣言し、<resource-env-ref>要素を使用して接続先を宣言します。したがって、<resource-env-ref-mapping>要素は接続先オブジェクトをマッピングします。詳細は、「リソース・マネージャのコネクション・ファクトリ環境参照」を参照してください。

<message-destination-ref-mapping>

<message-destination-ref-mapping>要素は、JMS 1.1を使用している場合にのみ使用します。この要素を使用してクライアント・デプロイメント・ディスクリプタのmessage-destination-ref-nameをOC4J環境で使用できる別の場所にマッピングします。これにより、メッセージ・コンシューマおよびプロデューサを1つ以上の共通の論理的な宛先にリンクする手段が提供されます。詳細は、「JMS宛先リソース・マネージャのコネクション・ファクトリへの環境参照の構成(JMS 1.1)」を参照してください。

<commit-option>

<commit-option>要素により、トランザクション・コミット時にエンティティBeanインスタンスの状態が決定され、OC4Jが特定のアプリケーション条件を最適化できる柔軟性が提供されます。詳細は、「エンティティBeanのコミット・オプション」で説明されています。

<message-driven-deployment>

<message-driven-deployment>セクションでは、このJARファイル内でデプロイされたメッセージドリブンBeanの追加のデプロイ情報を提供します。

<message-driven-deployment>セクションには、次の構造が含まれています。

<message-driven-deployment cache-timeout=... connection-factory-location=...
destination-location=... name=... subscription-name=... listener-threads=... transaction-timeout=... dequeue-retry-count=... dequeue-retry-interval=... interceptor-type=... > <env-entry-mapping name=...></env-entry-mapping> <ejb-ref-mapping location=... name=... remote=... jndi-properties=... /> <resource-ref-mapping location=... name=... > <lookup-context location=...> <context-attribute name=... value=... /> </lookup-context> </resource-ref-mapping> <resource-env-ref-mapping location=... name=... /> <message-destination-ref-mapping location=... name=... /> <config-property> <config-property-name> ... </config-property-name> <config-property-value> ... </config-property-value> </config-property> </message-driven-deployment>


注意

別の方法として、EJB 3.0アプリケーションでは、OC4J固有のアノテーション@MessageDrivenDeploymentを使用できます。orion-ejb-jar.xmlファイルの<message-driven-deployment>構成を使用すると、@MessageDrivenDeployment構成をオーバーライドできます。詳細は、「EJB 3.0 MDBのOC4J固有のデプロイ・オプションの構成」を参照してください。 


これらの要素とサブ要素の詳細は、次を参照してください。

<message-driven-deployment>要素を含むメッセージドリブンBeanの例は、次を参照してください。

<message-driven-deployment>の属性

表A-3に、メッセージ・サービス・オプションを構成するのに使用できる<message-driven-deployment>要素の属性をリストします。この表には、対応する次の代替構成も含まれます。

詳細は、次を参照してください。

<env-entry-mapping>

<env-entry-mapping>要素は、環境変数をJNDI名にマッピングします。詳細は、
「環境変数への環境参照の構成」で説明されています。

<ejb-ref-mapping>

<ejb-ref-mapping>要素は、EJB参照をJNDI名にマッピングします。詳細は、「EJB環境参照」で説明されています。

<resource-ref-mapping>

<resource-ref-mapping>要素は、リソース・マネージャ参照をJNDI名にマッピングします。詳細は、「リソース・マネージャのコネクション・ファクトリ環境参照」で説明されています。

<resource-env-ref-mapping>

<resource-env-ref-mapping>要素は、リソースの管理オブジェクトをマッピングするために使用されます。たとえば、JMSを使用するために、BeanはJMSファクトリ・オブジェクトと接続先オブジェクトの両方を取得する必要があります。これらのオブジェクトは、JNDIから同時に取得されます。<resource-ref>要素でJMSファクトリを宣言し、<resource-env-ref>要素を使用して接続先を宣言します。したがって、<resource-env-ref-mapping>要素は接続先オブジェクトをマッピングします。詳細は、「JMS宛先またはコネクション・リソース・マネージャのコネクション・ファクトリへの環境参照の構成(JMS 1.0)」を参照してください。

<message-destination-ref-mapping>

<message-destination-ref-mapping>要素は、JMS 1.1を使用している場合にのみ使用します。この要素を使用してクライアント・デプロイメント・ディスクリプタのmessage-destination-ref-nameをOC4J環境で使用できる別の場所にマッピングします。これにより、メッセージ・コンシューマおよびプロデューサを1つ以上の共通の論理的な宛先にリンクする手段が提供されます。詳細は、「JMS宛先リソース・マネージャのコネクション・ファクトリへの環境参照の構成(JMS 1.1)」を参照してください。

<config-property>

<config-property>要素は、J2CAメッセージ・サービス・プロバイダを使用している場合にのみ使用されます。この要素を使用してJ2CAリソース・アダプタ構成プロパティを設定します。J2CAメッセージ・サービス・プロバイダを使用するように構成されているMDBをOC4Jがデプロイする場合、OC4Jはリソース・アダプタにMDBのアクティブ化仕様を提供します。この仕様には、<config-property>要素で設定したプロパティが含まれます。

別の方法として、EJB 3.0メッセージドリブンBeanでは、@MessageDrivenの属性configPropertyおよび@ActivationConfigアノテーションを使用してJ2CAリソース・アダプタ構成プロパティを設定できます。

orion-ejb-jar.xmlファイルの<config-property>構成を使用すると、@MessageDriven構成をオーバーライドできます。

詳細は、次を参照してください。

<assembly-descriptor>

個別のBeanに対するデプロイ情報の指定以外に、<assembly-descriptor>セクションで、セキュリティ用の追加デプロイ・マッピング情報を指定できます。<assembly-descriptor>セクションには、次の構造が含まれています。

<assembly-descriptor>
  <security-role-mapping impliesAll=... name=...>
   <group name=... />
   <user name=... />
  </security-role-mapping>
  <message-destination-mapping location=... name=...>
  </message-destination-mapping>
  <default-method-access>
   <security-role-mapping impliesAll=... name=...>
    <group name=... />
    <user name=... />
   </security-role-mapping>
  </default-method-access>
</assembly-descriptor>

これらの要素とサブ要素の詳細は、次を参照してください。

<assembly-descriptor>要素の構成例は、次を参照してください。

<security-role-mapping>

<security-role-mapping>要素については、「ユーザーおよびグループへの論理ロールのマッピング」で説明されています。

<message-destination-mapping>

<default-method-access>

<default-method-access>要素については、「未定義メソッドに対するデフォルト・ロール・マッピングの指定」で説明されています。

<method>

<method>要素は、次のようにEnterprise Beanのメソッド(および場合によってはそのパラメータ)の指定に使用します。

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

<method>要素は、次のいずれかのスタイルを使用して構成できます。


戻る 次へ
Oracle
Copyright © 2002, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引