| Oracle Containers for J2EE Enterprise JavaBeans開発者ガイド 10g(10.1.3.1.0) B31852-03 |
|
この付録では、OC4J固有のEJBデプロイメント・ディスクリプタであるorion-ejb-jar.xmlに含まれている次のような要素について説明します。
詳細は、次を参照してください。
アプリケーションをデプロイするたびに、OC4Jにより、デフォルトの要素を持つOC4J固有のXMLファイルが自動的に生成されます。これらのデフォルトを変更する場合、orion-ejb-jar.xmlファイルを、元のejb-jar.xmlファイルが存在している場所にコピーし、ここで変更する必要があります。XMLファイルをデプロイした場所で変更すると、アプリケーションが再びデプロイされた場合に、OC4Jによってこれらの変更が上書きされます。開発ディレクトリで変更が行われた場合のみ、変更が維持されます。
オラクル社では、OC4J固有のXMLファイルを、図A-1に示す推奨する開発用ディレクトリ構造に追加することをお薦めします。
表A-2に、orion-ejb-jar.xmlファイルの<entity-deployment>要素のすべての属性を説明し、orion-ejb-jar.xmlファイルで構成するオプションおよびTopLink永続性APIを使用して構成するオプションを示します。
次に例を示します。
<entity-deployment>の属性call-timeoutを構成するには、対応するTopLink永続性APIを使用する必要があります。orion-ejb-jar.xmlファイル内でcall-timeout属性を設定した場合、OC4Jではこの属性が無視されます。
<entity-deployment>の属性clustering-schemaを構成するには、orion-ejb-jar.xmlファイルを使用する必要があります。対応するTopLink永続性APIはありません。
EJB 3.0アプリケーションの場合は、TopLink固有のデプロイメント・ディスクリプタ・ファイルejb3-toplink-sessions.xmlおよびtoplink-ejb-jar.xmlでorion-ejb-jar.xml構成を補強することにより、TopLink永続性APIにアクセスします。詳細は、「JPA永続性プロバイダのカスタマイズ」を参照してください。
EJB 2.1アプリケーションでは、orion-ejb-jar.xmlの要素pm-propertiesを使用してTopLink永続性APIにアクセスします。詳細は、「TopLink EJB 2.1永続性マネージャのカスタマイズ」を参照してください。
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 Bean(セッションBean、エンティティBeanおよびメッセージドリブンBean)の追加のデプロイ情報を定義します。各EJBのタイプごとにセクションが分かれています。
次の各項で、<enterprise-beans>要素内の要素を説明します。
<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>セクションでは、この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固有のアノテーション |
これらの要素とサブ要素の詳細は、次を参照してください。
<session-deployment>、@StatefulDeploymentまたは@StatelessDeployment構成(関連する場合)を含むセッションBeanの例は、次を参照してください。
表A-1に、<session-deployment>要素の属性とそれに対応する@StatelessDeploymentおよび@StatefulDeploymentアノテーションの属性(該当する場合)をリストし、各属性がステートレス・セッションBeanのみ、ステートフル・セッションBeanのみ、またはその両方のいずれに適用されるかを示します。
| 属性 | @StatelessDeploymentの同等属性 | @StatefulDeploymentの同等属性 | ステートレス | ステートフル | 説明 |
|---|---|---|---|---|---|
|
|
|
|
|
|
このパラメータは、ビジネス・メソッドまたはライフ・サイクル・メソッドを起動するリソースを待機する最大時間を指定します。これは、ビジネス・メソッドが起動するまでのタイムアウトではありません。
タイムアウトに達すると、
デフォルト値は90000ミリ秒です。 |
|
|
|
|
|
|
EJBコールのすべての受信および送信パラメータをコピーする(クローンを作成する)かどうか。速度を上げるには、使用するアプリケーションがcopy-by-valueセマンティクスを前提としないことが確実な場合、この値を |
|
|
|
|
|
|
各Beanに対してアイドル・タイムアウトを設定できます。このタイムアウトが経過すると、非アクティブ化が発生します。この属性を適切な秒数に設定します。デフォルトは300秒(5分)です。この属性を無効にするには、負の数を指定します。 |
|
|
|
|
|
|
属性は、OC4Jによるインターセプタ・クラスのライフ・サイクルの処理方法を示します。インターセプタのタイプは、
詳細は、「シングルトン・インターセプタ」を参照してください。 |
|
|
|
|
|
|
このEnterprise BeanがバインドされるローカルJNDI名。 |
|
|
|
|
|
|
このBeanのOC4Jローカル・ホーム・ラッパー・クラスの名前。内部サーバー値のため、編集しないでください。 |
|
|
|
|
|
|
このBeanがバインドされるJNDI名。 |
|
|
|
|
|
|
メモリー内に存在できるインスタンス化またはプールされたBeanインスタンスの数。この値に達すると、OC4Jは最低使用頻度(LRU)アルゴリズムを使用してBeanを非アクティブ化しようとします。Beanインスタンスの数を無限に許可する場合は、
インスタンス・プーリングを無効にするには、 詳細は、次を参照してください。 |
|
|
|
|
|
|
非アクティブ化が行われるまでにメモリー内に存在できるBeanの
パーセンテージとして解釈される整数を指定します。 この属性を無効にするには、負の数を指定します。 |
|
|
|
|
|
|
このパラメータは、システム・レベルの障害によってロールバックされたトランザクションの再試行回数を指定します。デフォルトは
ステートフル・セッションBeanでは、
通常は、再試行によって解決できるエラーがある場合のみ再試行の回数を追加することをお薦めします。たとえば、分離レベルserializableを使用していて、競合が発生したとき自動的にトランザクションが再試行されるようにする場合には、再試行を使用できます。ただし、競合の発生時にBeanに通知する場合は、 詳細は、『Oracle Application Serverパフォーマンス・ガイド』のEJBの項を参照してください。 |
|
|
|
|
|
|
非アクティブ化が発生するまでに使用可能なJVMメモリーの量に対するしきい値を定義します。 この値に達すると、アイドル・タイムアウトが経過していない場合でもBeanは非アクティブ化されます。デフォルトは80%です。 この属性を無効にするには、負の数を指定します。 |
|
|
|
|
|
|
インスタンス化またはプールされた状態で維持されるBean実装インスタンスの最小数。デフォルトは |
|
|
|
|
|
|
Beanの名前。これは、EJBデプロイメント・ディスクリプタのアセンブリ・セクション( |
|
|
|
|
|
|
いずれかのリソースしきい値に達した場合に非アクティブ化されるBeanの数を定義する整数です。Beanの非アクティブ化は、最低使用頻度アルゴリズムを使用して実行されます。デフォルトは、 |
|
|
|
|
|
|
再起動のたびにセッションが保存されるファイルへのパス。 |
|
|
|
|
|
|
ステートレス・セッションBeanの場合、
デフォルト値は |
|
|
|
|
|
|
ステートフル・セッションBeanに対する状態レプリケーションの構成。値は、 |
|
|
|
|
|
|
コンテナは、すべてのリソースをこの時間間隔でチェックします。この時点でいずれかのしきい値に達している場合は、非アクティブ化が発生します。デフォルトは180秒(3分)です。 この属性を無効にするには、負の数を指定します。 |
|
|
|
|
|
|
ステートフル・セッションBeanがプールのクリーンアップの対象となるまでに非アクティブ状態を継続できる最大秒数。値が0(ゼロ)または負の数の場合、すべてのタイムアウトが使用禁止になります。 30秒ごとに、プール・クリーンアップ・ロジックが起動します。プール・クリーンアップ・ロジックの実行中に、タイムアウト値を渡すことによって削除されるのは、タイムアウトしたセッションのみです。 アプリケーションでのステートフル・セッションBeanの使用状況に応じて、タイムアウトを調整します。たとえば、ステートフル・セッションBeanを明示的に削除しないアプリケーションの場合は、多数のステートフル・セッションBeanが作成されるため、タイムアウト値を短い時間に設定できます。 アプリケーションでステートフル・セッションBeanを1800秒(30分)以上使用可能にする必要がある場合は、タイムアウト値をそれにあわせて調整します。 デフォルト値は1800秒です。 |
|
|
|
|
|
|
このステートレスまたはステートフル・セッションBeanによって開始されたトランザクションがコミットまたはロールバックされるのをOC4Jが待機する最大秒数。値が0(ゼロ)または負の数の場合、タイムアウトは無効になります。 |
|
|
|
|
|
|
このパラメータは、トランザクションの再試行の時間間隔を秒数で指定します。デフォルト値は60秒です。 |
|
|
|
|
|
|
このBeanのOC4Jラッパー・クラスの名前。内部サーバー値のため、編集しないでください。 |
<ior-security-config>要素は相互運用性の要素です。詳細は、『Oracle Containers for J2EEサービス・ガイド』の相互運用性に関する章で説明されています。
<env-entry-mapping>要素は、環境変数をJNDI名にマッピングします。
詳細は、「環境変数への環境参照の構成」で説明されています。
<ejb-ref-mapping>要素は、EJB参照をJNDI名にマッピングします。
詳細は、「EJB環境参照」で説明されています。
<resource-ref-mapping>要素は、EJB参照をJNDI名にマッピングします。
詳細は、「リソース・マネージャのコネクション・ファクトリ環境参照」で説明されています。
<resource-env-ref-mapping>要素は、リソースの管理オブジェクトをマッピングするために使用されます。たとえば、JMSを使用するために、BeanはJMSファクトリ・オブジェクトと接続先オブジェクトの両方を取得する必要があります。これらのオブジェクトは、JNDIから同時に取得されます。<resource-ref>要素でJMSファクトリを宣言し、<resource-env-ref>要素を使用して接続先を宣言します。したがって、<resource-env-ref-mapping>要素は接続先オブジェクトをマッピングします。
詳細は、「リソース・マネージャのコネクション・ファクトリ環境参照」を参照してください。
<message-destination-ref-mapping>要素は、JMS 1.1を使用している場合にのみ使用します。この要素を使用してクライアント・デプロイメント・ディスクリプタのmessage-destination-ref-nameをOC4J環境で使用できる別の場所にマッピングします。これにより、メッセージ・コンシューマおよびプロデューサを1つ以上の共通の論理的な宛先にリンクする手段が提供されます。詳細は、「JMS宛先リソース・マネージャのコネクション・ファクトリへの環境参照の構成(JMS 1.1)」を参照してください。
<entity-deployment>セクションでは、このJARファイル内でデプロイされたEJB 2.xまたはEJB 1.1エンティティBeanの追加のデプロイ情報を提供します。
<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の実装」を参照してください。
表A-2に、<entity-deployment>要素の属性をリストします。
OC4JによるTopLink永続性サポートの詳細は、「TopLink永続性サポート」を参照してください。
| 属性 | orion-ejb-jar.xmlファイルで構成可能 | TopLink永続性APIを使用して構成可能 | 説明 |
|---|---|---|---|
|
|
|
|
TopLink永続性APIを使用して、問合せが結果を返すのをOC4Jが待機する最大時間を指定できます。問合せタイムアウトにより、結果を適時に返さないハングした問合せや長時間かかる問合せによってアプリケーションが永久にブロックされることがなくなります。 問合せタイムアウトは、識別子および問合せレベルで指定できます。 識別子レベルの問合せタイムアウトは、識別子の参照クラスのすべての問合せに適用されます。特定のオブジェクト・タイプのすべての問合せに同じタイムアウトを適用するには、識別子レベルの問合せタイムアウトを指定します。 問合せレベルの問合せタイムアウトは、その問合せにのみ適用されます。 詳細は、次を参照してください。 |
|
|
|
|
使用しません。このリリースでは必要ありません。 |
|
|
|
|
EJBコールのすべての受信および送信パラメータをコピーする(クローンを作成する)かどうか。速度を上げるには、使用するアプリケーションがcopy-by-valueセマンティクスを前提としないことが確実な場合、この値を
デフォルト値は |
|
|
|
|
コンテナ管理の永続性を使用している場合、データソースの名前。 |
|
|
|
|
TopLink永続性APIを使用して、遅延または非遅延変更用にOC4Jを構成できます。デフォルトでは、TopLinkはコミット時まですべての変更を遅延します。これは、データソースの対話回数を最小にする最も効率的なアプローチです。または、非遅延変更用にエンティティBeanの識別子を構成できます。これは、エンティティBeanの永続フィールドを変更すると、OC4Jによってリレーショナル・スキーマが即時に変更されることを意味します。 詳細は、『Oracle TopLink開発者ガイド』の非遅延変更に関する項を参照してください。 |
|
|
|
|
デフォルトでは、アプリケーションがOC4Jのデフォルトの永続性ユニットのみ使用している場合に、OC4Jでは 詳細は、「OC4Jの永続性ユニットのデフォルトについて」を参照してください。 |
|
|
|
|
TopLinkでは、変更を書き出す前に選択を実行しません。同時上書きの可能性に対処するために、オプティミスティック・ロックを使用することをお薦めします。 詳細は、「同時実行性(ロック)モード」を参照してください。 |
|
|
|
|
TopLink永続性APIを使用している場合、TopLinkは作業ユニット・トランザクション領域を使用して変更セットを計算し、変更を書き出すため、OC4Jではエンティティ・インスタンスへの排他的書込みアクセスが前提とされます。作業ユニット・トランザクション領域は、共有セッション・キャッシュから分離されています。 詳細は、『Oracle TopLink開発者ガイド』の作業ユニット・アーキテクチャに関する項を参照してください。 |
|
|
|
|
TopLink永続性APIを使用している場合は、フェッチ・グループを構成できます。これにより、Beanの属性のサブセットを取得できます。これは、遅延ロードと同等です。 詳細は、『Oracle TopLink開発者ガイド』のフェッチ・グループによる問合せの使用に関する項を参照してください。 |
|
|
|
|
TopLink永続性APIを使用している場合は、いずれかの永続データが変更されたことをOC4Jが認識していない場合でもOC4Jで永続性関連のライフ・サイクル・メソッドを実行するかどうかを構成できます。
詳細は、『Oracle TopLink開発者ガイド』のEJB情報を使用したディスクリプタの構成に関する項を参照してください。 |
|
|
|
|
TopLink永続性APIを使用している場合、これはオブジェクト・キャッシュと作業ユニット・トランザクション領域を提供するため、データベース・トランザクション分離レベルはTopLinkに関連しません。かわりに、TopLink作業ユニットおよびキャッシュ分離レベルの構成を検討してください。 データベース分離レベルを通じたロックの処理は、めったに行われません。通常、ロックはオプティミスティックまたはペシミスティック・ロックを通じて行われます。 TopLinkデータベース・ログインに対してトランザクション分離レベルを構成できます。この設定は、データベース・ログインを使用するすべてのBeanおよびトランザクションに適用されます。 デフォルトでは、TopLinkはデータベースに対して設定されている分離レベルを使用します。 詳細は、次を参照してください。
|
|
|
|
|
このBeanがバインドされるローカルJNDI名を定義します。 |
|
|
|
|
このBeanのOC4Jローカル・ホーム・ラッパー・クラスの名前。内部サーバー値のため、編集しないでください。 |
|
|
|
|
このBeanがバインドされるJNDI名。 |
|
|
|
|
TopLink永続性APIを使用して、次のロック・モードを構成できます。
詳細は、「同時実行性(ロック)モード」を参照してください。 |
|
|
|
|
インスタンス化またはプールされた状態で維持されるBean実装インスタンスの最大数。デフォルトは
インスタンス・プーリングを無効にするには、 詳細は、「Beanインスタンスのプール・サイズの構成」を参照してください。 |
|
|
|
|
このパラメータは、システム・レベルの障害によってロールバックされたトランザクションの再試行回数を指定します。
通常は、再試行によって解決できるエラーがある場合のみ再試行の回数を追加することをお薦めします。たとえば、分離レベルserializableを使用していて、競合が発生したとき自動的にトランザクションが再試行されるようにする場合には、再試行を使用できます。ただし、競合の発生時にBeanに通知する場合は、
詳細は、『Oracle Application Serverパフォーマンス・ガイド』のEJBの項を参照してください。 |
|
|
|
|
インスタンス化またはプールされた状態で維持されるBean実装インスタンスの最小数。 詳細は、「Beanインスタンスのプール・サイズの構成」を参照してください。 |
|
|
|
|
Beanの名前。これは、EJBデプロイメント・ディスクリプタのアセンブリ・セクション( |
|
|
|
|
Bean実装インスタンスを、プールされた(割り当てられていない)状態で維持する秒単位の時間。負の数を指定すると、ガベージ・コレクションが行われるまでインスタンスを維持します。デフォルトは60です。詳細は、「エンティティBeanのBeanインスタンス・プール・タイムアウトの構成」を参照してください。 |
|
|
|
|
TopLink永続性APIを使用して、このBeanに関連付けられているデータベース表の名前を指定できます。 詳細は、『Oracle TopLink開発者ガイド』の関連表の構成に関する項を参照してください。 |
|
|
|
|
このパラメータは、トランザクションの再試行の時間間隔を秒数で指定します。デフォルトは60秒です。1 |
|
|
|
|
TopLink永続性APIを使用している場合、TopLink作業ユニットは変更セットを常に計算し、変更されたフィールドのみについて更新文を生成します。 |
|
|
|
|
TopLink永続性APIを使用して、無効化ポリシーを構成できます。 詳細は、『Oracle TopLink開発者ガイド』のキャッシュの無効化に関する項を参照してください。 |
|
|
|
|
このBeanのOC4Jリモート・ホーム・ラッパー・クラスの名前。内部サーバー値のため、編集しないでください。 |
|
1
この属性を指定した場合、XML検証は有効化できません(「XMLファイルの検証」を参照)。 |
<ior-security-config>要素は、相互運用性のCSIv2セキュリティ・ポリシーを構成します。詳細は、『Oracle Containers for J2EEサービス・ガイド』の相互運用性に関する章で説明されています。
<primkey-mapping>要素は、主キーを対応するコンテナ管理の永続性フィールドにマッピングします。このリリースでは、この機能はorion-ejb-jar.xmlファイルで構成されません。OC4Jにより自動的に構成されます。この機能を手動で構成するには、TopLink永続性APIを使用します。
詳細は、次を参照してください。
コンテナ管理の永続性を備えた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>要素は、EJB 1.1エンティティBeanのfinderメソッドを作成するために使用されます。
詳細は、次を参照してください。
<env-entry-mapping>要素は、環境変数をJNDI名にマッピングします。詳細は、
「環境変数への環境参照の構成」で説明されています。
<ejb-ref-mapping>要素は、EJB参照をJNDI名にマッピングします。詳細は、「EJB環境参照」で説明されています。
<service-ref-mapping>要素は、EJB参照をWebサービスにマッピングします。詳細は、「Webサービスへの環境参照の構成」で説明されています。
<resource-ref-mapping>要素は、EJB参照をJNDI名にマッピングします。詳細は、
「リソース・マネージャのコネクション・ファクトリ環境参照」で説明されています。
<resource-env-ref-mapping>要素は、リソースの管理オブジェクトをマッピングするために使用されます。たとえば、JMSを使用するために、BeanはJMSファクトリ・オブジェクトと接続先オブジェクトの両方を取得する必要があります。これらのオブジェクトは、JNDIから同時に取得されます。<resource-ref>要素でJMSファクトリを宣言し、<resource-env-ref>要素を使用して接続先を宣言します。したがって、<resource-env-ref-mapping>要素は接続先オブジェクトをマッピングします。詳細は、「リソース・マネージャのコネクション・ファクトリ環境参照」を参照してください。
<message-destination-ref-mapping>要素は、JMS 1.1を使用している場合にのみ使用します。この要素を使用してクライアント・デプロイメント・ディスクリプタのmessage-destination-ref-nameをOC4J環境で使用できる別の場所にマッピングします。これにより、メッセージ・コンシューマおよびプロデューサを1つ以上の共通の論理的な宛先にリンクする手段が提供されます。詳細は、「JMS宛先リソース・マネージャのコネクション・ファクトリへの環境参照の構成(JMS 1.1)」を参照してください。
<commit-option>要素により、トランザクション・コミット時にエンティティBeanインスタンスの状態が決定され、OC4Jが特定のアプリケーション条件を最適化できる柔軟性が提供されます。詳細は、「エンティティBeanのコミット・オプション」で説明されています。
<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固有のアノテーション |
これらの要素とサブ要素の詳細は、次を参照してください。
<message-driven-deployment>要素を含むメッセージドリブンBeanの例は、次を参照してください。
表A-3に、メッセージ・サービス・オプションを構成するのに使用できる<message-driven-deployment>要素の属性をリストします。この表には、対応する次の代替構成も含まれます。
詳細は、次を参照してください。
表A-3 <message-driven-deployment>要素の属性
| <message-driven-deployment>の属性 | @MessageDrivenDeploymentの属性 | 説明 | アクティブ化構成プロパティ名1 |
|---|---|---|---|
|
|
poolCacheTimeout |
このパラメータは、プールにキャッシュされたメッセージドリブンBeanを維持する期間を指定します。
プールの デフォルト値は60(秒)です。 |
N/A |
|
|
N/A |
使用するコネクション・ファクトリのJNDIの場所。JMSの |
|
|
|
dequeueRetryCount |
データベース・フェイルオーバーの発生後、リスナー・スレッドによって試行されるJMSセッションの再取得頻度を指定します。これは、MDBのコンテナ管理のトランザクションにのみ適用されます。 詳細は、次を参照してください。 |
|
|
|
dequeueRetryInterval |
詳細は、次を参照してください。 |
|
|
|
destinationLocation |
使用する接続先(キュー、トピック)のJNDIの場所。JMSの |
表B-1の「DestinationName」を参照 |
|
|
interceptorType |
属性は、OC4Jによるインターセプタ・クラスのライフ・サイクルの処理方法を示します。インターセプタのタイプは、
詳細は、「シングルトン・インターセプタ」を参照してください。 |
N/A |
|
|
listenerThreads |
リスナー・スレッドは、JMSメッセージを並行してコンシュームするために使用されます。デフォルトのスレッドは1つです。トピックに指定できるスレッドは1つのみです。キューには複数のスレッドを指定できます。 詳細は、「パラレル・メッセージ処理の構成」を参照してください。 |
表B-2の「ReceiverThreads」を参照 |
|
|
maxDeliveryCount |
メッセージドリブンBeanの 詳細は、「最大配信数の構成」を参照してください。 |
表B-2の「MaxDeliveryCnt」を参照 |
|
|
maxInstances |
インスタンス化またはプールされた状態で維持されるBean実装インスタンスの最大数。デフォルトは
インスタンス・プーリングを無効にするには、 メッセージドリブンBeanの場合、通常はデフォルトのプーリング設定が適切です。この値は、MDBライフ・サイクル・メソッドのコストが非常に高く、プール内でのインスタンスの作成および管理の頻度に対してファイングレインな制御を行う必要がある場合にのみ変更します。 詳細は、「Beanインスタンスのプール・サイズの構成」を参照してください。 |
N/A |
|
|
minInstances |
インスタンス化またはプールされた状態で維持されるBean実装インスタンスの最小数。 詳細は、「Beanインスタンスのプール・サイズの構成」を参照してください。 |
N/A |
|
|
name |
Beanの名前。これは、EJBデプロイメント・ディスクリプタのアセンブリ・セクション( |
N/A |
|
|
resourceAdapter |
このMDBが使用するリソース・アダプタ・インスタンスの名前。このMDBがJ2CAメッセージ・サービス・プロバイダを使用している場合にのみ適用されます。リソース・アダプタにより受信されたメッセージでMDBをアクティブにするには、MDBとリソース・アダプタを接続する必要があります。 詳細は、「メッセージ・サービス・プロバイダで使用するためのJ2CAリソース・アダプタの構成」を参照してください。 |
N/A |
|
|
subscriptionName |
このメッセージドリブンBeanがサブスクライブするトピックの名前。 |
表B-2の「SubscriptionName」を参照 |
|
|
transactionTimeout |
この属性によって、コンテナ管理のトランザクションMDBのトランザクション・タイムアウト時間(秒)を制御します。デフォルトは1日(86,400秒)です。この時間枠内でトランザクションが完了しない場合、トランザクションはロールバックされます。このことは、通常のJMSとJ2CAリソース・アダプタベースのメッセージ・プロバイダの両方に適用されます。 詳細は、「メッセージドリブンBeanのトランザクション・タイムアウトの構成」を参照してください。 |
表B-2の「TransactionTimeout」を参照 |
1
<message-driven-deployment>要素の<config-property>サブ要素、または@MessageDrivenDeploymentあるいは@MessageDrivenアノテーションに所有される@ActivationConfigPropertyアノテーションで使用される場合。 |
<env-entry-mapping>要素は、環境変数をJNDI名にマッピングします。詳細は、
「環境変数への環境参照の構成」で説明されています。
<ejb-ref-mapping>要素は、EJB参照をJNDI名にマッピングします。詳細は、「EJB環境参照」で説明されています。
<resource-ref-mapping>要素は、リソース・マネージャ参照をJNDI名にマッピングします。詳細は、「リソース・マネージャのコネクション・ファクトリ環境参照」で説明されています。
<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>要素は、JMS 1.1を使用している場合にのみ使用します。この要素を使用してクライアント・デプロイメント・ディスクリプタのmessage-destination-ref-nameをOC4J環境で使用できる別の場所にマッピングします。これにより、メッセージ・コンシューマおよびプロデューサを1つ以上の共通の論理的な宛先にリンクする手段が提供されます。詳細は、「JMS宛先リソース・マネージャのコネクション・ファクトリへの環境参照の構成(JMS 1.1)」を参照してください。
<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構成をオーバーライドできます。
詳細は、次を参照してください。
個別の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>要素については、「ユーザーおよびグループへの論理ロールのマッピング」で説明されています。
<default-method-access>要素については、「未定義メソッドに対するデフォルト・ロール・マッピングの指定」で説明されています。
<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>要素は、次のいずれかのスタイルを使用して構成できます。
<method> <ejb-name>EJBNAME</ejb-name> <method-name>*</method-name> </method>
<method> <ejb-name>EJBNAME</ejb-name> <method-name>METHOD</method-name> </method>
<method> <ejb-name>EJBNAME</ejb-name> <method-name>METHOD</method-name> <method-params> <method-param>PARAM-1</method-param> <method-param>PARAM-2</method-param> ... <method-param>PARAM-n</method-param> </method-params> </method>
|
![]() Copyright © 2002, 2008 Oracle Corporation. All Rights Reserved. |
|