Sun ONE ロゴ     前へ      目次      索引      次へ     
Sun ONE Application Server 7 Enterprise Java Beans 開発者ガイド



Enterprise JavaBean のアセンブルと配備

この章では、Sun ONE Application Server 7 環境で Enterprise JavaBeans をアセンブルおよび配備する方法について説明し、EJB XML ファイルの作成に使用する要素およびサブ要素に関する情報を提供します。



アセンブリと配備に関する一般情報については、『Sun ONE Application Server 開発者ガイド』を参照してください。EJB をアセンブルする前に、このマニュアルに示された配備に関する情報を十分に理解している必要があります。



この章には次の項目があります。

EJB に関連する要素のリストは、「要素一覧」にアルファベット順に記載されています。

EJB の構造

EJB Java ARchive (JAR) ファイルは、Enterprise JavaBeans のアセンブリに使う標準形式です。このファイルには、Bean クラス (ホーム、リモート、ローカル、および実装)、すべてのユーティリティクラス、および配備記述子 (ejb-jar.xml および sun-ejb-jar.xml) が格納されます。

開発者が作成する EJB JAR ファイルには、1 つ以上の Enterprise JavaBeans が含まれ、通常は、アセンブリ手順は含まれません。一方、アセンブリ担当者が作成する EJB JAR ファイルには、1 つ以上の Enterprise JavaBeans と、それらの Enterprise JavaBeans を 1 つのアプリケーション配備ユニットに結合する方法を示すアプリケーションアセンブリ手順が含まれます。

EJB JAR ファイルは、EAR (Enterprise ARchive) ファイルの一部に含まれないスタンドアロンとしても、EAR ファイルの一部としても使用できます。

アプリケーションのファイル例は install_root/samples/j2ee/ にあります。

配備記述子の作成

J2EE モジュールは、1 つまたは複数の J2EE コンポーネントの集合で、各コンポーネントは同一コンテナタイプの 2 つの配備記述子を持っています。1 つは J2EE 標準の配備記述子で、もう 1 つは Sun ONE Application Server 固有の配備記述子です。Enterprise JavaBeans では、次の 3 つの配備記述子ファイルがこれに該当します。

  • ejb-jar.xml
  • J2EE 標準ファイル。『Enterprise JavaBeans Specification, v2.0』に定義されている

  • sun-ejb-jar.xml
  • Sun ONE Application Server 固有のファイル。この章で詳しく説明する

  • sun-cmp-mappings.xml
  • Sun ONE Application Server 固有のファイル。配備する Bean がコンテナ管理による持続性を使用する場合に使用する



    コンテナ管理による持続性に関連付けられた XML ファイルについては、「sun-cmp-mappings.xml ファイルの要素」を参照してください。



配備記述子ファイルを作成するもっとも簡単な方法は、管理インタフェースまたは Sun ONE Studio 4 IDE を使用して EJB モジュールを配備することです。詳細については、『Sun ONE Application Server 開発者ガイド』を参照してください。EJB XML ファイルの例は、「EJB XML ファイルの例」を参照してください。

これらのファイルを作成した後に、管理インタフェースまたは、エディタとコマンド行ユーティリティ (Ant など) の組み合わせを使用して、編集、再構築、および再配備を行い配備記述子の情報を更新できます。



配備記述子を手動で作成することもできます。



J2EE の標準配備記述子は、1.3 の J2EE 仕様に示されています。EJB 配備記述子の詳細は、『Enterprise JavaBeans Specification, v2.0』の第 22 章を参照してください。サンプルアプリケーションは、アセンブルと配備に役立つ ANT ターゲットをいくつか作成します。ANT については、『Sun ONE Application Server 開発者ガイド』を参照してください。

Enterprise JavaBeans の配備

Enterprise JavaBean の配備、配備取り消し、または再配備を行うときに、サーバーを再起動する必要はありません。



スタブとスケルトンは配備時に生成されます。リッチクライアントで使用するクライアント JAR ファイルは、スタブとスケルトンから作成できます。



この節には次の項目があります。

管理インタフェースの使用

管理インタフェースを使って EJB アプリケーションを配備するには、次のようにします。

  1. サーバーインスタンスの下にある「アプリケーション」コンポーネントを開きます。
  2. 「EJB モジュール」ページに移動します。
  3. 「配備」をクリックします。
  4. JAR モジュールへのフルパスを入力するか、または「ブラウズ」をクリックして目的のモジュールを選択して、「了解」をクリックします。

コマンド行インタフェースの使用

コマンド行を使って Enterprise JavaBean を配備するには、次のようにします。

  1. 配備記述子ファイル (ejb-jar.xml および sun-ejb-jar.xml) を手動で編集します。
  2. Ant ビルドコマンド (build jar など) を実行して、JAR モジュールを再アセンブリします。
  3. asadmin deploy コマンドを使って JAR モジュールを配備します。構文は次のとおりです。
  4. asadmin deploy -type ejb [-name component-name] [-force=true] [-upload=true] -instance instancename filepath

    たとえば、次のコマンドでは、EJB アプリケーションがスタンドアロンのモジュールとして配備されます。

    asadmin deploy -type ejb -instance inst1 myEJB.jar

Sun ONE Studio 4 IDE の使用

Sun ONE Application Server にバンドルされている Sun ONE Studio 4 IDE を使って、Enterprise JavaBeans のアセンブリと配備を行うことができます。Sun ONE Studio 4 の使用については、Sun ONE Studio 4, Enterprise Edition のチュートリアルを参照してください。



Sun ONE Studio 4 では、Web アプリケーションの配備を「実行」と呼びます。



Enterprise JavaBeans の再読み込み

Enterprise JavaBean のコードを変更した場合でも、動的再読み込みが有効になっていれば、その Enterprise JavaBean を再配備したり、サーバーを再起動したりする必要はありません。変更したファイルをアプリケーションの配備先ディレクトリ (instance-dir/applications など) にドロップするだけで変更が適用されます。

管理インタフェースで動的再読み込みを有効にするには、次のようにします。

  1. 管理インタフェースで、サーバーインスタンスを選択します。
  2. 「アプリケーション」を選択します。
  3. 「アプリケーション - プロパティ」ページが表示されます。

  4. 「再読み込みを有効」ボックスをオンにして動的再読み込みを有効にします。
  5. 「再読込のポーリング間隔」フィールドに秒数を入力して、アプリケーションとモジュールにコードの変更がないか確認して動的に再読み込みする間隔を設定します。
  6. 「保存」をクリックします。

詳細については、『Sun ONE Application Server 管理者ガイド』を参照してください。

さらに、新しいサーブレットファイルの読み込み、変更に関連する EJB の再読み込み、または配備記述子の変更の再読み込みを行うには、次の操作を行う必要があります。

  1. 配備されたアプリケーションのルートに .reload という名前の空のファイルを作成します。
  2. instance_dir/applications/j2ee-apps/app_name/.reload

    または個別に配備されたモジュールに作成します。

    instance_dir/applications/j2ee-modules/module_name/.reload

  3. 上記の変更を Bean または配備記述子に加えるたびに、.reload ファイルのタイムスタンプ (UNIX では touch .reload) を明示的に更新します。
  4. 再読み込み監視スレッドが定期的に .reload ファイルのタイムスタンプを確認し、変更を検出します。検出間隔は、デフォルトの設定では 2 秒です。この値は、server.xml ファイルの dynamic-reload-poll-interval-in-seconds で変更できます。

EJB アプリケーションは、次のいずれかの方法で配備できます。

配備の詳細については、『Sun ONE Application Server 開発者ガイド』を参照してください。

sun-ejb-jar_2_0-0.dtd ファイルの構造

sun-ejb-jar_2_0-0.dtd ファイルは、sun-ejb-jar.xml ファイルの構造を定義します。含むことができる要素、およびそれらの要素に持たせることができるサブ要素と属性が定義されます。sub-ejb-jar_2_0-0.dtd ファイルは、install-dir/lib/dtds ディレクトリに保存されています。



sun-ejb-jar_2_0-0.dtd ファイルを編集しないでください。このファイルの内容は、Sun ONE Application Server の新しいバージョンだけで変更されます。



DTD ファイルおよび XML の全般的な情報については、次のサイトにある XML 仕様書を参照してください。

http://www.w3.org/TR/REC-xml

DTD ファイルに定義される各要素 (対応する XML ファイルに含まれていることもあります) には次の情報が含まれます。

EJB に関連する要素のリストは、「要素一覧」にアルファベット順に記載されています。

サブ要素

要素にはサブ要素を含めることができます。たとえば、次のコードは cmp-resource 要素を定義しています。

<!ELEMENT cmp-resource (jndi-name, default-resource-principal?)>

この ELEMENT タグは、cmp-resource というリソース要素に jndi-name および default-resource-principal というサブ要素を含めることができるように指定しています。疑問符 (?) は、サブ要素 default-resource-principal を 0 または 1回指定できることを示します。

それぞれのサブ要素には、指定回数を決めるオプション文字 (サフィックス) を追加できます。

次の表は、サブ要素に追加したサフィックスによって決定されるサブ要素の必要規則 (指定可能回数) について説明しています。左側の列にはサブ要素の終了文字、右側の列には対応する必要指定数を示しています。

   サブ要素のサフィックスの必要規則

サフィックス

指定回数

element*

 

このサブ要素を含まないか、1 個以上含めることができる

 

?element

 

このサブ要素を含まないか、1 個含めることができる

 

element+

 

このサブ要素を 1 個以上含まなければならない

 

element (サフィックスなし)

 

このサブ要素を 1 個だけ含まなければならない

 

要素にほかの要素を含めることができない場合は、カッコで囲まれた要素名のリストの代わりに、EMPTY または (#PCDATA) が表示されます。

データ

要素の中には、サブ要素の代わりに文字データを含むものもあります。これらの要素は、次の形式で定義されます。

<!ELEMENT element-name (#PCDATA)>

次に例を示します。

<!ELEMENT description (#PCDATA)>

Sun ONE Application Server のXML ファイルでは、データ要素内の空白はデータの一部として扱われます。そのため、データ要素で区切られたデータの前後には余分な空白がないようにする必要があります。次に例を示します。

<description>class name of session manager</description>

<password>secret</password>

属性

要素には属性 (名前と値のペア) を含めることができます。属性は、ATTLIST タグを使って属性リストに定義します。

sun-ejb-jar.xml ファイル内の要素には、属性を含むものはありません。

sun-ejb-jar.xml ファイルの要素

EJB に関連する要素のリストは、「要素一覧」にアルファベット順に記載されています。



コンテナ管理による持続性のマッピングに関連付けられた DTD および XML ファイルについては、「sun-cmp-mappings.xml ファイルの要素」を参照してください。



この節では、sun-ejb-jar_2_0-0.dtd ファイル内の XML 要素について説明します。わかりやすくするために、各要素を次のように分類しています。

一般的な要素

全般に関する要素は次のとおりです。

ejb

アプリケーション内の 1 つの Enterprise JavaBean に関する実行時プロパティを定義します。以下に示すサブ要素は、次のように特定の Enterprise JavaBean に適用されます。

  • すべてのタイプの Beans - ejb-nameejb-refresource-refresource-env-refcmpior-security-configgen-classesjndi-name
  • ステートレスセッション Beans とメッセージ駆動型 Beans - bean-pool
  • ステートフルセッション Beans - bean-cache
  • エンティティ Beans (BMP) - is-read-only-beanrefresh-period-in-secondscommit-optionbean-cache
  • メッセージ駆動型 Bean - mdb-connection-factoryjms-durable-subscription-namejms-max-messages-loadbean-pool

サブ要素

次の表は、ejb 要素のサブ要素を示します。

   ejb 要素のサブ要素 

サブ要素

必要指定数

説明

ejb-name

 

1 個のみ

 

参照する Bean の表示名と一致させる

 

jndi-name

 

0 または 1 個以上

 

JNDI 絶対名 jndi-name を指定する。メッセージ駆動型 Bean の場合、これはメッセージ駆動型 Bean クラスに関連付けられた Java Message Service のキューまたはトピックの送信先リソースオブジェクトの JNDI 名となる。キューまたはトピックのどちらのタイプかは、メッセージ駆動配備記述子 message-driven-destination のデスティネーションタイプによって決まる。message-driven-destination 配備記述子が指定されていない場合は、デフォルトのキュータイプとなる

 

ejb-ref

 

0 または 1 個以上

 

対応する J2EE XML ファイルの ejb-ref 要素に JNDI 絶対名をマップする

 

resource-ref

 

0 または 1 個以上

 

対応する J2EE XML ファイルの resource-ref に JNDI 絶対名を割り当てる

 

resource-env-ref

 

0 または 1 個以上

 

対応する J2EE XML ファイルの resource-env-ref に JNDI 絶対名を割り当てる

 

pass-by-reference

 

0 または 1 個

 

サーブレットまたは EJB から同じプロセス内にある別の Bean を呼び出すときに、Sun ONE Application Server は、すべての呼び出しパラメータの整列を自動実行しない

 

cmp

 

0 または 1 個

 

EJB1.1 および EJB2.0 の Beans の コンテナ管理による持続性 (CMP) EntityBean オブジェクトに関する実行時情報を指定する。これは、Bean のマッピング情報が記述されたファイルへのポインタである

 

principal

 

0 または 1 個

 

run-as ロールが指定されている Enterprise JavaBean 内の主体 (ユーザー) 名を指定する

 

mdb-connection-factory

 

0 または 1 個

 

メッセージ駆動型 Bean クラスに関連付けられたコネクションファクトリを指定する

 

jms-durable-subscription-name

 

0 または 1 個

 

メッセージ駆動型 Bean に関連付けられた永続的なサブスクリプションを示すデータを指定する

 

jms-max-messages-load

 

0 または 1 個

 

メッセージ駆動型 Beans による処理で Java Message Service セッションに一度に読み込む最大メッセージ数を指定する。デフォルト値は 1

 

ior-security-config

 

0 または 1 個

 

IOR のセキュリティ情報を指定する

 

is-read-only-bean

 

0 または 1 個

 

読み取り専用 Bean を示すフラグ

 

refresh-period-in-seconds

 

0 または 1 個

 

読み取り専用 Bean をデータソースによって更新する間隔を指定する。これをゼロ以下に設定すると、Bean は更新されない。1 以上を設定すると、指定した間隔で Bean のインスタンスが更新される。この間隔はコンテナにとって参考程度に過ぎない。デフォルトは 600

 

commit-option

 

0 または 1 個

 

A、B、または C の有効値を持つデータを指定する。デフォルト値は B

 

gen-classes

 

0 または 1 個

 

Bean で生成されるすべてのクラス名を指定する

 

bean-pool

 

0 または 1 個の bean-pool

 

Bean のプールプロパティを指定する。ステートレスセッション Beans、エンティティ Beans、およびメッセージ駆動型 Beans のプールで使用される

 

bean-cache

 

0 または 1 個の bean-pool

 

Bean のキャッシュプロパティを指定する。ステートフルセッション Beans とエンティティ Beans だけで使用される

 

<ejb>
      <ejb-name>CustomerEJB</ejb-name>
      <jndi-name>customer</jndi-name>
      <resource-ref>
             <res-ref-name>jdbc/SimpleBank</res-ref-name>
             <jndi-name>jdbc/PointBase</jndi-name>
      </resource-ref>
      <is-read-only-bean>false</is-read-only-bean>
      <commit-option>B</commit-option>
      <bean-pool>
             <steady-pool-size>10</steady-pool-size>
             <resize-quantity>10</resize-quantity>
             <max-pool-size>100</max-pool-size>
             <pool-idle-timeout-in-seconds>
             600
             </pool-idle-timeout-in-seconds>
      </bean-pool>
      <bean-cache>
             <max-cache-size>100</max-cache-size>
             <resize-quantity>10</resize-quantity>
      <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
             <victim-selection-policy>LRU</victim-selection-policy>
      </bean-cache>
</ejb>

ejb-name

参照する Enterprise JavaBean の名前と表示名を一致させます。この名前は、Enterprise JavaBean の名前を EJB JAR ファイルの配備記述子に記録するときに同ファイルの作成者によって割り当てられます。同じ EJB JAR ファイルでは、Enterprise JavaBean の名前を一意にする必要があります。

配備記述子に記載される ejb-name と配備担当者が EJB のホームに割り当てる JNDI 名の間には、設計上の関連性はありません。

サブ要素

なし

<ejb-name>EmployeeService</ejb-name>

enterprise-beans

アプリケーションの EJB JAR ファイルに関するすべての実行時プロパティを指定します。

サブ要素

次の表は、enterprise-beans 要素のサブ要素を示します。

   enterprise-beans 要素のサブ要素 

サブ要素

必要指定数

説明

name

 

0 または 1 個

 

名前の文字列を指定する

 

unique-id

 

0 または 1 個

 

一意のシステム識別子を指定する。このデータは、配備時および再配備時に自動的に生成および更新される

 

ejb

 

0 または 1 個以上

 

アプリケーション内の 1 つの Enterprise JavaBean に関する実行時プロパティを定義する

 

pm-descriptors

 

0 または 1 個

 

持続性マネージャ記述子を記述する。特定の時間にその 1 つが使用されている必要がある。これは、基本的に、Sun ONE Application Server のプラグイン可能な持続性マネージャ API に適用される

 

cmp-resource

 

0 または 1 個

 

EJB JAR ファイル内のコンテナ管理による持続性 (CMP) Bean を保存するために使用するデータベースを指定する

 

<enterprise-beans>
   <ejb>
      ejb-name>CustomerEJB</ejb-name>
      <jndi-name>customer</jndi-name>
      <resource-ref>
         <res-ref-name>jdbc/SimpleBank</res-ref-name>
'         <jndi-name>jdbc/PointBase</jndi-name>
      </resource-ref>
      <is-read-only-bean>false</is-read-only-bean>
      <commit-option>B</commit-option>
      <bean-pool>
         <steady-pool-size>10</steady-pool-size>
         <resize-quantity>10</resize-quantity>
         <max-pool-size>100</max-pool-size>
         <pool-idle-timeout-in-seconds>
         600
         </pool-idle-timeout-in-seconds>
      </bean-pool>
      <bean-cache>
         <max-cache-size>100</max-cache-size>
         <resize-quantity>10</resize-quantity>
         <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
         <victim-selection-policy>LRU</victim-selection-policy>
      </bean-cache>
   </ejb>
</enterprise-beans

is-read-only-bean

読み取り専用 Bean を示すフラグです。

サブ要素

なし

<is-read-only-bean>false</is-read-only-bean>

refresh-period-in-seconds

読み取り専用 Bean をデータソースによって更新する間隔を指定します。これをゼロ以下に設定すると、Bean は更新されない。1 以上を設定すると、指定した間隔で Bean のインスタンスが更新されます。この間隔はコンテナにとって参考程度に過ぎません。デフォルト値は 600 です。

サブ要素

なし

sun-ejb-jar

アプリケーションの EJB JAR ファイルに関する Sun ONE Application Server 固有の設定を定義します。これはルート要素であり、sun-ejb-jar.xml ファイル内に 1 つの sun-ejb-jar しか指定できません。

このファイルの例については、「sun-ejb-jar.xml ファイルの例」を参照してください。

サブ要素

次の表は、sun-ejb-jar 要素のサブ要素を示します。

   sun-ejb-jar 要素のサブ要素 

サブ要素

必要指定数

説明

security-role-mapping

 

0 または 1 個以上

 

対応する J2EE XML ファイル内のロールを、ユーザーまたはグループにマップする

 

enterprise-beans

 

1 個のみ

 

アプリケーションの EJB JAR ファイルに関するすべての実行時プロパティを記述する

 

unique-id

一意のシステム識別子を指定します。このデータは、配備時および再配備時に自動的に生成および更新されます。開発者は、配備後にこの値を変更できません。

サブ要素

なし

ロールマッピング要素

ロールマッピング要素は、EJB JAR の role-name エントリに指定されたロールを、環境固有のユーザーまたはグループにマップします。ユーザーにマップする場合、そのユーザーは、現在のレルムに存在し、現在の認証方法によってサーバーにログインできる具体的なユーザーでなければなりません。グループにマップする場合は、レルムがグループをサポートしている必要があり、そのグループは現在のレルムに存在する具体的なグループでなければなりません。グループのマッピングを有効にするためには、そのレルム内でそのグループに属するユーザーが 1 人以上存在している必要があります。

次に、ロールマッピング要素を示します。

group-name

グループ名を指定する

サブ要素

なし

principal

プラットフォームでのユーザー名を指定するノードを定義します。

サブ要素

次の表は、principal 要素のサブ要素を示します。

   principal 要素のサブ要素 

サブ要素

必要指定数

説明

name

 

1 個のみ

 

ユーザーの名前を指定する

 

principal-name

run-as ロールが指定されている Enterprise JavaBean 内の主体 (ユーザー) 名を指定します。

サブ要素

なし

role-name

ejb-jar.xml ファイルの security-role 要素内の role-name を指定します。

サブ要素

なし

<role-name>employee</role-name>

security-role-mapping

ユーザーおよびグループにロールをマップします。

サブ要素

次の表は、security-role-mapping 要素のサブ要素を示します。

   security-role-mapping 要素のサブ要素 

サブ要素

必要指定数

説明

role-name

 

1 個のみ

 

マップする ejb-jar.xml ファイルの role-name を指定する

 

principal-name

 

1 個以上の principal-name または group-name

 

実行ロールが指定されている EJB 内の主体 (ユーザー) 名を指定する

 

group-name

 

1 個以上の principal-name または group-name

 

グループ名を指定する

 

server-name

アプリケーションを配備するサーバーの名前を指定します。

サブ要素

なし

参照要素

参照に関する要素は次のとおりです。

ejb-ref

対応する J2EE XML ファイルの ejb-ref 要素に JNDI 絶対名 jndi-name をマップします。ejb-ref 要素は、EJB のホームへの参照の宣言に使用されます。

ステートフルセッション Beans またはエンティティ Beans に適用されます。

サブ要素

次の表は、ejb-ref 要素のサブ要素を示します。

   ejb-ref 要素のサブ要素 

サブ要素

必要指定数

説明

ejb-ref-name

 

1 個のみ

 

対応する J2EE EJB JAR ファイルの ejb-ref エントリ内の ejb-ref-name を指定する

 

jndi-name

 

1 個のみ

 

JNDI 絶対名 jndi-name を指定する

 

ejb-ref-name

対応する J2EE XML ファイルの ejb-ref エントリ内の ejb-ref-name を指定します。この名前は、同じ Enterprise JavaBean 内では一意にする必要があります。名前の最初に ejb/ というプレフィックスをつけることをお勧めします。

サブ要素

なし

<ejb-ref-name>ejb/Payroll</ejb-ref-name>

jndi-name

JNDI 絶対名 jndi-name を指定します。

すべての Enterprise JavaBean に適用されます。

サブ要素

なし

<jndi-name>jdbc/PointBase</jndi-name>

pass-by-reference

同じプロセス内の別の Bean に含まれるリモートインタフェースメソッドを呼び出すサーブレットまたは Enterprise JavaBean に適用させる受け渡し方法を指定します。デフォルト値は false です。



pass-by-reference フラグは、リモートインタフェースへの呼び出しだけに適用されます。『Enterprise JavaBeans Specification, v2.0』に定義されているように、ローカルインタフェースへの呼び出しでは、参照セマンティックによる受け渡しが使用されます。



  • false (この要素が存在しない場合のデフォルト値) の場合、このアプリケーションは、『Enterprise JavaBeans Specification, v2.0』で要求されている pass-by-value セマンティックを使用する
  • true の場合、このアプリケーションは pass-by-reference セマンティックを使用する

サーブレットまたは Enterprise JavaBean が、同じプロセス内の別の Bean に含まれるリモートインタフェースメソッドを呼び出すと、デフォルトの設定では、Sun ONE Application Server はすべての呼び出しパラメータをコピーして pass-by-value セマンティックを保存します。これにより呼び出しのオーバヘッドが増加し、パフォーマンスが低下します。

しかし、呼び出しメソッドがパラメータとして受け渡すオブジェクトを変更しない場合は、コピーを作成せずにオブジェクト自体を渡しても安全です。この場合は pass-by-reference の値を true に設定します。

複数の EJB モジュールを含む J2EE アプリケーション全体に pass-by-reference セマンティックを適用させるには、sun-application.xml ファイルに同じ要素を設定します。Bean レベルとアプリケーションレベルの両方で pass-by-reference を使用する場合は、アプリケーションレベルより Bean レベルが優先されます。

server.xml ファイルの詳細については、『Sun ONE Application Server 開発者ガイド』および『管理者用設定ファイルリファレンス』を参照してください。

サブ要素

なし

res-ref-name

対応する J2EE ejb-jar.xml ファイルの resource-ref エントリ内の res-ref-name を指定します。res-ref-name 要素は、リソースマネージャの接続ファクトリへの参照を指定します。名前は、java:comp/env コンテキストに関連する JNDI 名です。この名前は、同じ Enterprise JavaBean 内では一意にする必要があります。

サブ要素

なし

<res-ref-name>jdbc/SimpleBank</res-ref-name>

resource-env-ref

対応する J2EE ejb-jar.xml ファイルの resource-env-ref エントリに記録されている resource-env-ref-name を、server.xml ファイルの resources 要素に記録されている絶対名 jndi-name にマップします。resource-env-ref 要素には、Bean の環境で利用されるリソースに関連する管理対象オブジェクトに対する Enterprise JavaBean の参照宣言が含まれます。

エンティティ Beans、メッセージ駆動型 Beans、セッション Beans で使用されます。

サブ要素

次の表は、resource-env-ref 要素のサブ要素を示します。

   resource-env-ref 要素のサブ要素 

サブ要素

必要指定数

説明

resource-env-ref-name

 

1 個のみ

 

対応する J2EE ejb-jar.xml ファイルの resource-env-ref エントリ内の resource-env-ref-name を指定する

 

jndi-name

 

1 個のみ

 

JNDI 絶対名 jndi-name を指定する

 

<resource-env-ref>
   <resource-env-ref-name>
   jms/StockQueueName
   </resource-env-ref-name>
   <jndi-name>jms/StockQueue</jndi-name>
</resource-env-ref>

resource-env-ref-name

対応する J2EE ejb-jar.xml ファイルの resource-env-ref エントリ内の resource-ref-name を指定します。resource-env-ref-name 要素は、リソース環境への参照を指定します。この値は、EJB コードで使用される環境エントリ名です。名前は java:comp/env コンテクストに関連する JNDI 名で、同じ Enterprise JavaBean では一意にする必要があります。

サブ要素

なし

<resource-env-ref-name>jms/StockQueue</resource-env-ref-name>

resource-ref

対応する J2EE ejb-jar.xml ファイルの resource-ref エントリに記録されている res-ref-name を、server.XML ファイルの resources 要素に記録されている絶対名 jndi-name にマップします。resource-ref 要素には、外部リソースに対する EJB の参照宣言が含まれます。



JMS 接続ファクトリから得られる接続は、Sun ONE Application Server の現在のリリースでは共有できません。ejb-jar.xml ファイルの resource-ref エントリ内の res-sharing-scope 要素は、JMS 接続ファクトリでは無視されます。



エンティティ Beans、メッセージ駆動型 Beans、セッション Beans で使用されます。



resource-ref が Sun ONE Message Queue の JMS 接続ファクトリを指定する場合は、Sun ONE Message Queue のユーザーレポジトリに default-resource-principal (名前 / パスワード) が存在する必要があります。Sun ONE Message Queue のユーザーレポジトリを管理する方法については、『Sun ONE Message Queue 管理者ガイド』のセキュリティ管理に関する章を参照してください。



サブ要素

次の表は、resource-ref 要素のサブ要素を示します。

   resource-ref 要素のサブ要素 

サブ要素

必要指定数

説明

res-ref-name

 

1 個のみ

 

対応する J2EE ejb-jar.xml ファイルの resource-ref エントリ内の res-ref-name を指定する

 

jndi-name

 

1 個のみ

 

JNDI 絶対名 jndi-name を指定する

 

default-resource-principal

 

0 または 1 個

 

リソースマネージャへのデフォルトのサインオン情報 (名前 / パスワード) を指定する

 

<resource-ref>
   <res-ref-name>jdbc/EmployeeDBName</res-ref-name>
   <jndi-name>jdbc/EmployeeDB</jndi-name>
</resource-ref>

メッセージング要素

ここでは、次のメッセージング関連要素について説明します。

jms-durable-subscription-name

メッセージ駆動型 Bean クラスに関連付けられた永続サブスクリプションを指定します。送信先タイプが Java Message Service Topic で、メッセージ駆動型 Bean 配備記述子のサブスクリプションの永続性が永続 (Durable) の場合にだけ適用されます。

サブ要素

なし

jms-max-messages-load

メッセージ駆動型 Bean による処理で Java Message Service セッションに一度に読み込む最大メッセージ数を指定します。デフォルト値は 1 です。

サブ要素

なし

mdb-connection-factory

メッセージ駆動型 Bean クラスに関連付けられたコネクションファクトリを指定します。キューまたはトピックのタイプは、メッセージ駆動型 Bean クラスに関連付けられた Java Message Service の送信先タイプと一致している必要があります。

サブ要素

次の表は、mdb-connection-factory 要素のサブ要素を示します。

   mdb-connection-factory 要素のサブ要素 

サブ要素

必要指定数

説明

jndi-name

 

1 個のみ

 

JNDI 絶対名 jndi-name を指定する

 

default-resource-principal

 

0 または 1 個

 

リソースマネージャへのデフォルトのサインオン情報 (名前 / パスワード) を指定する

 

セキュリティ要素

ここでは、認証、承認、および一般的なセキュリティに関する要素について説明します。次の要素があります。

as-context

クライアントの認証に使用する認証メカニズムを指定します。指定する場合は、USERNAME_PASSWORD となります。

サブ要素

次の表は、as-context 要素のサブ要素を示します。

   as-context 要素のサブ要素 

サブ要素

必要指定数

説明

auth-method

 

1 個のみ

 

認証方法を指定する。サポートされている値は USERNAME_PASSWORD のみ

 

realm

 

1 個のみ

 

ユーザーを認証するレルムを指定する

 

required

 

1 個のみ

 

指定された認証方法をクライアント認証で使用する必要があるかどうかを指定する。その必要がある場合、as-context の target_requires フィールドに EstablishTrustInClient ビットが設定される。値は true または false のいずれか

 

auth-method

認証方法を指定します。サポートされている値は USERNAME_PASSWORD のみです。

サブ要素

なし

caller-propagation

伝達された呼び出し元 ID をターゲットが受け入れるかどうかを指定します。値は NONE、SUPPORTED、または REQUIRED です。

サブ要素

なし

confidentiality

プライバシー保護されたメッセージをターゲットがサポートするかどうかを指定します。値は NONE、SUPPORTED、または REQUIRED です。

サブ要素

なし

default-resource-principal

リソースマネージャへのデフォルトのサインオン情報 (名前 / パスワード) を指定します。

サブ要素

次の表は、default-resource-principal 要素のサブ要素を示します。

   default-resource-principal 要素のサブ要素 

サブ要素

必要指定数

説明

name

 

1 個のみ

 

リソースマネージャへのサインオンに使用するデフォルトのリソース主体名を指定する

 

password

 

1 個のみ

 

デフォルトのリソース主体のパスワードを指定する

 

establish-trust-in-client

ターゲットがクライアントを認証できるかどうかを指定します。値は NONE、SUPPORTED、または REQUIRED です。

サブ要素

なし

establish-trust-in-target

ターゲットがクライアントに対して認証できるかどうかを指定する。値は NONE、SUPPORTED、または REQUIRED です。

サブ要素

なし

integrity

整合性が保護されたメッセージをターゲットがサポートするかどうかを指定します。値は NONE、SUPPORTED、または REQUIRED です。

サブ要素

なし

ior-security-config

入出力先の変更 (IOR) のセキュリティ情報を指定します。

サブ要素

次の表は、ior-security-config 要素のサブ要素を示します。

   ior-security-config 要素のサブ要素 

サブ要素

必要指定数

説明

transport-config

 

0 または 1 個

 

トランスポートのセキュリティ情報を指定する

 

as-context

 

0 または 1 個

 

クライアントの認証に使用する認証メカニズムを記述する。指定する場合は、USERNAME_PASSWORD になる

 

sas-context

 

0 または 1 個

 

sas-context フィールドを記述する

 

name

ID を指定します。

サブ要素

なし

password

セキュリティで認証を実行するために必要なパスワードを指定します。

サブ要素

なし

realm

ユーザーを認証するレルムを指定します。

サブ要素

なし

required

指定された認証方法をクライアント認証で使用する必要があるかどうかを指定します。必要がある場合、as-contexttarget_requires フィールドに EstablishTrustInClient ビットが設定されます。値は true または false のいずれかです。

サブ要素

なし

sas-context

sas-context フィールドを記述します。

サブ要素

次の表は、sas-context 要素のサブ要素を示します。

   sas-context 要素のサブ要素 

サブ要素

必要指定数

説明

caller-propagation

 

1 個のみ

 

伝達された呼び出し元 ID をターゲットが受け入れるかどうかを指定する。値は NONE、SUPPORTED、または REQUIRED

 

transport-config

トランスポートのセキュリティ情報を指定します。

サブ要素

次の表は、transport-config 要素のサブ要素を示します。

   transport-config 要素のサブ要素 

サブ要素

必要指定数

説明

integrity

 

1 個のみ

 

整合性が保護されたメッセージをターゲットがサポートするかどうかを指定する。値は NONE、SUPPORTED、または REQUIRED

 

confidentiality

 

1 個のみ

 

プライバシー保護されたメッセージをターゲットがサポートするかどうかを指定する。値は NONE、SUPPORTED、または REQUIRED

 

establish-trust-in-target

 

1 個のみ

 

ターゲットがクライアントに対して認証できるかどうかを指定する。値は NONE、SUPPORTED、または REQUIRED

 

establish-trust-in-client

 

1 個のみ

 

ターゲットがクライアントを認証できるかどうかを指定する。値は NONE、SUPPORTED、または REQUIRED

 

持続性要素

ここでは、コンテナ管理による持続性 (CMP)、持続性マネージャ、および持続性ベンダーに関する要素について説明します。これらの要素に関する詳細は、「コンテナ管理による持続性の使用」を参照してください。

次の要素があります。

cmp

EJB1.1 および EJB2.0 Bean の コンテナ管理による持続性 (CMP) エンティティ Bean オブジェクトに関する実行時情報を記述します。これは、Bean のマッピング情報が記述されたファイルへのポインタです。

サブ要素

次の表は、cmp 要素のサブ要素を示します。

   cmp 要素のサブ要素  

サブ要素

必要指定数

説明

mapping-properties

 

1 個のみ

 

持続性ベンダー固有のオブジェクトとリレーショナル間 (O/R) のデータベースマッピングファイルの場所を示すデータを指定する

 

concrete-impl

 

1 個のみ

 

持続性ベンダー固有の具象クラス名の場所を示すデータを指定する

 

pc-class

 

0 または 1 個

 

持続性ベンダー固有のクラスを示すデータを指定する

 

is-one-one-cmp

 

0 または 1 個

 

コンテナ管理持続性 (CMP) 1.1 のブール特性を指定する。古い記述子による CMP 1.1 の識別に使用される

 

one-one-finders

 

0 または 1 個

 

コンテナ管理持続性 (CMP) 1.1 の検索を記述する

 

cmp-resource

EJB JAR ファイル内のコンテナ管理による持続性 (CMP) Bean を保存するために使用するデータベースを指定します。

サブ要素

次の表は、cmp-resource 要素のサブ要素を示します。

   cmp-resource 要素のサブ要素 

サブ要素

必要指定数

説明

jndi-name

 

1 個のみ

 

JNDI 絶対名 jndi-name を指定する

 

default-resource-principal

 

0 または 1 個

 

リソース参照のデフォルトの実行時バインドを指定する

 

concrete-impl

持続性ベンダー固有の具象クラス名の場所を指定します。

サブ要素

なし

finder

メソッド名とクエリでコンテナ管理による持続性 1.1 の検索を記述します。

サブ要素

次の表は、finder 要素のサブ要素を示します。

   finder 要素のサブ要素 

サブ要素

必要指定数

説明

method-name

 

1 個のみ

 

クエリフィールドのメソッド名を指定する

 

query-params

 

1 個のみ

 

コンテナ管理持続性 (CMP) 1.1 の検索のクエリパラメータを指定するオプションデータ

 

query-filter

 

1 個のみ

 

コンテナ管理持続性 (CMP) 1.1 の検索のクエリフィルタを指定する

 

query-variables

 

1 個のみ

 

コンテナ管理持続性 1.1 の検索のクエリ式内の変数を指定するオプションデータ

 

is-one-one-cmp

コンテナ管理による持続性 1.1 のブール特性を指定します。古い記述子による CMP 1.1 の識別に使用されます。

サブ要素

なし

mapping-properties

持続性ベンダー固有のオブジェクトとリレーショナル間 (O/R) のデータベースマッピングファイルの場所を指定します。ほとんどの持続性ベンダーでは、プロジェクトという概念を使用します。プロジェクトは、関連するすべての Beans およびその依存クラスを表し、1 つの単位として配備することができます。プロジェクトに関連付けられたベンダー固有 XML ファイルが存在する場合もあります。

サブ要素

なし

method-name

クエリフィールドのメソッド名を指定します。method-name 要素には、EJB メソッドの名前またはアスタリスク (*) が含まれます。アスタリスクは、EJB のコンポーネントとホームインタフェースのすべてのメソッドを意味します。

<method-name>create</method-name>

<method-name>*</method-name>

サブ要素

なし

one-one-finders

コンテナ管理による持続性 (CMP) 1.1 の検索を記述します。

サブ要素

次の表は、one-one-finders 要素のサブ要素を示します。

   one-one-finders 要素のサブ要素 

サブ要素

必要指定数

説明

finder

 

1 つ以上必要

 

メソッド名とクエリでコンテナ管理持続性 (CMP) 1.1 の検索を記述する

 

pc-class

持続性ベンダー固有のクラスを指定します。

サブ要素

なし

pm-class-generator

使用するベンダー固有の具象クラスジェネレータを指定します。これは、そのベンダーに固有のクラス名です。

サブ要素

なし

pm-config

使用するベンダー固有のコンフィグレーションファイルを指定します。

サブ要素

なし

pm-descriptor

エンティティ Beans に関連付けられた持続性マネージャのプロパティを記述します。

サブ要素

次の表は、pm-descriptor 要素のサブ要素を示します。

   pm-descriptor 要素のサブ要素 

サブ要素

必要指定数

説明

pm-identifier

 

1 個のみ

 

持続性マネージャ実装を提供したベンダーを指定する。たとえば、Sun ONE Application Server のコンテナ管理持続性またはサードパーティベンダー

 

pm-version

 

1 個のみ

 

使用する持続性マネージャベンダー製品のバージョンを指定する

 

pm-config

 

0 または 1 個

 

使用するベンダー固有のコンフィグレーションファイルを指定する

 

pm-config

 

0 または 1 個

 

使用するベンダー固有の具象クラスジェネレータを指定する。そのベンダーに固有のクラス名である

 

pm-mapping-factory

 

0 または 1 個

 

使用するベンダー固有のマッピングファクトリを指定する。そのベンダーに固有のクラス名である

 

pm-descriptors

持続性マネージャ記述子を記述します。特定の時間にその 1 つが使用されている必要があります。これは、基本的に、Sun ONE Application Server のプラグイン可能な持続性マネージャ API に適用されます。

サブ要素

次の表は、pm-descriptors 要素のサブ要素を示します。左側の列にはサブ要素名、中央の列には必要指定数、右側の列には要素の説明を示しています。

   pm-descriptors 要素のサブ要素 

サブ要素

必要指定数

説明

pm-descriptor

 

1 個以上

 

エンティティ Beans に関連付けられた持続性マネージャのプロパティを記述する

 

pm-inuse

 

1 個のみ

 

この特定の持続性マネージャを使用する必要があるかどうかを指定する

 

pm-identifier

持続性マネージャ実装を提供したベンダーを指定します。たとえば、Sun ONE Application Server のコンテナ管理持続性またはサードパーティベンダーなどです。

サブ要素

なし

pm-inuse

この特定の持続性マネージャを使用する必要があるかどうかを指定します。

サブ要素

次の表は、pm-inuse 要素のサブ要素を示します。

   pm-insue 要素のサブ要素 

サブ要素

必要指定数

説明

pm-identifier

 

1 個のみ

 

持続性マネージャ実装を提供したベンダーを示すデータを指定する。たとえば、Sun ONE Application Server のコンテナ管理持続性またはサードパーティベンダー

 

pm-version

 

1 個のみ

 

使用する持続性マネージャベンダー製品のバージョンを示すデータを指定する

 

pm-mapping-factory

使用するベンダー固有のマッピングファクトリを指定します。これは、そのベンダーに固有のクラス名です。

サブ要素

なし

pm-version

使用する持続性マネージャベンダー製品のバージョンを指定します。

サブ要素

なし

query-filter

コンテナ管理による持続性 1.1 の検索のクエリフィルタを指定します (省略可能)。

サブ要素

なし

query-params

コンテナ管理による持続性 1.1 の検索のクエリパラメータを指定します。

サブ要素

なし

query-variables

コンテナ管理による持続性 1.1 の検索のクエリ式内の変数を指定します (省略可能)。

サブ要素

なし

プールとキャッシュの要素

この節では、キャッシュ、タイムアウト、および EJB プールに関する要素について説明します。これらの要素は、メモリ管理とパフォーマンスの調整に使用されます。詳細については、『Sun ONE Application Server Performance, Tuning, and Sizing Guide』を参照してください。

次の要素について説明します。

bean-cache

エンティティ Bean のキャッシュプロパティを指定します。エンティティ Beans およびステートフルセッション Beans で使用します。

サブ要素

次の表は、bean-cache 要素のサブ要素を示します。

   bean-cache 要素のサブ要素 

サブ要素

必要指定数

説明

max-cache-size

 

0 または 1 個

 

キャッシュに存在できる Bean の最大数を指定する

 

is-cache-overflow-allowed

 

0 または 1 個

 

廃止

 

cache-idle-timeout-in-seconds

 

0 または 1 個

 

ステートフルセッション Beans またはエンティティ Beans がアイドル状態でキャッシュ内に存在できる非活性化までの最大時間を指定する。デフォルト値は 10 分 (600 秒)

 

removal-timeout-in-seconds

 

0 または 1 個

 

Bean が削除されるまでの存続時間を指定する。removal-timeout-in-secondsidle-timeout より短く設定すると、Bean は非活性化される前に削除される

 

resize-quantity

 

0 または 1 個

 

プールが空の場合に作成する Bean の数を指定する (max-pool-size による制限を受ける)。値は 0 から MAX_INTEGER の範囲

 

victim-selection-policy

 

0 または 1 個

 

削除対象の選択に使用するアルゴリズムを指定する。ステートフルセッション Beans だけに適用される

 

<bean-cache>
   <max-cache-size>100</max-cache-size>
   <cache-resize-quantity>10</cache-resize-quantity>
   <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
   <victim-selection-policy>LRU</victim-selection-policy>
      <cache-idle-timeout-in-seconds>
      600
      </cache-idle-timeout-in-seconds>
   <removal-timeout-in-seconds>5400</removal-timeout-in-seconds>
</bean-cache>

bean-pool

ステートフルセッション Beans、エンティティ Beans、メッセージ駆動型 Bean のプールのプロパティを指定します。

サブ要素

次の表は、bean-pool 要素のサブ要素を示します。

   bean-pool 要素のサブ要素 

サブ要素

必要指定数

説明

steady-pool-size

 

0 または 1 個

 

プール内で維持する Bean の初期の最少数を指定する。デフォルト値は 32

 

resize-quantity

 

0 または 1 個

 

プールが空の場合に作成する Bean の数を指定する (max-pool-size による制限を受ける)。値は 0 から MAX_INTEGER の範囲

 

max-pool-size

 

0 または 1 個

 

プール内の Bean の最大数を指定する。値は 0 から MAX_INTEGER の範囲デフォルト値は server.xml または 60

 

max-wait-time-in-millis

 

0 または 1 個

 

廃止

 

pool-idle-timeout-in-seconds

 

0 または 1 個

 

Bean がアイドル状態でプール内に存在できる最大時間を指定する。この時間を過ぎると Bean は削除される。この時間はサーバーが参考にする。デフォルト値は 600 秒 (10 分)

 

<bean-pool>
   <steady-pool-size>10</steady-pool-size>
   <resize-quantity>10</resize-quantity>
   <max-pool-size>100</max-pool-size>
   <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
</bean-pool>

cache-idle-timeout-in-seconds

Bean がキャッシュにアイドル状態のままでいられる最長時間を指定します (省略可能)。この時間を過ぎると、コンテナはこの Bean を非活性化できます。値に 0 を指定すると、その Beans は非活性化の対象となりません。デフォルト値は 600 です。

ステートフルセッション Beans およびエンティティ Beans に適用されます。

サブ要素

なし

commit-option

トランザクション完了時に使用するコミットオプションを指定します (省略可能)。Sun ONE Application Server での有効値は B または C で、デフォルト値は B です。



コミットオプション A は、Sun ONE Application Server 7 ではサポートされていません。



この要素はエンティティ Beans に適用されます。

サブ要素

なし

<commit-option>B</commit-option>

is-cache-overflow-allowed

この要素は廃止されたので使用できません。

max-cache-size

キャッシュに存在できる Bean の最大数を指定します (省略可能)。ゼロを指定すると、キャッシュは無制限になります。実際には、強い制限値は存在しません。max-cache-size の制限値は、キャッシュ実装にとって参考程度です。デフォルト値は 512 です。

ステートフルセッション Beans およびエンティティ Beans に適用されます。

サブ要素

なし

<max-cache-size>100</max-cache-size>

max-pool-size

プール内に存在できる Bean インスタンスの最大数を指定します (省略可能)。0 (メッセージ駆動型 Bean では 1) から MAX_INTEGER までの範囲で指定します。0 を指定すると、プールは無制限になります。デフォルト値は 64 です。

すべての Beans に適用されます。

サブ要素

なし

<max-pool-size>100</max-pool-size>

max-wait-time-in-millis

この要素は廃止されたので使用できません。

pool-idle-timeout-in-seconds

Beans インスタンスが、アイドル状態でプール内に存在できる最大時間を秒単位で指定します (省略可能)。このタイムアウト時間が過ぎると、プール内の Bean インスタンスは非活性化または削除の対象となります。この時間はサーバーが参考にします。0 を指定すると、アイドル Beans はプール内に残り続けます。デフォルト値は 600 です。

ステートレスセッション Beans、エンティティ Beans、メッセージ駆動型 Beans に適用されます。



ステートレスセッション Bean とメッセージ駆動型 Bean では、タイムアウト時間が過ぎると、その Bean を削除 (ガベージコレクション) できます。



サブ要素

なし

<pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>

removal-timeout-in-seconds

Bean インスタンスが、削除前にアイドル状態でコンテナ内に存在できる最大時間 (タイムアウト) を指定します (省略可能)。0 を指定すると、コンテナは非活性化された Beans を自動削除しません。デフォルト値は 5400 です。

removal-timeout-in-secondscache-idle-timeout-in-seconds より短く、または同じに設定すると、Beans は非活性化される前に削除されます。

ステートフルセッション Beans だけに適用されます。

関連情報については、cache-idle-timeout-in-secondsを参照してください。

サブ要素

なし

<removal-timeout-in-seconds>3600</removal-timeout-in-seconds>

resize-quantity

次の Bean インスタンスの数を指定します (省略可能)。

  • プールに存在する Beans が steady-pool-size より少ない状態で要求を受け取った場合に作成する Beans (作成時にプールだけに適用される)。プールに存在する Beans の数が、steady-pool-size から resize-quantity を差し引いた値より多い場合は、resize-quantity と同数の Beans が作成される
  • pool-idle-timeout-in-seconds で指定した時間が経過したときに (タイムアウト)、クリーナスレッドが削除する使用されていない Beans
    • キャッシュでは、max-cache-size に達すると、victim-selection-policy を使って非活性化の対象とする Beans が resize-quantity と同数だけ選択される。また、cache-idle-timeout-in-seconds または cache-remove-timeout-in-seconds が経過すると、非活性化された Beans がキャッシュから削除される
    • プールでは、Beans の数が max-pool-size に達すると、削除の対象とする Beans が resize-quantity と同数だけ選択される。また、pool-idle-timeout-in-seconds が経過すると、Beans の数が steady-pool-size に達するまで Beans は削除される

値は 0 から MAX_INTEGER の範囲です。プールのサイズが steady-pool-size を下回ることはありません。デフォルトは 16 です。

ステートレスセッション Beans、エンティティ Beans、メッセージ駆動型 Beans に適用されます。

EJB プールでは、server.xml ファイルの pool-resize-quantity に記録される ejb-container 要素の値がデフォルト値となります。デフォルト値は 16 です。

EJB キャッシュでは、server.xml ファイルの cache-resize-quantity に記録される ejb-container 要素の値がデフォルト値となります。デフォルト値は 32 です。

メッセージ駆動型 Beans では、server.xml ファイルの pool-resize-quantity に記録される mdb-container 要素の値がデフォルト値となります。デフォルト値は 2 です。

サブ要素

なし

<resize-quantity>10</resize-quantity>

steady-pool-size

プール内で維持する Bean インスタンスの初期の最少数を指定します (省略可能)。デフォルト値は 32 です。



steady-pool-size に 0 より大きな値を設定すると、サーバーの起動時に Beans が作成されます。サーバー起動時に setInitialContext メソッドで有効でない情報、たとえばユーザーのセキュリティロールなどに依存する Bean は setInitialContext メソッド内で EJBException をスローする必要があります。コンテナがこの例外を処理し、Beans をインスタンス化しません。Bean がこの例外を受け入れてしまう場合は、sun-ejb-jar.xml ファイルで steady-pool-size を 0 に設定する必要があります。



ステートレスセッション Beans およびメッセージ駆動型 Beans に適用されます。

サブ要素

なし

<steady-pool-size>10</steady-pool-size>

victim-selection-policy

非活性化するステートフルセッション Beans を選択する方法を指定します (省略可能)。可能な値には、先入れ先出し (FIFO)、最近もっとも使われていないもの (LRU)、最近使われていないもの (NRU) があります。デフォルト値は NRU (実際には pseudo-LRU) です。



ユーザー独自の削除対象選択アルゴリズムを組み込むことはできません。



削除対象は、通常、非活性化されてバックアップストア (一般的にはファイルシステムまたはデータベース) に置かれます。このストアの内容は起動時に削除されます。また、removal-timeout-in-seconds が経過すると、定期的なバックグラウンドプロセスによってアイドルエントリが削除されます。バックアップストアはバックグラウンドスレッド (またはスイーパースレッド) によって管理され、不要なエントリは削除されます。

ステートフルセッション Beans だけに適用されます。

サブ要素

なし

<victim-selection-policy>LRU</victim-selection-policy>

クラス要素

ここでは、クラスに関連する要素について説明します。次の要素があります。

gen-classes

Bean で生成されるすべてのクラス名を指定します。



これは、配備時または再配備時にサーバーによって自動的に生成されます。開発者が指定したり、配備後に変更したりする必要はありません。



サブ要素

次の表は、gen-classes 要素のサブ要素を示します。

   gen-classes 要素のサブ要素 

サブ要素

必要指定数

説明

remote-impl

 

0 または 1 個

 

生成された EJBObject impl クラスの完全修飾クラス名を指定する

 

local-impl

 

0 または 1 個

 

生成された EJBLocalObject impl クラスの完全修飾クラス名を指定する

 

remote-home-impl

 

0 または 1 個

 

生成された EJBHome impl impl クラスの完全修飾クラス名を指定する

 

local-home-impl

 

0 または 1 個

 

生成された EJBLocalHome impl クラスの完全修飾クラス名を指定する

 

local-home-impl

生成された EJBLocalHome impl クラスの完全修飾クラス名を指定します。



これは、配備時または再配備時にサーバーによって自動的に生成されます。開発者が指定したり、配備後に変更したりする必要はありません。



サブ要素

なし

local-impl

生成された EJBLocalObject impl クラスの完全修飾クラス名を指定します。



これは、配備時または再配備時にサーバーによって自動的に生成されます。開発者が指定したり、配備後に変更したりする必要はありません。



サブ要素

なし

remote-home-impl

生成された EJBHome impl クラスの完全修飾クラス名を指定します。



これは、配備時または再配備時にサーバーによって自動的に生成されます。開発者が指定したり、配備後に変更したりする必要はありません。



サブ要素

なし

remote-impl

生成された EJBObject impl クラスの完全修飾クラス名を指定します。



これは、配備時または再配備時にサーバーによって自動的に生成されます。開発者が指定したり、配備後に変更したりする必要はありません。



サブ要素

なし

EJB XML ファイルの例

この節では、次のファイルの例を示します。

Enterprise JavaBean に関連する要素については、「sun-ejb-jar.xml ファイルの要素」および『Sun ONE Application Server 開発者ガイド』を参照してください。

ejb-jar.xml ファイルの例

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN'

'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>

<ejb-jar>
   <description>no description</description>
   <display-name>CustomerJAR</display-name>
      <enterprise-beans>
         <entity>
            <description>no description</description>
            <display-name>CustomerEJB</display-name>
            <ejb-name>CustomerEJB</ejb-name>
            <home>samples.SimpleBankBMP.ejb.CustomerHome</home>
            <remote>samples.SimpleBankBMP.ejb.Customer</remote>
            <ejb-class>samples.SimpleBankBMP.ejb.CustomerEJB</ejb-class>
            <persistence-type>Bean</persistence-type>
            <prim-key-class>java.lang.String</prim-key-class>
            <reentrant>False</reentrant>
            <security-identity>
               <description></description>
               <use-caller-identity></use-caller-identity>
            </security-identity>
            <resource-ref>
               <res-ref-name>jdbc/SimpleBank</res-ref-name>
               <res-type>javax.sql.DataSource</res-type>
               <res-auth>Container</res-auth>
               <res-sharing-scope>Shareable</res-sharing-scope>
            </resource-ref>
         </entity>
      </enterprise-beans
   <assembly-descriptor>
      <container-transaction>
         <method>
            <ejb-name>CustomerEJB</ejb-name>
            <method-name>*</method-name>
         </method>
         <trans-attribute>NotSupported</trans-attribute>
      </container-transaction>
   </assembly-descriptor>
</ejb-jar>

sun-ejb-jar.xml ファイルの例

これらの要素に関する詳細は、「sun-ejb-jar.xml ファイルの要素」を参照してください。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sun-ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 EJB 2.0//EN'

'http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_0-0.dtd'>

<sun-ejb-jar>
   <display-name>First Module</display-name>
   <enterprise-beans>
      <ejb>
         <ejb-name>CustomerEJB</ejb-name>
         <jndi-name>customer</jndi-name>
         <resource-ref>
            <res-ref-name>jdbc/SimpleBank</res-ref-name>
'            <jndi-name>jdbc/PointBase</jndi-name>
         </resource-ref>
         <is-read-only-bean>false</is-read-only-bean>
         <commit-option>B</commit-option>
         <bean-pool>
            <steady-pool-size>10</steady-pool-size>
            <resize-quantity>10</resize-quantity>
            <max-pool-size>100</max-pool-size>
            <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
         </bean-pool>
         <bean-cache>
            <max-cache-size>100</max-cache-size>
            <resize-quantity>10</resize-quantity>
               <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
            <victim-selection-policy>LRU</victim-selection-policy>
         </bean-cache>
      </ejb>
   </enterprise-beans>
</sun-ejb-jar>


前へ      目次      索引      次へ     
Copyright 2002 Sun Microsystems, Inc. All rights reserved.