ヘッダーをスキップ
Oracle Containers for J2EE Orion CMP開発者ガイド
10g(10.1.3.1.0)
B31855-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

A orion-ejb-jar.xmlの要素に関するXMLリファレンス

この付録では、OC4J固有のEJBデプロイメント・ディスクリプタであるorion-ejb-jar.dtd内に含まれる要素について説明します。この付録ではその構造を示し、このDTDの要素について簡単に説明しますが、これらの要素のほとんどはこのマニュアルの他の項で詳しく説明されています。

DTDの場所はhttp://xmlns.oracle.com/ias/dtds/orion-ejb-jar.dtdです。

このデプロイメント・ディスクリプタの説明は次のように分類されています。

アプリケーションをデプロイすると、OC4Jでは常にデフォルト要素でOC4J固有XMLファイルが自動生成されます。これらのデフォルトを変更する場合は、ユーザーの元のejb-jar.xmlファイルがある場所にorion-ejb-jar.xmlファイルをコピーして、この場所でそれを変更する必要があります。デプロイされた場所でXMLファイルを変更すると、アプリケーションが再度デプロイされたときにOC4Jはこの変更を上書きします。変更は、開発ディレクトリで変更された場合のみ、一定の状態に保たれます。

ユーザーは、図A-1と同様の推奨される開発構造内にOC4J固有XMLファイルを追加する必要があります。

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

図A-1の説明が続きます
「図A-1 開発アプリケーション・ディレクトリ構造」の説明

EJBに対するOC4J固有デプロイメント・ディスクリプタ

OC4J固有デプロイメント・ディスクリプタには、エンティティBeanとこれらのBeanに対するセキュリティに関する詳細なデプロイ情報が含まれています。このデプロイメント・ディスクリプタ内の主となる重要な要素構造を次に示します。

<orion-ejb-jar deployment-time=... deployment-version=...>
    <enterprise-beans>
        <entity-deployment ...></entity-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>メイン・タグの下の各セクションにはそれぞれ目的があります。これについて次の項で説明します。

エンタープライズBeanセクション

<enterprise-beans>セクションは、すべてのEJBへの追加的なデプロイ情報を定義します。各EJBのタイプに対するセクションがあります。

<enterprise-beans>要素内の重要な要素(コンテナ管理の永続性を持つエンティティBean)について、次の項で説明します。

エンティティBeanセクション

<entity-deployment>セクションは、このJARファイル内でデプロイされたエンティティBeanに対する追加的なデプロイ情報を提供します。<entity-deployment>セクションの構造を次に示します。

<entity-deployment call-timeout=... clustering-schema=...
        copy-by-value=... data-source=... exclusive-write-access=...
        do-select-before-insert=... isolation=...
        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=... />
    <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>

各要素グループの説明は、OC4Jドキュメント・セットの次の項にあります。

表A-1<entity-deployment>要素の属性の一覧です。

表A-1 <entity-deployment>要素の属性

属性 説明

call-timeout

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

タイムアウトに達した場合、TimeOutExceptionがスローされます。これによってデータベース接続が除外されます。

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

clustering-schema

使用しないでください。適用されません。

copy-by-value

EJBコールにおけるすべての受信および送信パラメータをコピー(クローン作成)するかどうかを示します。アプリケーションが高速化のためにcopy-by-valueセマンティクスを前提としないことが確実ならば、falseに設定します。

デフォルト値はtrueです。

data-source

使用されるデータ・ソースの名前を指定します。

exclusive-write-access

EJBサーバーがバックエンド・データベースへの排他的書込み(更新)アクセスを保持するかどうかを定義します。これは、read-onlyロック・モードを使用するエンティティBeanのみに使用できます(「並行性モードの構成」を参照)。この場合、共通のBean操作のパフォーマンスが向上し、より高度なキャッシュが可能になります。

このパラメータは、使用されるコミット・オプションに対応します(EJB 2.0仕様で定義されているA、BまたはC)。exclusive-write-access=trueの場合、これはコミット・オプションAです。

locking-mode=optimisticまたはpessimisticのBeanに対するデフォルト値はfalseで、locking-mode=read-onlyの場合はtrueです。

ロックがpessimisticまたはoptimisticの場合、exclusive-write-accessは必ずfalseに設定され、EJBクラスタリングでは使用されません(「エンティティBeanの並行性モードとクラスタリング」を参照)。exclusive-write-accessread-onlyロックでfalseにできますが、フィールドが変更されていない場合はejbStoreメソッドがすでにスキップされているため、exclusive-write-access=falseの場合にread-onlyはパフォーマンスに影響を与えません。パフォーマンスを改善し、read-only Beanに対するejbLoadメソッドの実行も回避するには、exclusive-write-access=trueも設定する必要があります。

詳細は「データベースへの排他的書込みアクセスの構成」を参照してください。

do-select-before-insert

挿入の前のSELECT実行を回避するかどうかを指定します。挿入前のSELECTの実行を回避する場合は、falseに設定します。通常、余分なSELECTでは、挿入を行う前に、重複を避けるためにエンティティがすでに存在するかどうかがチェックされます。

一意キー制約がエンティティに対して定義されている場合は、これをfalseに設定します。一意キー制約がない場合、これをfalseに設定すると重複した挿入が検出されません。この場合に挿入の重複を回避するには、trueに設定しておきます。

パフォーマンス向上のためには、falseに設定して挿入前の余分なSELECTを回避することをお薦めします。

デフォルト値はtrueです。

location

このBeanがバインドされるJNDI名を指定します。

isolation

データベース操作の分離レベル(「データベース分離レベルの構成」を参照)を指定します。Oracleデータベースで有効な値はserializableおよびcommittedで、デフォルトはcommittedです。Oracle以外のデータベースではnonecommittedserializableuncommittedおよびrepeatable_readになる場合があります。

詳細は、「エンティティBeanのデータベース分離レベルとリソース競合」「データベース分離レベルの構成」および『Oracle Application Serverパフォーマンス・ガイド』を参照してください。

locking-mode

並行性モード(「並行性モードの構成」と『Oracle Application Serverパフォーマンス・ガイド』を参照)を指定します。並行性モードはpessimisticoptimisticおよびread-onlyです。

max-instances

インスタンス化またはプールされたままになるBean実装インスタンスの最大数を指定します。

デフォルト値は0(つまり無制限)です。

min-instances

インスタンス化またはプールされたままになるBean実装インスタンスの最小数を指定します。

デフォルト値は0です。

max-tx-retries

システムレベル障害のためにロールバックされたトランザクションを再試行する回数を指定します。

通常は、エラーが再試行で解決可能な場合のみ再試行を追加します。たとえば、serializable分離レベルを使用していて、競合が発生したときにトランザクションが自動的に再試行されるようにする場合に、再試行を使用できます。ただし、競合の発生をBeanに通知する場合は、max-tx-retries=0に設定します。

デフォルト値は0です。詳細は『Oracle Application Serverパフォーマンス・ガイド』のEJBに関する項を参照してください。

tx-retry-wait

トランザクションを再試行する間、待機する時間(秒)を指定します。

デフォルト値は60です。

update-changed-fields-only

ejbStoreメソッドの起動時に、コンテナ管理の永続性を持つエンティティBeanに対する永続記憶域に、変更されたフィールドのみ、またはすべてのフィールドのいずれをコンテナが更新するかを指定します。

デフォルト値はtrueです。これは変更されたフィールドのみの更新を指定します。

name

EJBデプロイメント・ディスクリプタのアセンブリ・セクションにおけるBeanの名前と一致する、Beanの名前を指定します。

pool-cache-timeout

Bean実装インスタンスがプール(未割当て)された状態のままになる時間(秒)を指定します。neverを指定すると、ガベージ・コレクションが行われるまでインスタンスが保存されます。

デフォルト値は60です。

table

データベースの表の名前を指定します。

validity-timeout

エンティティが(リロードされるまで)キャッシュ内で有効な最大時間(ミリ秒)。レガシー・システムからの更新がめったに行われない疎結合環境に有効です。この属性は、exclusive-write-access=true(デフォルト)の場合にread-only並行性モードを使用するエンティティBeanのみに機能します。

外部でのデータ変更がない(このため、exclusive-write-access=trueと設定している)場合は、0または-1に設定してこのオプションを無効にします。これは、外部での変更がない読取り専用のBeanの場合、キャッシュ内のデータが常に有効であるためです。

Beanが通常は外部で変更されない場合はexclusive-write-access=trueを使用しますが、表の更新に応じてキャッシュを更新する必要がある場合は、外部でのデータ変更の間隔に応じた値を設定します。

force-update

OC4Jでは永続データの変更が不明な場合に、force-update属性をtrueに設定すると、OC4JがejbStoreメソッドを起動してBeanのライフ・サイクルを実行します。これによって一時フィールドのデータが管理され、ejbStoreメソッドの実行時に適切な永続フィールドが設定されます。たとえば、イメージをメモリー内ではある形式で保存し、データベースでは別の形式で格納できます。

デフォルト値はfalseです。

wrapper

このBeanに対するOC4Jリモート・ホーム・ラッパー・クラスの名前を指定します。これは内部サーバー値であるため、編集しないでください。

local-wrapper

このBeanに対するOC4Jローカル・ホーム・ラッパー・クラスの名前を指定します。これは内部サーバー値であるため、編集しないでください。

delay-updates-until-commit

トランザクション・データのフラッシュをコミット時間まで遅延させるかどうかを指定します。

デフォルト値はtrueです。

すべてのEJBメソッド(ejbRemoveメソッドおよびfinderメソッドを除く)の起動完了後に永続データを更新するには、この値をfalseに設定します。


AC4JのアクティブEJBセクション

<jem-server-extension>セクションは、AC4JデータバスがインストールされているデータベースのJNDI名を定義します。<jem-server-extension>の構造を次に示します。

<jem-server-extension data-source-location=... scheduling-threads=...>
    <description></description>
    <data-bus data-bus-name=... url=.../>
</jem-server-extension>

この要素の詳細は、『Oracle Containers for J2EEサービス・ガイド』を参照してください。

<jem-deployment>セクションは、このJARファイル内でデプロイされたアクティブBeanに対する追加的なデプロイ情報を提供します。<jem-deployment>セクションの構造を次に示します。

<jem-deployment jem-name=... ejb-name=...>
    <description></description>
    <data-bus data-bus-name=... url=.../>
    <called-by>
        <caller caller-identity=.../>
    </called-by>
    <security-identity>
    <description></description>
    <use-caller-identity></use-caller-identity>
    </security-identity>
</jem-deployment>

<called-by>要素を使用すると、デプロイ時にAC4J Beanで定義された非同期メソッドの使用を制御または制限できます。次の例で、CLIUSERSVRUSERおよびXTRAUSERAC4JBeanAで定義されたすべてのメソッドを起動可能で、AC4JBeanAはEJBのname="ABean"に対応します。USER1またはUSER2がこのAC4JBeanAを起動した場合、コンテナはSecurityExceptionをスローします。

<jem-deployment jem-name="AC4JBeanA" ejb-name="ABean">
    <called-by>
        <caller caller-identity="CLIUSER"/>
        <caller caller-identity="SVRUSER"/>
        <caller caller-identity="XTRAUSER"/>
    </called-by>
</jem-deployment>

アプリケーションのデプロイ実行者がrole="USER1"でABean EJBに対するセキュリティ・ロールを定義した場合、USER1ABean EJBのすべてのメソッドを同時に起動できます。ただし、<called-by>要素がUSER1に対して定義されていなければ、USER1AC4JBeanAで同じ非同期メソッドを起動できません。

この要素の詳細は、『Oracle Containers for J2EEサービス・ガイド』を参照してください。

メソッド定義

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>

次のいずれかのスタイルを使用できます。

  1. 指定したBeanのホームおよびリモート・インタフェースのすべてのメソッドを参照するときは、メソッドを次のように指定します。

    <method>
        <ejb-name>EJBNAME</ejb-name>
        <method-name>*</method-name>
    </method>
    
    
  2. 同じオーバーロードされた名前を持つ複数のメソッドを参照するときは、メソッドを次のように指定します。

    <method>
        <ejb-name>EJBNAME</ejb-name>
        <method-name>METHOD</method-name>
    </method>>
    
    
  3. オーバーロードされた名前を持つ一連のメソッド内の1つのメソッドを参照するときは、メソッド内の各パラメータを次のように指定します。

    <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>
    
    

<method>要素はセキュリティおよびMDBセクション内で使用されます。

アセンブリ・ディスクリプタ・セクション

個々のBeanに関するデプロイ情報を指定する以外に、<assembly-descriptor>セクションでセキュリティに対する追加的なデプロイ・マッピング情報も指定できます。<assembly-descriptor>セクションの構造を次に示します。

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

要素の説明

<assembly-descriptor>

アセンブリ・ディスクリプタ要素のマッピング。

<called-by>

アプリケーションのデプロイ実行者が、AC4J Beanで定義された非同期メソッドの使用を制御または制限することを可能にします。ユーザーは、この要素でBeanのすべてのメソッドの実行を許可されるユーザーIDを指定します。AC4J Beanを実行できるIDは、1つ以上の<caller>要素で識別されます。

<caller>

AC4J Beanでメソッドの実行を許可される各コール元IDは、1つの<caller>要素で定義されます。

属性:

  • caller-identity: AC4J Beanメソッドの実行を許可されるセキュリティ・ロール。

<cmp-field-mapping>

永続フィールドに対するデプロイ情報。別の動作を定義するサブタグが使用されていない場合、シリアライズまたは認識されたプリミティブ型のネイティブ処理の間、フィールドが永続的になります。

属性:

  • ejb-reference-home: フィールドがエンティティのEJBObjectまたはEJBHomeである場合、フィールドのリモートEJBホームのJNDIロケーション。

  • name: フィールドの名前。

  • persistence-name: データベース表のフィールドの名前。

  • persistence-type: フィールドのデータベース型。有効な値はデータベースによって異なります。

<collection-mapping>

Collection型のリレーショナル・マッピング。Collectionn個の順序付けされていない(順序が指定されておらず、関連付けられていない)項目で構成されます。マッピングを含むフィールドはjava.util.Collection型になります。

属性:

  • table: データベースの表の名前。

<context-attribute>

コンテキストに送信される属性。JNDIで必須の属性はjava.naming.factory.initialのみで、これはコンテキスト・ファクトリ実装のクラス名です。

属性:

  • name: 属性の名前。

  • value: 属性の値。

<data-bus>

OC4Jオブジェクトに対する固有データバスの名前とURL。

属性:

  • data-bus-name: データバスのユーザー定義名。

  • url: データバスのURLで、これはJDBC URLと同様になります。

<default-method-access>

method-permissionに関連付けられていないメソッドに対するデフォルト・メソッド・アクセス・ポリシー。

<description>

短い説明。

<ejb-name>

エンタープライズBeanの名前。この名前はejb-jar.xmlファイルの作成者によって、デプロイメント・ディスクリプタのエンタープライズBeanに名前を付けるために割り当てられます。この名前は、同じejb-jar.xmlファイルのエンタープライズBeanの名前の中で一意である必要があります。エンタープライズBeanコードは名前に依存しません。このため、アプリケーションのアセンブリ・プロセスの際にエンタープライズBeanの機能をこわさずに名前を変更できます。デプロイメント・ディスクリプタの<ejb-name>要素と、デプロイ実行者がエンタープライズBeanのホームに割り当てるJNDI名の間に関係は構築されていません。この名前はNMTOKENの語彙ルールに準拠する必要があります。

<ejb-ref-mapping>

別のエンタープライズBeanのホームへの参照を宣言します。この要素はデプロイ時にこれをJNDIロケーションに関連付けます。

属性:

  • location: EJBホームを検索するためのJNDIロケーション。

  • name: ejb-refの名前。ejb-jar.xmlファイルのejb-refの名前に一致します。

<enterprise-beans>

このEJB JARファイルに含まれるBeanを一覧表示します。

<entity-deployment>

エンティティBeanに対するデプロイ情報が含まれます。この要素の属性の一覧と説明は表A-1を参照してください。

<entity-ref>

主キーを使用してエンティティ参照を永続するための構成を指定します。このタグのサブタグは主キーを永続する方法を指定します。

属性:

  • home: Beanを検索するためのEJBHomeのJNDIロケーション。

<env-entry-mapping>

アセンブリ・ディスクリプタの<env-entry>要素の値をオーバーライドします。これはEARにデプロイ固有の値が指定されることを防ぎます。要素のボディが値を表します。

属性:

  • name: コンテキスト・パラメータの名前。

<fields>

このフィールドに対するフィールドベース(Javaクラス・フィールド)のマッピング永続性の構成を指定します。永続されるフィールドはpublicstaticではなくfinalでもない)フィールドであり、含まれているオブジェクトの型にはゼロ引数コンストラクタが存在する必要があります。

<finder-method>

コンテナ管理のfinderメソッドの定義。これはBeanのホームのfindBy<CRITERION>メソッドでの選択基準を定義します。

属性:

  • partial: 問合せが部分的なものかどうか指定します。部分的問合せはSQL問合せのWHERE句またはORDER句(これがORDERで始まる場合)です。問合せはデフォルトでは部分的になります。partial="false"と指定されている場合、完全問合せがquery属性の値として入力され、ユーザーは問合せによってすべての永続フィールドを含む結果セットが生成されることを確認する必要があります。これは、表結合を含む高度な問合せを実行する際に効果的です。

  • query: SQL文の問合せ部分を定義します。これはSQL文でWHEREキーワードに続くセクションです。特別なトークンはメソッド引数番号を示す$numberと、永続フィールド名を示す$nameです。たとえば、findByAge(int age)に対する問合せは"$1 = $age"となります(永続フィールドの名前をageと仮定しています)。

  • lazy-loading: エンティティBeanのfinderメソッドでは、遅延ロードでselectメソッドが複数回起動される場合があります。遅延ロードをオンにして、このfinderメソッドの1回のみの実行を強制するには、このプロパティをtrueに設定します。デフォルト値はfalseです。

  • prefetch-size: Oracle JDBCドライバには、問合せ中に結果セットが移入されている間、クライアントにプリフェッチする行数を、ユーザーが設定できるようにする拡張機能が含まれています。これによって、データがフェッチされるときは複数のデータ行がフェッチされるため、データベースへのラウンドトリップが減少します。追加データはクライアントによる以後のアクセスのため、クライアント側バッファに格納されます。プリフェッチには任意の行数を設定できます。クライアントにプリフェッチする行数のデフォルトは10です。ここで設定された数字はJDBCドライバに渡されます。JDBCドライバによるプリフェッチの使用の詳細は、『Oracle Database JDBC開発者ガイドおよびリファレンス』を参照してください。

<group>

この<security-role-mapping>が適用されるグループ。つまり、指定されたグループのすべてのメンバーがこのロールに含まれます。

属性:

  • name: グループの名前。

<ior-security-config>

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

<jem-deployment>

AC4Jコンテナへのデプロイに対するアクティブなエンタープライズBeanを指定します。

属性:

  • jem-name: AC4Jコール内でエンタープライズBeanの識別に使用されるAC4J名。

  • ejb-name: ejb-jar.xmlファイルでアクティブBeanとして定義されたエンタープライズBeanの名前。

<jem-server-extension>

データバスがインストールされているデータベース・サーバーを記述します。

属性:

  • data-source-location: データバスが存在するデータベースのJNDIデータ・ソース定義を指定します。データ・ソースはdata-sources.xmlファイルで構成されます。

  • scheduling-threads: 1より大きい場合は、複数のOC4Jスレッドがパラレルで動作します。1はデフォルト値です。

<lookup-context>

リソースの取得に使用されるオプションのjavax.naming.Context実装の仕様。これは、サード・パーティJMSサーバーなどのサード・パーティ・モジュールを使用する際に役立ちます。リソース・ベンダーから提供されたコンテキスト実装を使用するか、それがない場合は、ベンダー・ソフトウェアとのネゴシエーションを行う実装を記述します。

属性:

  • location: リソースの取得時に外部コンテキストで検索される名前。

<map-key-mapping>

マップ・キーのマッピングを指定します。マップ・キーは常に不変です。

属性:

  • type: 値の型の完全修飾クラス名。たとえばcom.acme.Productjava.lang.Stringなどです。

<method>

Beanのメソッド(と、場合によってはそのメソッドのパラメータ)を指定します。

<method-intf>

メソッドの要素が、リモートおよびホーム・インタフェースの両方で定義された同じ名前およびシグネチャを持つメソッドを区別できるようにします。この要素はホームまたはリモートのどちらかになります。

<method-name>

エンタープライズBeanメソッドの名前またはアスタリスク( * )文字が含まれます。アスタリスクは、要素がエンタープライズBeanのリモートおよびホーム・インタフェースのすべてのメソッドを示すときに使用されます。

<method-param>

メソッド・パラメータの完全修飾Java型名が含まれます。

<method-params>

メソッド・パラメータの完全修飾Java型名の一覧が含まれます。

<orion-ejb-jar>

orion-ejb-jar.xmlファイルには、Beanに対するOC4J固有デプロイ情報が含まれます。これは初期のデプロイ・プロパティの指定に使用されます。各デプロイの後、デプロイメント・ディスクリプタ・ファイルは追加情報のためサーバーによって再フォーマットされ、変更されます。

属性:

  • deployment-time: 最終デプロイ時刻(10進数によるlong型のミリ秒)。最終編集日と一致しない場合はJARが再デプロイされます。これは内部サーバー値であるため、編集しないでください。

  • deployment-version: このJARのデプロイに使用されたOC4Jのバージョン。現在のバージョンに一致しない場合はJARが再デプロイされます。これは内部サーバー値であるため、編集しないでください。

<primkey-mapping>

主キーがマップされる方法を指定します。

<properties>

このフィールドに対するプロパティベース(Beanプロパティ)のマッピング永続性の構成を指定します。プロパティはEJB 2.0仕様に準拠し、含まれているオブジェクトの型には空のコンストラクタが存在する必要があります。これはEJB 2.0仕様内でも指定されています。

<resource-ref-mapping>

データ・ソースなどの外部リソースへの参照を宣言します。この要素はデプロイ時にデータ・ソースをJNDIロケーションに関連付けます。

属性:

  • location: リソース・ファクトリの検索元であるJNDIロケーション。

  • name: ejb-jar.xmlファイルの<resource-ref>要素名。

<resource-env-ref-mapping>

リソースの管理対象オブジェクトをマップします。これらのオブジェクトは同時にJNDIから取得されます。この要素は接続先オブジェクトをマップします。

属性:

  • location: 管理対象リソースの検索元であるJNDIロケーション。

  • name: ejb-jar.xmlファイルの<resource-env-ref>要素名。

<role-name>

<run-as-specified-identity>要素の使用時に、AC4J EJBメソッドが実行されるセキュリティ・ロール。

<run-as-specified-identity>

AC4J EJBのすべてのメソッドが特定のIDの元で実行されることを指定します。つまり、コンテナは特定のメソッドを実行する際に別のロールの許可をチェックしません。かわりにコンテナは、特定のセキュリティIDの元のすべてのAC4J EJBメソッドを実行します。

<security-identity>

AC4Jデータバスで、AC4J Beanセキュリティに対してコール元またはrun-as IDを使用するかどうかを記述します。

<security-role-mapping>

グループおよびユーザーへの、ロールの実行時のマッピング。アセンブリ・ディスクリプタの同じ名前のセキュリティ・ロールにマップします。

属性:

  • impliesAll: このマッピングがすべてのユーザーに適用されるかどうかを示します。デフォルト値はfalseです。

  • name: ロールの名前。

<set-mapping>

Set型のリレーショナル・マッピングを指定します。Setn個の一意の順序付けされていない(順序が指定されておらず、関連付けられていない)項目で構成されます。マッピングを含むフィールドはjava.util.Set型になります。

属性:

  • table: データベースの表の名前。

<use-caller-identity>

AC4J Beanのすべてのメソッドがコール元のIDの元で実行されることを指定します。

<user>

この<security-role-mapping>要素が適用されるユーザー。

属性:

  • name: ユーザーの名前。

<value-mapping>

一連のフィールドの主キー部分のマッピングを指定します。

属性:

  • immutable: 値がCollectionに追加された後、常に不変であるかどうかを識別します。これをtrueに設定すると、データベース操作が広範囲にわたって最適化されます。<set-mapping>要素に対するデフォルト値はtrueで、<collection-mapping>要素の場合はfalseです。

  • type: 値の型の完全修飾クラス名。たとえばcom.acme.OrderEntryjava.lang.Stringなどです。