ヘッダーをスキップ
Oracle Containers for J2EEデプロイメント・ガイド
10g(10.1.3.5.0)
B56032-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

8 デプロイ・プランについて

この章では、デプロイ・プランの作成方法と使用方法について説明します。デプロイ・プランは、アーカイブをOracle Containers for J2EE(OC4J)にデプロイする際の構成データの編集と再利用のプロセスを容易にします。次の項目について説明します。

デプロイ・プランの概要

他のJ2EEコンテナと同じく、OC4Jは、ベンダー固有のデプロイメント・ディスクリプタ・ファイルをいくつも利用します。これらは、標準のJ2EEデプロイメント・ディスクリプタが拡張されたものです。たとえば、OC4J固有のorion-application.xmlディスクリプタは、OC4J固有の構成データを含むようにJ2EE標準のapplication.xmlディスクリプタを拡張したものです。J2EEとOC4Jのデプロイメント・ディスクリプタの関係の概要は、「J2EEおよびOC4Jデプロイメント・ディスクリプタの概要」を参照してください。

JSR-88の重要な機能は、デプロイ・プラン、すなわちアーカイブをOC4Jにデプロイするために必要なすべての構成データをクライアント・サイドで集約したものを作成することです。このデプロイ・プランは、Application Server Controlのデプロイ・プラン・エディタ機能を使用してデプロイ時に編集できます。この方法で、特定のインストールに合せて構成データを簡単に変更することができます。(詳細は、「デプロイ・プランでのプロパティの設定」を参照してください。)

アーカイブがデプロイされるとき、アーカイブとデプロイ・プランの両方がOC4Jサーバーに送られます。OC4Jは、デプロイ・プランの内容を使用して、ORACLE_HOME/j2ee/instance/application-deploymentsディレクトリにOC4J固有の様々なディスクリプタを生成します。

たとえば、WARとEJB JARを含むEARがデプロイされる場合、デプロイ・プランには、これらのアーカイブそれぞれについて集約された構成データが含まれます。このデータは、OC4Jによって生成されるorion-application.xmlorion-web.xmlorion-ejb-jar.xmlの各ディスクリプタにデプロイ時に書き込まれます。

一旦デプロイ・プランを作成すると、ファイルとして保存することも可能です。このファイルは、同じコンポーネントの再デプロイまたは他のコンポーネントのデプロイで再利用できます。デプロイ時に既存のデプロイ・プランをコンポーネントに適用しない場合は、デフォルトで新しいプランが作成されます。


注意:

デプロイ・プランには、デプロイ終了後にEARを削除すべきかどうかを指定するプロパティなど、デプロイメント・ディスクリプタにはないがデプロイ・プロセスで必要になるその他のプロパティが含まれます。

デプロイ・プランとパッケージされたデプロイメント・ディスクリプタの対応

1つ以上のOC4J固有ディスクリプタ(orion-application.xmlorion-ejb-jar.xmlなど)がデプロイ対象のアーカイブにパッケージされている場合、デプロイ・プランはこれらのファイルのデータで初期化されます。その後、デプロイする前に、Application Server Controlのデプロイ・プラン・エディタで構成データを編集できます。(詳細は、「デプロイ・プランでのプロパティの設定」を参照してください。)

デプロイ・プラン・エディタで行った変更は、アーカイブには書き込まれません。たとえば、デプロイ・プラン・エディタを使用して、アプリケーションレベルで使用するUserManagerクラスを定義したとします。アプリケーションがデプロイされるとき、OC4Jで生成されたorion-application.xmlファイルには<user-manager>要素が追加されます。アーカイブにパッケージされているorion-application.xmlファイルには含まれません。

J2EEおよびOC4Jデプロイメント・ディスクリプタの概要

デプロイメント・ディスクリプタは、J2EEのアプリケーションおよびモジュールと一緒にデプロイされる構成ファイルです。各J2EE標準デプロイメント・ディスクリプタは、対応するOC4J固有のディスクリプタによって拡張されます。次の表で、これらのファイルについて説明し、互いの関係を示します。

OC4J固有の各ディスクリプタを記述するXML Schema Definition(XSD)ファイルについても説明します。現行のOracle XSDは次のリンクで確認できます。

http://www.oracle.com/technology/oracleas/schema/index.html

表8-1 J2EEおよびOC4Jのデプロイメント・ディスクリプタ

J2EE標準ディスクリプタ OC4J固有ディスクリプタ

application.xml

J2EEアプリケーションのコンポーネント(Enterprise JavaBeans(EJB)やWebモジュールなど)を指定します。アプリケーションの追加構成も指定できます。このディスクリプタは、アプリケーションのEARファイルの/META-INFディレクトリに含める必要があります。

orion-application.xml

通常は、OC4J固有の構成(セキュリティ・ロール・マッピング、データ・ソース定義、JNDIネームスペース・アクセス、共有ライブラリ交換など)を定義します。J2EEのapplication.xmlディスクリプタで指定されるモジュール以外のモジュールの指定にも使用できます。

このファイルの形式はorion-application-10_0.xsdで定義されます。

web.xml

一連のJ2EE Webコンポーネント(静的ページ、サーブレット、JSPページなど)を指定および構成します。Webコンポーネントがコールするその他のコンポーネント(EJBモジュールなど)の指定と構成も行います。複数のWebコンポーネントが独立したWebアプリケーションを形成し、スタンドアロンWARファイルとしてデプロイされることがあります。

orion-web.xml

標準のJ2EEディスクリプタを、アプリケーションレベルのOC4J固有の構成データ(開発者モードやJSPの自動リロードなどのOC4J機能が有効かどうかなど)で拡張したものです。

このファイルの形式はorion-web-10_0.xsdで定義されます。

ejb-jar.xml

JAR内のEJBモジュールの特定の構造上の特徴や依存状態を定義し、BeanがEJBコンテナに対してどのように対応するかをEJBコンテナに知らせます。

orion-ejb-jar.xml

アーカイブ内のすべてのEJBモジュールに対してOC4J固有の構成データ(EJBプール設定、タイムアウトと再試行の設定、JNDIマッピング、finderメソッドの指定など)を定義します。TopLink永続性マネージャのプロパティも含まれます。

このファイルの形式はorion-ejb-jar-10_0.xsdで定義されます。

application-client.xml

アーカイブにパッケージされたJ2EEアプリケーション・クライアントで使用されるEJBモジュールやその他のリソースを指定します。

orion-application-client.xml

EJBモジュールのホーム・インタフェースまたは外部リソース(データ・リソース、JMSキュー、メールセッションなど)へのJNDIマッピングなど、OC4Jデプロイ・データが含まれます。

このファイルの形式はorion-application-client-10_0.xsdで定義されます。

ra.xml

RARファイルにパッケージされたリソース・アダプタの実装コード、構成プロパティおよびセキュリティ設定に関する情報が含まれます。

oc4j-ra.xml

1つのリソース・アダプタのデプロイ構成データが含まれます。このデータには、使用されるJNDI名、EIS接続情報、接続プーリング・パラメータ、リソース・プリンシパル・マッピングなどの情報が含まれます。

このファイルの形式はoc4j-connector-factories-10_0.xsdで定義されます。

oc4j-connectors.xml

スタンドアロン・リソース・アダプタがデプロイされたOC4Jインスタンスでは、それらのスタンドアロン・リソース・アダプタの列挙が含まれます。埋込みリソース・アダプタがデプロイされたJ2EEアプリケーションでは、アプリケーションにバンドルされている埋込みリソース・アダプタのリストが含まれます。

このファイルの形式はoc4j-connectors-10_0.xsdで定義されます。

webservices.xml

Webサービスを指定します。WARファイルにパッケージされたWebサービス・アプリケーションに関するWSDL情報やJAX-RPCマッピング・データなどが含まれます。

oracle-webservices.xml

OC4J Webサービス・コンテナで使用されるプロパティ(WSDLファイルを公開するかどうかなど)を定義します。Webサービスとして実装されるEJBモジュール固有のエンドポイント・アドレスやデータも定義します。このファイルは、Webサービスを含むWARまたはEJB JARにパッケージできます。

このファイルの形式はoracle-webservices-10_0.xsdで定義されます。


デプロイ・プランの作成または編集

デプロイ・プランの作成または編集にはデプロイ・プラン・エディタ機能を使用しますが、これは、WebベースのOracle Enterprise Manager 10g Application Server Controlインタフェースや、Oracle JDeveloper 10g統合開発環境のJ2EE EditionおよびStudio Editionで提供されます。

Application Server Controlでのデプロイ・プランの作成または編集

Application Server Controlで提供されるデプロイ・プラン・エディタには、デプロイ・ウィザードの3番目(最後)のページからアクセスできます。このページの「デプロイ・プランの編集」ボタンをクリックすると、エディタが表示されます。

デプロイされる各アーカイブは、エディタの左側のナビゲーション・ペインの「XPath」ノードに表示されます。アーカイブ・ノードを選択して、そのアーカイブ・タイプのデプロイ・プラン・プロパティにアクセスします。次の情報を確認できます。

  • アーカイブにパッケージされているJ2EE標準ディスクリプタ。

  • XMLの要素と属性の現行の値。デプロイ時に生成されるOC4J固有ディスクリプタに設定されます。

  • デプロイ・プランに設定できる一連のプロパティ。それぞれが、デプロイ時に生成されるOC4J固有ディスクリプタの要素または属性に対応します。

    設定できる各プロパティの詳細は、「デプロイ・プランでのプロパティの設定」を参照してください。XMLディスクリプタ・ファイルに設定できるすべてのパラメータを、デプロイ・プラン・エディタで設定できるわけではありません。デプロイ後に設定されるパラメータは公開されません。

デプロイ・プランを作成すると、XMLファイルとして保存できます。これは、他のアプリケーションのデプロイに適用することができます。

デプロイ・ウィザードの最初のパネルで、デプロイ時に適用する既存のデプロイ・プランを選択することもできます。一旦デプロイ・プランを取得すると、編集することも、そのまま使用することも可能です。

Oracle JDeveloperでのデプロイ・プランの作成または編集

Oracle JDeveloper 10gのデプロイ・プラン・エディタ機能は、「アプリケーションの構成」パネルとして表示されます。

デプロイ・プラン・エディタを使用するには、ターゲットのOC4Jインスタンスに対してタイプがJ2EE 1.4サーバーである接続を作成する必要があります。これは、「接続ナビゲータ」パネルから起動するウィザードで行います。

接続したら、アーカイブを選択してconnection_nameに配布」を選択すると、「アプリケーションの構成」パネルが表示されます。

デプロイ・プランを作成すると、XMLファイルとして保存できます。これは、他のアプリケーションのデプロイに適用することができます。

アーカイブをOC4Jにデプロイする方法は、Oracle JDeveloperオンライン・ヘルプのアプリケーションのデプロイに関するトピックを参照してください。

デプロイ・プランでのプロパティの設定

この項では、デプロイ・プランで設定できるプロパティとその設定方法を説明します。デプロイ対象のアーカイブのタイプごとに説明します。

J2EEアプリケーションの構成プロパティの設定

EARファイルにパッケージされたJ2EEアプリケーションをデプロイするときに、次のOC4J固有のプロパティを設定できます。各プロパティはorion-application.xmlディスクリプタの要素属性にマップされます。

applicationId

アプリケーションの一意の識別子を指定する、サーバー定義文字列を含みます。

autoCreateTables

trueに設定すると、CMP Enterprise JavaBeans(EJB)モジュールのデータベース表がこのアプリケーションに自動的に作成されます。デフォルトはfalseです。

autoDeleteTables

このアプリケーションを再デプロイするときに、CMP Beanの古いデータベース表を自動的に削除するかどうかを指定します。デフォルトはfalseです。

cluster

アプリケーション・レベルでのOC4Jアプリケーション・クラスタリングを構成します。通常、アプリケーション・クラスタリングはグローバル・レベルで構成されますが、アプリケーションレベルの設定によってグローバル構成はオーバーライドされます。OC4Jクラスタリング・フレームワークの詳細は、『Oracle Containers for J2EE構成および管理ガイド』を参照してください。

  • enabled: アプリケーションでクラスタリングを有効にするかどうかを指定します。デフォルトはtrueです。アプリケーション・レベルにおけるこの値の設定は、親アプリケーションから継承した値をオーバーライドします。クラスタリングは特定のアプリケーションで有効または無効にできます。

  • groupName: レプリケーション・グループ・チャネルを確立するときに使用する名前。指定しないと、server.xml(OC4Jサーバー構成ファイル)に定義されているアプリケーション名がデフォルトで使用され、各エンタープライズ・アプリケーションに新しいグループ・チャネルが作成されます。

    値を指定すると、アプリケーションとすべての子アプリケーションが、このアプリケーション・グループ名に関連付けられたチャネルを使用します。

  • allowColocation: 同じホスト・マシンに常駐するアプリケーション・グループ・メンバーへのアプリケーション状態のレプリケートを許可するかどうかを指定します。デフォルトはtrueです。

    複数のOC4Jインスタンスが同じマシンでインスタンス化されている場合は、default-web-site.xmljms.xmlおよびrmi.xml構成ファイルでインスタンスごとに異なるリスナー・ポートを指定する必要があります。

  • writeQuota: アプリケーション状態をレプリケートする他のアプリケーション・グループ・メンバー(JVM)の数。この属性によって、状態を書き込むノード数を制限して、オーバーヘッドを削減することができます。これは以前のOC4Jリリースで使用されたアイランドの概念に似ています。デフォルトは1グループ・メンバーです。

  • cacheMissDelay: セッションがローカルで見つからない場合に、別のアプリケーション・グループ・メンバーがセッションに応答するまでプロセス内で待機する時間(ミリ秒)。セッションが見つからない場合、指定した時間だけリクエストが一時停止します。デフォルトは1000ミリ秒(1秒)です。

  • replicationPolicy: 適用するレプリケーション・ポリシーを指定します。このポリシーはデータのレプリケーションをいつ行うかを定義します。

    理想的な設定値は、WebモジュールとEJBモジュールでは異なります。有効な値は、『Oracle Containers for J2EE構成および管理ガイド』を参照してください。

  • propertyConfig: クラスタリングの通信プロトコル・スタックを定義するプロパティを含みます。

    • propertyString: クラスタリングの通信プロトコル・スタックを定義するプロパティを含む文字列。

    • url: クラスタリングの通信プロトコル・スタックを定義するプロパティを含むXML構成ファイルへのリンク。

  • protocol: データ・レプリケーションで使用するメカニズムを定義します。1つしか指定できないことに注意してください。使用されるデフォルトのプロトコルはmulticastです。

    • database: 状態データをデータベースに永続化するために必要な接続情報。

      • dataSource: データベース接続を提供するデータ・ソースの名前。データ・ソースのJNDI名(data-sources.xmlに指定されたjndi-name属性の値)を指定する必要があります。

    • peer: レプリケーションのピアツーピア(P2P)通信を使用するために必要な構成を含みます。

      • range: 潜在的なピア・ノードを探すときにポート値を増分する回数。デフォルトは5回です。スタンドアロンOC4Jのインストールで静的なピアツーピア・レプリケーションを構成する場合のみ有効です。

      • startPort: ピア通信に関してこのアプリケーション・クラスタ構成で使用するために割当てを試行する初期ポート。デフォルトはポート7800です。スタンドアロンOC4Jのインストールで静的なピアツーピア・レプリケーションを構成する場合のみ有効です。

      • timeout: 潜在的なピア・ノードを探すときにピアからのレスポンスを待機する時間(ミリ秒)。デフォルトは3000ミリ秒(3秒)です。スタンドアロンOC4Jのインストールで静的なピアツーピア・レプリケーションを構成する場合のみ有効です。

      • nodes: 使用可能なOC4Jサーバーのリストに関して、ポーリングするノードのホスト名とポートを指定します。複数のノードを指定できます。スタンドアロンOC4Jのインストールで静的なピアツーピア・レプリケーションを構成する場合のみ有効です。

      • bindAddr: バインドするネットワーク・インタフェース・カード(NIC)のIPアドレスを指定します(オプション)。これは、OC4Jホスト・マシンに複数のネットワーク・カードがあり、それぞれに固有のIPアドレスがあるとき、マルチキャスト・メッセージの送受信に使用するNICを定義する場合に役立ちます。

    • multicast: レプリケーションでマルチキャスト通信を使用するために必要な構成を含みます。このメカニズムはデフォルトで使用されます。

      • ip: 使用するマルチキャスト・アドレス。OC4Jのデフォルトは230.230.0.1です。

      • port: 使用するマルチキャスト・ポート。OC4Jのデフォルトはポート45566です。

      • bindAddr: バインドするネットワーク・インタフェース・カード(NIC)のIPアドレスを指定します(オプション)。これは、OC4Jホスト・マシンに複数のネットワーク・カードがあり、それぞれに固有のIPアドレスがあるとき、マルチキャスト・メッセージの送受信に使用するNICを定義する場合に役立ちます。

  • replicationPolicy: HttpSessionまたはステートフル・セッションBeanの状態のレプリケーションをいつ行うか、および、すべての属性や変数の値または変更された値のみのいずれをレプリケートするかを定義します。レプリケーション・プロセスにはコストがかかることがあり、データを頻繁にレプリケートすることでサーバーのパフォーマンスに影響することもあります。ただし、データをあまりレプリケートしないと、サーバー障害時にデータが失われることがあります。

    • scope: レプリケートするデータを定義します。すべての属性や変数の値、または変更された値のみをレプリケートします。デフォルトでは、変更されたHTTPセッション属性のみがレプリケートされます。ステートフル・セッションBeanの場合はすべてのメンバー変数がレプリケートされます。

    • trigger: レプリケーションをいつ行うかを指定します。デフォルトでは、onRequestEndポリシーが適用されます。このポリシーではデータが頻繁にレプリケートされ、JVMが予期せず終了した場合にもデータが失われないようにします。

connectorsPath

アプリケーションと一緒にデプロイされるプラグイン・コネクタを定義します。

  • path: oc4j-connectors.xmlファイルの名前とパス。指定しない場合、OC4Jが使用するデフォルトのパスはORACLE_HOME/j2ee/instance/connectors/rarName./oc4j-connectors.xmlです。

dataSourcesPath

アプリケーションで使用されるデータ・ソースを定義するXMLファイルのパスとファイル名を指定します。

OC4Jで使用されるデフォルトのデータ・ソースを定義するデフォルトのdata-sources.xmlファイルは、ORACLE_HOME/j2ee/instance/config/ディレクトリにインストールされます。

  • path: XMLファイルのパス。パスは、絶対パスとして指定するか、orion-application.xmlディスクリプタの位置(デフォルトではORACLE_HOME/j2ee/instance/config/)に対する相対パスとして指定することができます。

defaultDataSource

サーバーのデフォルト以外の場合は、使用するデフォルトのデータ・ソースを定義します。指定する場合は、このアプリケーションの有効なCMTデータ・ソースを指定してください。

deploymentVersion

このJARがデプロイされたOC4Jのバージョンを定義します。このバージョンが現行バージョンと一致しない場合、JARは再デプロイされます。これは内部サーバー値であるため、編集しないでください。

enableIIOP

IIOPを有効にするには、trueに設定します。デフォルトはfalseです。

importedLibraries

アプリケーションによってインポートされる1つ以上の共有ライブラリや、親アプリケーションからデフォルトで継承される一連のライブラリから削除する1つ以上の共有ライブラリを定義します。

  • editImport: アプリケーションによってインポートされる共有ライブラリを指定します。

    • maxVersion: インポートする共有ライブラリの最高実装バージョン。(最新バージョンの共有ライブラリをインポートするには、バージョンを指定しないでください。)

    • minVersion: インポートする共有ライブラリの最低実装バージョン。

    • name: インポートする共有ライブラリの名前。

  • editRemove: アプリケーションの親からデフォルトで継承される一連の共有ライブラリから削除する共有ライブラリを指定します。継承されるライブラリには、サーバーレベルのsystemアプリケーションとdefaultアプリケーションから継承される共有ライブラリも含まれます。これらは、OC4Jにデプロイされるすべてのアプリケーションでデフォルトで継承されます。

    • name: 削除する共有ライブラリの名前。

jazn

XMLベースの構成プロバイダ・タイプを使用するように、Java Authentication and Authorization Service(JAAS)を構成します。このプロパティはorion-application.xml<jazn>要素にマップされます。アプリケーションに対する<jazn>要素の使用に関する詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』のjazn.xmlファイルの<jazn>要素の説明を参照してください。

  • provider: XMLに設定します。

  • location: jazn-data.xmlファイルのパス(./jazn-data.xmlなど)を設定します。これは、絶対パスにすることもjazn.xmlファイルに対する相対パスにすることもできます。このとき、JAASプロバイダは、まずjazn.xmlファイルを含むディレクトリでjazn-data.xmlを探します。jazn.xmlファイルが構成されている場合には、この指定はオプションであり、構成されていない場合には指定が必要です。

  • persistence: 値は、NONE(変更内容を永続化しない)、ALL(すべての変更の後で変更内容を永続化する)、VM_EXIT(デフォルト、JVMが終了するときに変更内容を永続化する)です。

  • default-realm: レルム名。たとえば、sample_subrealmなどです。1つのレルムしか構成しない場合はオプションです。

JAAS構成とjazn-data.xmlおよびjazn.xmlファイルの詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

jaznLoginConfig

JAASログイン・モジュールとアプリケーションを関連付けるために使用するデータが含まれます。これらのプロパティは、jazn-data.xmlファイルの<jazn-loginconfig>要素とそのサブ要素に対応します。表示されるのは、JAZN XMLベース・プロバイダがアプリケーションで使用される場合のみです。

  • className: ログイン・モジュールの実装クラス。

  • controlFlag: 認証を正常に続行するためにログイン・モジュールが必要かどうかを指定します。

  • options: ログイン・モジュールに名前/値ペアとして渡す1つ以上のプロパティのコレクション。たとえば、名前がdebugで値がtrueのようなペアです。

jazn-data.xmlファイルとこれらのプロパティの詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

jmxMBeans

アプリケーションと一緒にデプロイされる1つ以上のMBeanを定義します。デプロイされるMBeanごとに次の各プロパティを指定します。

  • className: MBeanの実装クラス。

  • description: MBeanの判読可能な名前を含む文字列。この名前は、Application Server Controlのユーザー・インタフェースに表示されます。

  • objectName: この名前の下にMBeanを登録します。名前のドメイン部は指定しても無視されます。アプリケーションMBeanの登録には、アプリケーションのデプロイ名がドメイン名として使用されます。

    たとえば、widgetという名前のアプリケーションと一緒にMyMBeanAという名前のMBeanをデプロイする場合は、この属性の値として:name=MyMBeanAと指定します。この場合、名前はwidget:name=MyMBeanAと表示されます。

libraries

このOC4Jインスタンスのライブラリ・パスとして追加する、ディレクトリ、JARアーカイブまたはZIPアーカイブに対する相対パス、絶対パスまたはURLを指定します。ディレクトリは、OC4J起動時に、組み込むアーカイブを検出するためにスキャンされます。

  • path: ディレクトリまたはアーカイブのパス。

log

アプリケーションのロギング構成を設定します。

  • file: アプリケーションでテキスト・ロギングが使用される場合にテキスト・ログ・ファイルが生成されるディレクトリのパス(オプション)。テキスト・ログ・ファイルのデフォルトの場所は、ORACLE_HOME/j2ee/instance/application-deployments/application_name/application.logです。デフォルトのログ・ファイル名とパスは変更できません。

  • mail: ログ出力をメール送信する宛先の電子メール・アドレスを設定します(オプション)。このオプションを選択する場合は、有効なメールセッションをmailSessionsで指定する必要があります。

  • odl: アプリケーションで使用されるOracle Diagnostic Loggingを構成します。ODLフレームワークによって、標準Javaフレームワークを補完して、ログ・データをOracleログ分析ツールに自動的に統合するプラグイン・コンポーネントが提供されます。ODLフレームワークでは、ログ・ファイルの形式はXMLであるため、他のOracle Application Serverやカスタム開発コンポーネントがログ・ファイルをより簡単に解析および再利用できます。

    • maxDirectorySize: ログ・ファイル・ディレクトリの最大サイズ(バイト単位)。この制限を超えると、ログ・ファイルが古いものから順にパージされます。

    • maxFileSize: 個々のログ・ファイルの最大サイズ(バイト単位)。この制限に達すると、新しいログ・ファイルが生成されます。

    • path: このコンポーネントのlog.xmlファイルを出力するフォルダのパス。絶対パス、または変更しているXML構成ファイルに対する相対パスを指定します。

      たとえば、ORACLE_HOME/j2ee/instance/log/内の/hello-planet-xmlディレクトリにlog.xmlファイルを出力するには、path属性に"../../log/hello-planet-xml"を設定します。

mailSessions

アプリケーションでSMTPを使用する場合に、メールセッションのSMTPホストを定義します。

  • location: メールセッションを格納するネームスペース内の場所。

  • smtp-host: セッションのSMTPサーバー・ホスト。

namespaceAccess

RMIクライアントのネームスペースまたはネーミング・コンテキストのセキュリティ・ポリシーを設定します。

parentApp

このアプリケーションの親になるアプリケーションの名前を指定します。この値はデプロイ時に設定します。

persistencePath

アプリケーションの再起動の前後でアプリケーションの状態データを格納するディレクトリのパスを定義します。パスは、絶対パスまたはアプリケーション・ルートに対する相対パスとして指定できます。

  • path: 永続ディレクトリのパス。

resourceProviders

リソース・プロバイダを定義します。

  • className: リソース・プロバイダ・クラスの名前。

  • name: リソース・プロバイダを識別するために使用する名前。この名前は、アプリケーションのJNDIでリソース・プロバイダを探すときに、java:comp/resource/name/のように使用されます。

  • description: 特定のリソース・プロバイダの説明(オプション)。

  • properties: リソース・プロバイダにパラメータとして渡すプロパティの名前/値ペアを設定します。

seeParentDataSources

親アプリケーションに定義された既存のデータ・ソースをアプリケーションに継承するかどうかを指定します。デフォルトはfalseです。

このプロパティは、OC4J 10g(10.1.3.5.0)で非推奨になります。

taskManagerInterval

タスク・マネージャが処理を実行する間隔(ミリ秒)を定義します。タスク・マネージャは、クリーンアップ・アクティビティを実行するバックグラウンド・プロセスです。デフォルトでは1秒(1000ミリ秒)おきに起動されます。

treatZeroAsNull

主キーの値が0のときにNullと解釈するかどうかを指定します。デフォルトはfalseです。

userManagerByClass

使用するUserManagerクラス(オプション)を指定します。これには、com.evermind.security.UserManagerインタフェースを実装する任意のクラスを指定できます。たとえば、com.evermind.sql.DataSourceUserManagercom.evermind.ejb.EJBUserManagerです。通常これらのクラスは、既存のシステムを統合して、Webアプリケーションにカスタム・ユーザーマネージャを提供するために使用されます。

  • className: UserManagerクラスの完全修飾名。

  • description: 説明テキスト(オプション)。

  • displayName: このUserManagerインスタンスを説明する名前。

  • properties: 名前/値ペアとしてUserManagerに渡す1つ以上のプロパティ。次に例を示します。

    name="groupMembershipGroupFieldName" value="group" name="groupMembershipUsernameFieldName" value="Userid"


注意:

com.evermind.securityパッケージおよびそのクラスは非推奨になります。これらは11gリリースではサポートされません。com.evermind.security.UserManager実装のかわりに、『Oracle Containers for J2EEセキュリティ・ガイド』に記載されているJAASカスタム・ログイン・モジュールを使用できます。

webSiteBinding

アプリケーションのWebモジュールをバインドするWebサイトの名前を指定します。デフォルトでは、OC4JにデプロイされるすべてのアプリケーションがdefaultのWebサイトにバインドされます。OC4JでのWebサイトの作成と使用の詳細は、『Oracle Containers for J2EE構成および管理ガイド』を参照してください。

Webモジュールの構成プロパティの設定

WARファイルにパッケージされたWebモジュールをデプロイするときに設定できるOC4J固有のプロパティを、次に詳しく示します。各プロパティはorion-web.xmlディスクリプタの要素属性にマップされます。

accessMask

このアプリケーションのアクセス・マスクを指定します(オプション)。hostAccessプロパティにホスト名またはドメインを指定して、クライアントをフィルタ処理することができます。また、ipAccessにIPアドレスとサブネットを指定して、クライアントをフィルタ処理することもできます。あるいは、これら両方を定義することも可能です。

  • default: hostAccessまたはipAccessプロパティに指定されていないクライアントからのリクエストを許可するかどうかを指定します。指定できる値はallow(デフォルト)とdenyです。

  • hostAccess: アクセスを許可または拒否するホスト名またはドメインを指定します。

    • domain: ホストまたはドメイン。

    • mode: 指定したホストまたはドメインからのアクセスを許可するか拒否するか。指定できる値はallow(デフォルト)またはdenyです。

  • ipAccess: アクセスを許可または拒否するIPアドレスとサブネット・マスクを指定します。

    • ip: 32ビット値のIPアドレス。たとえば、123.124.125.126と指定します。

    • netmask: 対応するサブネット・マスク。たとえば、255.255.255.0と指定します。

    • mode: 指定したIPアドレスとサブネット・マスクからのアクセスを許可するか拒否するか。指定できる値はallow(デフォルト)またはdenyです。

autoJoinSession

ユーザーがアプリケーションにログインしたときにすぐにセッションを割り当てるかどうかを指定します。デフォルトはfalseです。

classpath

Webアプリケーションのクラスをロードするための追加コードの位置を指定します。これには、ライブラリ・ファイル、または個々のクラス・ファイルの場所を指定できます。

  • path: 1つ以上のコードの位置のパス。カンマまたはセミコロンで区切って指定します。位置としては、次のいずれかを指定できます。

    • JARファイルまたはZIPファイルの、ファイル名も含む完全なパス

    • ディレクトリのパス

    ディレクトリ・パスを指定すると、クラス・ローダーは指定したディレクトリの個々のクラス・ファイルのみを認識し、JARファイルまたはZIPファイルは認識しません(これらのファイルが個別に指定されていない場合)。

    クラス・ローダーが認識する内容は次のとおりです。

    • lib1.jarライブラリおよびzip1.jarライブラリ(ただし、/abc/defのその他のライブラリは含まない)

    • /abc/defのすべてのクラス・ファイル

    • 生成されるorion-web.xmlファイルの場所に対して相対的なmydirにあるすべてのクラス・ファイル

defaultBufferSize

サーブレット・レスポンスのための出力バッファのデフォルト・サイズ(バイト単位)を指定します。デフォルトは2048です。

defaultCharset

デフォルトで使用されるISOキャラクタ・セットを指定します。デフォルトはiso-8859-1です。

defaultMimeType

拡張子が不明または未認識のファイルで使用するデフォルトのMIMEタイプを指定します。

deploymentVersion

このWebアプリケーションがデプロイされたOC4Jのバージョンを指定します。この値が現行バージョンと一致しない場合、アプリケーションは再デプロイされます。これは内部サーバー値であるため、変更しないでください。

development

このプロパティは、開発中に使用すると役立ちます。trueに設定すると、OC4Jサーバーが、サーブレット・ソース・ファイルの更新を特定のディレクトリでチェックします。ソース・ファイルが最後のリクエスト以降に変更された場合、OC4Jは次のリクエストでサーブレットを再コンパイルし、Webアプリケーションを再デプロイし、サーブレットと依存クラスをリロードします。

ディレクトリは、この後で説明するsourceDirectory属性の設定で決まります。

directoryBrowsing

最後に/が付いたURLのディレクトリ参照を許可するかどうかを指定します。値はallowdeny(デフォルト)です。

次の状況を想定します。

  • URLがマップされたディレクトリにindex.htmlファイルがない。

  • web.xmlファイルにwelcomeページが定義されていない。

このような場合にallowを設定すると、最後に/が付いたURLにアクセスしたときに、対応するディレクトリの内容がユーザーのブラウザに表示されます。

このような場合にdenyを設定すると、最後に/が付いたURLにアクセスしたときに、ディレクトリの内容を表示できないことを示すエラーが発生します。

welcomeファイルが定義されている場合、またはURLがマップされているディレクトリにindex.htmlファイルがある場合は、この設定に関係なくそのファイルの内容が表示されます。

enableJspDispatcherShortcut

trueに設定(デフォルト)すると、OC4J JSPコンテナによるパフォーマンスが大幅に向上します。これは、特にsimpleJspMappingプロパティのtrue設定と組み合せた場合に顕著です。jsp:includeタグが多く含まれるJSPページで高い効果があります。

ただし、true設定を使用すると、JSPファイルをweb.xml<jsp-file>要素で定義した場合に、それらのファイルに対応するurl-pattern定義があるものと想定されます。

expirationSettings

指定した一連のリソース(イメージ・ファイルなど)のユーザーのブラウザでの期限を定義します。これは、イメージをドキュメントほど頻繁にリロードしないキャッシング・ポリシーなどで役立ちます。

  • expires: リソースの期限(秒)。期限なしの場合はneverを指定します。デフォルト設定の0(ゼロ)ではすぐに期限切れになります。

  • urlPattern: 期限を適用するURLパターン。次のように指定します。

    urlPattern="*.gif"
    

fileModificationCheckInterval

変更されたファイルをOC4Jがチェックする間隔(ミリ秒)を定義します。このプロパティは、静的ファイル(HTMLファイルなど)のみに適用されます。

最後にチェックしてからこの期間が終了するまでの間は、チェックは必要ありません。0または負の数を指定すると、常にチェックが行われます。デフォルトは1000です。パフォーマンス上の理由から、本番環境では非常に大きな値(たとえば1000000)をお薦めします。

id

デプロイ時に生成される一意の内部IDを定義します。

jaznWebApp

サーブレット実行について、OracleAS JAAS ProviderおよびSingle Sign-On(SSO)のプロパティを構成します。特定のセキュリティ・サブジェクトの権限においてサーブレットを起動するには、次の機能を適切に設定する必要があります。

  • authMethod: サポートされる値はBASIC(基本のJ2EE認証、デフォルト)およびSSOです。SSOを使用すると、Oracle Single Sign-OnがHTTPクライアント認証に利用されます。アプリケーションでカスタムのLoginModuleインスタンスが使用される場合は、BASICモードを使用します。

  • runAsMode: trueに設定すると、特定のサブジェクトの権限を使用してサーブレットが起動されます。サブジェクトは、javax.security.auth.Subjectクラスのインスタンスによって定義され、1つのエントリ(人物など)に関する一連の事実を含みます。このような事実には、IDやセキュリティ関連の属性(パスワードや暗号化キーなど)があります。

    デフォルトのrunas-mode="false"設定ではdoasprivileged-modeは無視されます。

  • doAsPrivilegedMode: runAsModetrueに設定されていると想定した場合、サーバーのアクセス制御の制限を受けずに、特定のサブジェクトの権限を使用するには、デフォルトのtrue設定を使用します。

    JAASおよびこの要素について説明した機能の詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

jspCacheDirectory

JSPキャッシュ・ディレクトリを指定します。これは、JSPトランスレータの出力ファイルのベース・ディレクトリとして使用されます。また、アプリケーションレベルのTLDキャッシングのベース・ディレクトリとしても使用されます。デフォルト値は./persistenceで、アプリケーション・デプロイ・ディレクトリに対する相対パスです。

jspCacheTlds

永続TLDキャッシングをJSPページで有効にするかどうかを指定します。TLDキャッシングは、グローバル・レベル(共有タグ・ライブラリの場所にあるTLDファイル)とアプリケーションレベル(/WEB-INFディレクトリ内のTLDファイル)の両方で実装されます。値は、standard(デフォルト)、onまたはoffです。タグ・ライブラリの場所は、jspTaglibLocationsプロパティ(この後で説明)で定義します。これらの値の詳細は、『Oracle Containers for J2EE JavaServer Pages開発者ガイド』を参照してください。

jspPrintNull

falseに設定すると、JSPページのヌル出力に対して、デフォルトのヌル文字列ではなく空文字列が表示されます。デフォルトはtrueです。

jspTaglibLocations

共有タグ・ライブラリの場所を定義します。この値は、グローバル・アプリケーションレベルのみで設定できます。

jspTimeout

整数値(秒)を指定します。JSPページが要求されないまま指定の秒数が経過すると、メモリーから削除されます。あまり頻繁にコールされないページがある場合は、これでリソースが解放されます。デフォルト値の0(ゼロ)はタイムアウトなしです。

mimeMappings

使用するMIMEマッピングを含むファイルのパスを定義します。

  • path: ファイルのパスまたはURL。絶対パスまたは、orion-web.xmlファイルの場所に対する相対パスとして指定します。

persistencePath

サーバーの再起動またはアプリケーションの再デプロイの前後で永続性を保つように、サーブレットのHttpSessionオブジェクトを格納する場所を指定します。application-deploymentsディレクトリ内のOC4J一時記憶域に対する相対パスを指定します。デフォルト値はありません。値を定義しないと、再起動または再デプロイの前後でのセッション・オブジェクトの永続性がなくなります。

この機能を使用するには、セッション・オブジェクトが、シリアライズ可能(直接または間接的にjava.io.Serializableインタフェースを実装)かリモート対応(直接または間接的にjava.rmi.Remoteインタフェースを実装)のいずれかであることが必要です。

requestTrackers

専用リクエスト・トラッカとして使用する1つ以上のサーブレットを指定します。リクエスト・トラッカは情報のロギングなどに役立ちます。

リクエスト・トラッカは、ブラウザからサーバーに送信されるリクエストごとに、対応するレスポンスがコミットされるとき(レスポンスが実際に送信される直前)に起動されます。

複数のリクエスト・トラッカの使用が可能です。各トラッカは個別のプロパティで定義します。

  • servletName: 起動するサーブレット。web.xmlファイルの対応する<servlet-name>要素または<servlet-class>要素(両方とも<servlet>要素のサブ要素)に応じて、サーブレット名またはクラス名を指定できます。

servletChaining

現行のサーブレットのレスポンスが指定のMIMEタイプに設定されたときにコールするサーブレットを指定します。指定されたサーブレットは、現行のサーブレットの後にコールされます。これは、サーブレット・チェーンと呼ばれ、特定の種類の出力のフィルタ処理や変換に使用されます。

  • mimeType: チェーンのトリガーとして使用されるMIMEタイプ。"text/html"など。

  • servletName: 指定したMIMEタイプが検出されたときに呼び出すサーブレット。サーブレット名は、global-web-application.xmlweb.xmlまたはorion-web.xml<web-app>要素での定義によって、サーブレット・クラスに結び付けられます。

servletWebdir

クラス名によってサーブレットを起動するためのパスを指定します。URLでこのパスの後に指定される値は、パッケージなどのクラス名とみなされます。

次の例は、クラス名によるサーブレットの起動です。このプロパティは"/servlet/"に設定されていると仮定します。

http://www.example.com:8888/servlet/foo.bar.ServletSession

通常、この機能は、開発時およびテスト時にスタンドアロンOC4J環境で使用することを目的としています。デプロイでは、コンテキスト・パスとサーブレット・パスを定義するため標準のweb.xmlメカニズムを使用します。

sessionTracking

このアプリケーションのセッショントラッキング設定を指定します。セッショントラッキングは、Cookie対応のブラウザを前提とし、Cookieを使用して行われます。

  • cookies: enabled(デフォルト)に設定すると、セッションCookieが送信されます。disabledに設定するとこの設定が無効になります。

  • cookieDomain: Cookieのために使用する希望のドメインを設定します。この属性を使用すると、複数のWebサイトで1クライアントまたは1ユーザーを追跡することができます。設定は、ピリオド(.)を最初に付けて、少なくとも2つの要素を指定する必要があります(たとえば、.us.oracle.comまたは.oracle.com)。

    この場合、ユーザーが、.us.oracle.comというドメイン・パターンと一致するサイト(webserv1.us.oracle.comまたはwebserv2.us.oracle.com)にアクセスすると、同じCookieが使用されます。

  • cookieMaxAge: ブラウザがCookieを保持する最長期間(秒)を設定します。デフォルトでは、Cookieはブラウザのセッション中はメモリーに保持され、その後で廃棄されます。

  • sessionTracker: セッション・トラッカとして使用するサーブレットの名前。

    セッション・トラッカは、セッションが作成されるとすぐに起動されます。特に、HTTPセッション・リスナー(javax.servlet.http.HttpSessionListenerインタフェースを実装するクラスのインスタンス)のsessionCreated()メソッドの起動と同時に行われます。

  • servletName: セッション・トラッカとして起動するサーブレット。Webモジュールのweb.xmlファイルの対応する<servlet-name>要素または<servlet-class>要素(両方とも<servlet>要素のサブ要素)に応じて、サーブレット名またはクラス名を指定します。

simpleJspMapping

アプリケーションに影響するすべてのWebディスクリプタ(global-web-application.xmlweb.xmlおよびorion-web.xml)の<servlet>要素で、"*.jsp"がOC4JフロントエンドJSPサーブレット(oracle.jsp.runtimev2.JspServlet)のみにマップされている場合は、trueに設定します。これにより、JSPページのパフォーマンスが向上します。デフォルト設定はfalseです。

sourceDirectory

developmentプロパティをtrueに設定した場合に、自動コンパイルするサーブレットのソース・ファイルの場所を指定します。デフォルトの場所は/WEB-INF/srcです(存在する場合)。この場所が存在しない場合は、/WEB-INF/classesになります。

temporaryDirectory

サーブレットとJSPページでスクラッチ・ファイルのために使用できる一時ディレクトリへのパスを指定します。パスは、絶対パスまたはデプロイ・ディレクトリに対する相対パスとして指定できます。デフォルト設定は"./temp"です。

サーブレットでは、一時ディレクトリを使用することができます。たとえば、ユーザーがデータをフォームに入力し、情報がディスクに書き込まれる際に、その情報がデータベースに書き込まれるまでの暫定または短期間の格納場所として使用します。

virtualDirectories

静的コンテンツの仮想ディレクトリのマッピングを追加します。たとえば、この概念はUNIX環境のシンボリック・リンクに類似しています。

仮想ディレクトリを使用すると、実際のドキュメント・ルート・ディレクトリにあるファイルがアプリケーションで使用できるようになります。そのファイルが物理的にWebアプリケーションのWARファイルに含まれない場合でも可能です。たとえば、企業全体に対応する1つのエラー・ページを複数のWARファイルにリンクする場合に役立ちます。

  • realPath: 仮想パスをマップするファイルの絶対パス。たとえば、UNIX環境では/usr/local/realpath、Windows環境ではC:\testdirです。

  • virtualPath: 指定した絶対パスにマップする仮想パス。

webAppClassLoader

Webモジュールの起動時にOC4Jサーバーに渡されるクラスのロード方法を指定します。

  • searchLocalClassesFirst: trueに設定すると、システム・クラスの前にWARファイルを検索してロードします。デフォルト設定はfalseです。

  • includeWarManifestClassPath: falseに設定すると、searchLocalClassesFirstの設定に関係なく、WARファイルのクラスを検索およびロードするときに、WARファイルのマニフェストClass-Path属性に指定されたクラスパスが含まれません。デフォルト設定はtrueです。

両方の属性をtrueに設定すると、WARファイルに物理的に含まれるクラスが、WARファイルのマニフェスト・クラスパスに定義されたクラスよりも先にロードされるように、クラスパス全体が構成されます。競合する場合は、WARファイルに物理的に存在するクラスが優先されます。

Enterprise JavaBeansモジュールの構成プロパティの設定

EARファイルにパッケージされたJ2EEアプリケーションをデプロイするときに設定できるOC4J固有のプロパティを、次に詳しく示します。各プロパティはorion-ejb.xmlディスクリプタの要素属性にマップされます。

設定できるプロパティは、エンティティBean、セッションBeanおよびメッセージドリブンBeanで異なります。このため、プロパティは次のように分類されます。

一般EJBプロパティの設定

次のプロパティは、デプロイ中のアーカイブ内のすべてのEJBモジュールに適用されます。

defaultMethodAccess

ロール・マッピングに関連付けられていないセキュアでないメソッドのために、デフォルトのメソッド・アクセス・ポリシーを設定します。メソッドは、デフォルトのセキュリティ・ロールに自動的にマップされます。

  • impliesAll: trueに設定すると、セキュアでないメソッドのセキュリティ・ロール・チェックが無効になります。

    この属性をfalseに設定する場合は、name属性に定義されたデフォルト・ロールを、groupsプロパティとusersプロパティ(後続の項目を参照)を使用して、Oracle Java Authentication and Authorization Service(JAAS)ProviderあるいはXMLユーザー・グループまたはユーザーにマップする必要があります。

    <security-role-mapping>orion-ejb-jar.xmlファイルで指定されていてimpliesAllが設定されていない場合、デフォルトはfalseです。

    <security-role-mapping>orion-ejb-jar.xmlファイルで指定されていない場合、OC4J EJBレイヤーにおけるこの属性のデフォルトはtrueになり、これらのメソッドに対するセキュリティ・ロール・チェックは行われません。

  • name: セキュアでないメソッドがマップされるデフォルトのセキュリティ・ロール。デフォルトは<default-ejb-caller-role>ロールです。ただし、この値は、任意の有効なロールに変更することができます。

  • groups: クライアントがセキュアでないメソッドにアクセスするときに使用する1つ以上のユーザー・グループの名前。

  • users: クライアントがセキュアでないメソッドにアクセスするときに使用する1つ以上のユーザーの名前。

deploymentVersion

EJB JARがデプロイされているOC4Jのバージョン。これは内部サーバー値です。

persistenceManager

エンティティEJBモジュールの永続性レイヤーの管理に使用する永続性マネージャ・コンポーネントを定義します。

TopLinkユーティリティは、OC4Jで使用されるデフォルトの永続性マネージャ(PM)です。デフォルトでは、OC4JにデプロイされるすべてのEJBモジュールはTopLink PMによって管理されます。TopLinkの構成は必要ありません。詳細は、『Oracle TopLinkスタート・ガイド』を参照してください。

  • descriptor: 永続性マネージャのデプロイメント・ディスクリプタ・ファイルのファイル名。

  • name: 使用する永続性マネージャの実装名。有効な値は、TopLinkを使用する場合はtoplink、Orion CMP実装を使用する場合はorionです。デフォルトはtoplinkです。

  • pmProperties: TopLink永続性マネージャの構成プロパティを指定します。

    • customizationClass: oracle.toplink.ejb.cmp.DeploymentCustomizationインタフェースを実装するJavaクラス(オプション)。このインタフェースを使用すると、TopLinkのマッピングとランタイムの構成をデプロイ時にカスタマイズできます。このクラスは完全に修飾して、デプロイするEJB JARに含める必要があります。

    • dbPlatformClass: TopLinkデータベース・プラットフォーム・クラス。特定のデータベースに対応するTopLinkサポートが含まれます。指定するクラスは完全に修飾する必要があります。

    • projectClass: TopLinkプロジェクト・クラス(オプション)。マッピング・メタデータが含まれます。このクラスによって、descriptorプロパティに指定したTopLinkディスクリプタが置き換えられます。このクラスは完全に修飾して、デプロイするEJB JARファイルに含める必要があります。

    • remoteRelationships: trueに設定すると、エンティティのリモート・インタフェースを介してリモート・オブジェクトの関係が維持されます。このフラグはEJB 2.0には準拠しないことに注意してください。デフォルトはfalseです。

    • sessionName: デプロイするEJB JARの一意の名前。この名前は、OC4JにデプロイされているすべてのTopLinkで永続化されたJARの間で一意であることが必要です。値を指定しないと、TopLink永続性マネージャによって一意の名前が生成されます。

    • mode: 別のデータ・ストア・サーバーへの更新内容の伝播方法として同期または非同期を設定します。デフォルト値はasynchronouslyです。

    • serverUrl: データ・ストア・ホストのURL。

    • serverUser: ホストにアクセスするときに使用するユーザー名。

    • dbTableGen: TopLinkによる、マップ先のデータベース表の作成方法または使用方法を指定します。エンティティに対してマッピングがすでに定義されている場合、この設定は無視されます。次のいずれかの値を指定します。

      • Create: 表の作成を試行します。これがデフォルトです。

      • DropAndCreate: 既存の表の削除と再作成を試行します。

      • UseExisting: 既存の表を使用します。

    • extendedTableNames: 生成される表の名前が短すぎて一意にならない場合のみ、trueに設定します。エンティティに対してマッピングがすでに定義されている場合、この設定は無視されます。デフォルトはfalseです。

エンティティBeanプロパティの設定

次のプロパティは、EJBアーカイブに含まれるエンティティBeanに適用されます。

callTimeout

任意のリソースがビジネス・メソッドまたはライフサイクル・メソッドを起動するまで待機する最長時間(ミリ秒)を指定します。これは、ビジネス・メソッドの起動にかかる時間のタイムアウトではありません。デフォルトは90000ミリ秒(90秒)です。タイムアウトの時間が経過すると、TimedOutExceptionがスローされます。これにより、データベース接続が切断されます。タイムアウトなしにする場合は0を設定します。詳細は、『Oracle Application Serverパフォーマンス・ガイド』のEJBモジュールに関する項を参照してください。

copyByValue

EJBコールの受信パラメータと送信パラメータすべてをコピー(クローン)するかどうかを指定します。アプリケーションで高速化のためにcopy-by-valueセマンティクスを前提としていないことが確実であれば、falseに設定します。デフォルトはtrueです。

dataSource

コンテナ管理永続性を使用する場合に、使用されるデータ・ソースの名前を指定します。

disableWrapperCache

trueに設定すると、EJBモジュールのラッパー・クラス・キャッシュが無効になります。

doSelectBeforeInsert

データベースへの挿入の前にSELECT文を実行するかどうかを指定します。通常は、重複を避けるために、挿入を実行する前にSELECTを実行して、エンティティが存在しているかどうかを確認します。

デフォルト値はtrueです。パフォーマンスのためには、このプロパティをfalseに設定して余分な文の実行を避けることをお薦めします。

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

findByPrimaryKeyLazyLoading

trueに設定すると、遅延ロードが有効になり、select() finderメソッドが1回のみ実行されます。エンティティBeanのfinderメソッドでは、遅延ロードによって、このメソッドが複数回起動されることがあります。デフォルトはfalseです。

instanceCacheTimeout

エンティティ・ラッパー・インスタンスをIDに割り当てる期間(秒)を指定します。neverを設定すると、ガベージ・コレクションが行われるまでラッパー・インスタンスが保持されます。デフォルトは60秒です。

iorSecurityConfigs

相互運用性のためのCSIv2セキュリティ・ポリシーを構成します。詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

isolation

データベース・アクションの分離レベルを指定します。

  • Oracleデータベースでの有効な値は、serializableおよびcommitted(デフォルト)です。

  • Oracle以外のデータベースで有効な値は、nonecommittedserializableuncommittedおよびrepeatable_readです。

location

EJBモジュールがバインドされるJNDI名を定義します。

lockingMode

並行性モードを構成します。これによって、リソース競合管理のためのブロックをいつ行うか、またはいつパラレルで実行するかを指定します。次のいずれかの値を指定します。

  • optimistic: 複数のユーザーがエンティティBeanをパラレルで実行できます。リソース競合が監視されないため、データ整合性の負荷がデータベース分離モードにかかります。これがデフォルトです。

  • pessimistic: リソース競合を管理し、パラレル実行は許可しません。一度に1名のユーザーがエンティティBeanを1回実行できます。

  • read-only: 複数のユーザーがエンティティBeanをパラレルで実行できます。ただし、コンテナでは、Beanの状態の更新は許可されません。

maxInstances

インスタンス化つまりプーリングしておくBean実装インスタンスの最大数を設定します。デフォルトは100です。0を設定すると、最大数の制限がなくなります。

maxTxRetries

システムレベルでの障害のためにロールバックされたトランザクションを再試行する回数を指定します。デフォルトは3です。通常、再試行によって解決できるエラーが発生した場合のみ、再試行を追加してください。たとえば、シリアライズ可能な分離を使用している場合で、競合がある時にトランザクションを自動的に再試行するには、再試行を使用できます。

minInstances

インスタンス化つまりプーリングしておくBean実装インスタンスの最小数を設定します。デフォルトは0です。

name

Beanの名前を指定します。標準のEJBデプロイメント・ディスクリプタ(ejb-jar.xml)のassemblyセクションに指定された名前と一致するようにします。

poolCacheTimeout

Bean実装インスタンスをプーリングしておく期間、つまり未割当て状態にしておく期間(秒)を定義します。0を設定すると、ガベージ・コレクションが行われるまでBeanインスタンスが保持されます。デフォルトは60です。

txRetryWait

トランザクションを再試行するときに待機する時間(秒)を指定します。デフォルトは60秒です。

orion-ejb-jar.xmlファイルの<entity-deployment>または<session-deployment>要素のtx-retry-wait属性は、orion-ejb-jar-10_0.xsdまたはorion-ejb-jar.dtdにはありません。

orion-ejb-jar.xmlファイルのtx-retry-wait属性を使用するためtxRetryWaitを指定することは可能です。ただしこの属性を使用する場合は、(OC4Jの起動コマンドラインの-validateXMLオプションを使用して)XMLファイル検証を行うようにOC4Jを設定しないでください。

validityTimeout

キャッシュのエンティティが有効な最大時間(ミリ秒)を設定します。この時間が経過するとリロードが行われます。これは、従来システムからの更新がほとんど発生しない疎結合環境で役立ちます。この属性は、read_onlyロック・モードを使用するエンティティBeanにのみ有効です。

EJBモジュールが通常は外部で変更されない場合、つまり、表がときどき更新されてキャッシュの更新が必要になる場合は、外部でデータが変更される間隔を推定してこの値に設定してください。

データが外部でまったく変更されない場合は、値に0または-1を設定してこのオプションを無効にします。キャッシュのデータは、外部で変更されることのない読取り専用EJBモジュールに対して常に有効です。

セッションBeanプロパティの設定

次のプロパティは、EJBアーカイブに含まれるセッションBeanに適用されます。

callTimeout

任意のリソースがビジネス・メソッドまたはライフサイクル・メソッドを起動するまで待機する最長時間(ミリ秒)を指定します。これは、ビジネス・メソッドの起動にかかる時間のタイムアウトではありません。デフォルトは90000ミリ秒(90秒)です。

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

copyByValue

EJBコールの受信パラメータと送信パラメータすべてをコピー(クローン)するかどうかを指定します。アプリケーションで高速化のためにcopy-by-valueセマンティクスを前提としていないことが確実であれば、falseに設定します。デフォルトはtrueです。

idleTime

ステートフル・セッションEJBモジュールに適用するタイムアウト(秒)を指定します。値が0または負の数の場合、すべてのタイムアウトが無効になります。デフォルトは1800秒(30分)です。timeoutパラメータは、ステートフル・セッションBeanの非アクティブのタイムアウトです。30秒ごとにプールのクリーンアップ・ロジックが起動されます。プールのクリーンアップ・ロジックでは、タイムアウト値を渡すことで、タイムアウトしたセッションのみが削除されます。アプリケーションのステートフル・セッションBeanの使用状況に基づいてタイムアウトを調整します。たとえば、ステートフル・セッションBeanがアプリケーションによって明示的に削除されず、アプリケーションが多数のステートフル・セッションBeanを作成する場合は、タイムアウト値を短縮することをお薦めします。

iorSecurityConfigs

相互運用性のためのCSIv2セキュリティ・ポリシーを構成します。詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

location

EJBモジュールがバインドされるJNDI名を定義します。

maxInstances

メモリー内でインスタンス化つまりプーリングが可能なBeanインスタンスの最大数を定義します。デフォルトは100です。

この制限に達すると、コンテナはメモリーで最も古いBeanインスタンスの受動化を試行します。失敗した場合、コンテナはcallTimeoutに指定されたミリ秒数が経過するまで待機し、受動化、remove()メソッドまたはBeanの期限切れによって、Beanインスタンスがメモリーから削除されたかどうかを確認します。その後、クライアントにTimeoutExpiredExceptionをスローします。

0に設定すると、許可されるBeanインスタンス数の制限がなくなります。このプロパティは、ステートレス・セッションBeanとステートフル・セッションBeanの両方に適用されます。

maxInstancesThreshold

maxInstancesに設定された値に対して、存在できるアクティブなBeanの割合を指定します。この割合を超えると受動化が開始されます。

パーセントを表す整数値を指定します。たとえば、maxInstances100maxInstancesThreshold90パーセントの場合、アクティブなBeanインスタンスが合計の90パーセントを超えたときにBeanの受動化が行われます。

デフォルトは90です。0に設定すると、この機能は無効になります。

maxTxRetries

システムレベルでの障害のためにロールバックされたトランザクションを再試行する回数を指定します。デフォルトは3です。通常、再試行によって解決できるエラーが発生した場合のみ、再試行を追加してください。たとえば、シリアライズ可能な分離を使用している場合で、競合がある時にトランザクションを自動的に再試行するには、再試行を使用できます。

memoryThreshold

使用済JVMメモリー容量のしきい値を定義します。この容量を超えると受動化が行われます。パーセントを表す整数値を指定します。この割合に到達すると、アイドル・タイムアウトが期限切れになっていなくてもBeanが受動化されます。デフォルトは80パーセントです。無効にするにはneverを指定します。

minInstances

インスタンス化つまりプーリングしておくBean実装インスタンスの最小数を設定します。デフォルトは0です。

name

EJBモジュールの名前を指定します。標準のEJBデプロイメント・ディスクリプタ(ejb-jar.xml)のassemblyセクションのBean名と一致するようにします。

passivateCount

いずれかのリソースしきい値(maxInstancesThresholdまたはmemoryThresholdなど)に到達した場合に、受動化するBean数を定義します。Beanの受動化は、最低使用頻度アルゴリズムを使用して実行されます。デフォルトでは、このBean数はmaxInstancesに設定された値の3分の1です。値を0または負の数に設定すると無効になります。

persistenceFilename

OC4Jの再起動の前後でセッションが格納されるファイルのパスを指定します。

poolCacheTimeout

ステートレス・セッションがプールにキャッシュされる期間(秒)を設定します。プールのすべての未割当てBeanは、ここに指定した間隔で削除されます。デフォルトは60秒です。

値を0または負の数に指定すると、Beanはプールから削除されません。

replication

クラスタ環境のステートフル・セッションBeanに対して状態のレプリケーションをいつ行うかを定義します。値は、VMTerminationEndOfCallまたはNone(デフォルト)です。詳細は、『Oracle Containers for J2EE構成および管理ガイド』を参照してください。

resourceCheckInterval

指定したしきい値(maxInstancesThresholdなど)を超えたリソースを調べるために、OC4Jがすべてのリソースをチェックする間隔(秒)を定義します。Beanの受動化は、いずれかのしきい値に到達した場合に行われます。デフォルトは180秒(3分)です。無効にするには0を設定します。

timeout

非アクティブのタイムアウト(秒)を定義します。この時間が経過すると、ステートフル・セッションBeanをプールから削除できるとみなされます。値が0または負の数の場合、すべてのタイムアウトが無効になります。デフォルトは1800秒(30分)です。アプリケーションのステートフル・セッションBeanの使用状況に基づいてタイムアウトを調整します。たとえば、ステートフル・セッションBeanがアプリケーションによって明示的に削除されず、アプリケーションが多数のステートフル・セッションBeanを作成する場合は、タイムアウト値を短縮することをお薦めします。30秒ごとにプールのクリーンアップ・ロジックが起動されます。

txRetryWait

トランザクションを再試行するときに待機する時間(秒)を指定します。デフォルトは60秒です。

orion-ejb-jar.xmlファイルの<entity-deployment>または<session-deployment>要素のtx-retry-wait属性は、orion-ejb-jar-10_0.xsdまたはorion-ejb-jar.dtdにはありません。

orion-ejb-jar.xmlファイルのtx-retry-wait属性を使用するためtxRetryWaitを指定することは可能です。ただしこの属性を使用する場合は、(OC4Jの起動コマンドラインの-validateXMLオプションを使用して)XMLファイル検証を行うようにOC4Jを設定しないでください。

メッセージドリブンBeanプロパティの設定

次のプロパティは、デプロイ中のアーカイブ内のメッセージドリブンBeanに適用されます。各プロパティは、orion-ejb-jar.xmlディスクリプタの<message-driven-deployment>要素の属性またはサブ要素に対応しています。

connectionFactoryLocation

使用するコネクション・ファクトリのJNDIロケーションを指定します。

構文は、java:comp/resource + リソース・プロバイダ名 + TopicConnectionFactoriesまたはQueueConnectionFactories + ユーザー定義名です。ConnectionFactoriesプロパティは、定義されるファクトリのタイプを詳しく指定します。

dequeueRetryCnt

データベースのフェイルオーバーが発生した後で、リスナー・スレッドがJMSセッションの再取得を試行する頻度を指定します。デフォルトは0です。この値はコンテナ管理トランザクションの場合のみ指定します。

dequeueRetryInterval

JMSセッションの再取得を試行する間隔を指定します。デフォルトは60秒です。

destinationLocation

使用する接続先(トピックまたはキュー)のJNDIロケーションを指定します。

構文は、java:comp/resource + リソース・プロバイダ名 + TopicsまたはQueues + 接続先名です。TopicまたはQueueは、定義される接続先のタイプを詳しく示します。接続先名は、データベースに定義されている実際のキューまたはトピックの名前です。

listenerThreads

トピックまたはキューでの受信JMSメッセージのリスニングのために生成されるリスナー・スレッド数を設定します。スレッドはJMSメッセージを同時に消費します。トピックに指定できるスレッドは1つのみです。キューには複数のスレッドを指定できます。デフォルトは1スレッドです。

maxInstances

このプロパティは設定しないでください。かわりにlistenerThreadsを使用します。

minInstances

このプロパティは設定しないでください。

name

EJBモジュールの名前を指定します。EJBアーカイブにパッケージされている、J2EE標準のEJBデプロイメント・ディスクリプタ(ejb-jar.xml)のassemblyセクションのEJBモジュール名と一致するようにします。

resourceAdapter

このBeanで使用するためにコネクション・ファクトリが作成するリソース・アダプタの名前を指定します。この値はorion-ra.xml(OC4J固有のリソース・アダプタ・ディスクリプタ)で定義されます。

subscriptionName

Beanがトピックを表す場合に、トピック・サブスクリプション名を指定します。

transactionTimeout

すべてのコンテナ管理トランザクションMDBのトランザクション・タイムアウト間隔(秒)を設定します。デフォルトは86400秒(1日)です。この時間内に完了しないトランザクションはロールバックされます。

Webサービスの構成プロパティの設定

各プロパティはoracle-webservices.xmlディスクリプタの要素属性にマップされます。

一般Webサービス・プロパティの設定

次のプロパティは、アーカイブと一緒にデプロイされるすべてのWebサービスに適用されます。

contextRoot

公開されたWebサービスのコンテキスト・ルートを指定します。これは、EJB 2.1 Webサービスのみで必要です。コンテキスト・ルートを指定しない場合、EJB JARファイル名から.jar拡張子を除いたものがデフォルトでサーバーになります。たとえば、foo-ejb.jarがコンテキスト・ルート/foo-ejbに変換されます。

JavaクラスWebサービスでは、コンテキスト・ルートは、親アプリケーションのapplication.xmlディスクリプタに指定されたコンテキスト・ルートから導出されます。

Webサービス記述プロパティの設定

次のプロパティは、デプロイ中のアーカイブに含まれるWebサービスに適用されます。

downloadExternalImports

関連するインポートをダウンロードして、絶対URLに解決するかどうかを指定します。trueに設定すると、resolveRelativeImportsも自動的にtrueに設定されます。デフォルトはfalseです。

exposeTestpage

trueに設定すると、テスト・ページが公開されます。デフォルトはtrueです。

exposeWsdl

trueに設定すると、Webサービスを記述するWSDLファイルが公開されます。デフォルトはtrueです。

name

Webサービスとして実装されるEJBモジュールについて、Webサービスの名前を定義します。この値は、J2EE標準EJBデプロイメント・ディスクリプタ(ejb-jar.xml)に定義された名前と一致するようにします。

resolveRelativeImports

trueに設定すると、関連するインポートが強制的に絶対URLに解決されます。downloadExternalImportstrueの場合、このプロパティは自動的にtrueに設定されます。

wsdlFileFinalLocation

Webサービスを記述する最終更新済WSDLのURIを指定します。

wsdlPublishLocation

exposeWsdltrueに設定されている場合に、WSDLのURIを指定します。

アプリケーション・クライアントの構成プロパティの設定

JARファイルまたはCARファイルにパッケージされたアプリケーション・クライアントをデプロイするときに設定できるOC4J固有のプロパティを、次に詳しく示します。各プロパティはorion-application-client.xmlディスクリプタの要素属性にマップされます。

clientInvocationMappings

OC4Jコンテナの起動時に起動するクライアント・モジュールを構成します。

  • autoStart: trueに設定すると、OC4Jの起動時にクライアントが起動されます。デフォルトはfalseです。このプロパティをtrueに設定する場合、userプロパティをanonymousに設定する必要があります。

  • user: クライアントがユーザーとして実行する場合の一意のユーザーID。autoStartプロパティをtrueに設定する場合、userプロパティをanonymousに設定する必要があります。

  • path: クライアントJARファイルのパス。絶対パス、または親アプリケーションのルートに対する相対パスとして指定します。

  • arguments: 起動時にクライアントのmain()メソッドに渡す1つ以上の文字列引数。

mailSessions

メールセッション・リソースの構成を指定します。

  • description: リソースの説明(オプション)。

  • location: メールセッションをバインドするJNDI名。

  • smtpHost: 使用するSMTPホストの名前またはIPアドレス(SMTPを使用する場合)。

  • username: リソースにログインするために使用するユーザー名(必要な場合)。

  • password: リソースにアクセスするために使用するパスワード。

  • properties: メールセッションに名前/値ペアとして渡すその他のプロパティを指定できます。次に例を示します。

    name="mail.from" value="mail.sender@server.com name="mail.transport.protocol" value="smtp" name="mail.smtp.from" value="mail.sender@server.com

ejb-ref

クライアントによって使用されるEJBモジュールのホーム・インタフェースへの参照を宣言します。

  • location: EJBモジュールがバインドされるJNDIロケーション。

  • name: アプリケーション・クライアントによって使用されるEJB参照名。

リソース・アダプタのプロパティの設定

RARファイルにパッケージされたリソース・アダプタをデプロイするときに設定できるOC4J固有のプロパティを、次に詳しく示します。各プロパティはoc4j-ra.xmlディスクリプタの要素属性にマップされます。

リソース・アダプタ構成の詳細は、『Oracle Containers for J2EEリソース・アダプタ管理者ガイド』を参照してください。

connectionPools

共有接続プールを定義する1つの名前と1つ以上の名前/値ペアを指定します。有効なプロパティ名を次に示します。

  • maxConnections: プール内で許可される最大接続数。値を指定しない場合、接続数の制限はありません。

  • minConnections: 最小接続数。0よりも大きい場合、指定した数の接続がOC4Jの初期化時に開かれます。初期化時に必要な情報がないと、OC4Jが接続を開けない場合があります。

    たとえば、接続でJNDIルックアップが必要な場合、JNDI情報は初期化が終了するまで得られないため、その接続は作成できません。デフォルト値は0です。

  • scheme: 接続が最大許可数に達したときに、OC4Jが接続リクエストを処理する方法を定義します。次のいずれかの値を指定する必要があります。

    • dynamic: 最大数の制限に違反することになっても、OC4Jが新しい接続を作成してアプリケーションに返します。このような制限に違反する接続は、閉じるときには接続プールに返されずに破棄されます。

    • fixed: アプリケーションが接続を要求して最大数の制限に達すると、OC4Jが例外を生成します。

    • fixed_wait: 使用中の接続がプールに返されるまで、OC4Jがアプリケーションの接続リクエストをブロックします。waitTimeoutが指定された場合、指定時間内に接続が使用可能にならないと、OC4Jが例外をスローします。

  • waitTimeout: 接続数がmaxConnectionsを超え、fixed_waitスキームが有効な場合に、接続が使用可能になるまでOC4Jが待機する最長時間(秒)。これ以外の場合では、このプロパティは無視されます。

connectorFactories

インストールされたJ2EE Connector Architecture準拠のリソース・アダプタを定義するプロパティを指定します。

  • connectionFactoryInterface: 管理対象接続インスタンスを作成するファクトリの名前(javax.jms.QueueConnectionFactoryなど)。

  • connectorName: コネクタの名前。

  • description: コネクタの短い説明(オプション)。

  • location: OC4Jがコネクション・ファクトリをバインドするJNDIロケーション。たとえば、値をeis/myEIS1に設定すると、アプリケーション・コンポーネントは、JNDIルックアップを使用してロケーションjava:comp/env/eis/myEIS1でコネクション・ファクトリをルックアップします。

  • configProperties: connectionFactoryInterfaceに定義されているコネクタ・ファクトリの構成プロパティ。

    構成プロパティはコネクタ固有であり、リソース・アダプタにパッケージされたJ2EEデプロイメント・ディスクリプタ(ra.xml)の<config-property>要素で定義されます。JCA 1.0リソース・アダプタでは、<config-property>要素は<resourceadapter>要素のサブ要素です。JCA 1.5では、<connection-definition>要素内にあります。

  • connectionPooling: 使用する接続プールを定義するプロパティを指定します。プロパティを次に示します。

    • use: 接続プールをコネクション・ファクトリで使用するかどうかを指定します。また、使用する場合は、共有プールとプライベート・プールのどちらを使用するかを指定します。この属性で指定可能な文字列値を次に示します。

      • shared: このコネクション・ファクトリ構成で使用する共有接続プール。

      • private: propertiesフィールド(後続のprincipalMappingInterfaceの説明を参照)に定義されたプライベートの非共有接続プールが、このコネクション・ファクトリ構成で使用されます。

      • none: このコネクション・ファクトリ構成では、接続プーリングが無効になります。

  • log: このコネクタに対してOC4Jで生成されるログ・ファイルのパス。パス名を指定しない場合、またはディレクトリが存在しない場合、ロギングは有効になりません。たとえば、./logConnFctry1.logと指定します。

  • securityConfig: 使用するセキュリティ・メカニズムと、それに対応する資格証明情報(コネクタがEISにアクセスするために必要)を指定します。

    • use: 使用するセキュリティ・メカニズム。1つしか指定できません。有効な値は、jaasModuleprincipalMappingEntriesまたはprincipalMappingInterfaceです。

    • jaasModule: 使用するJAASアプリケーションの名前(JAASを使用する場合)。

    • principalMappingEntries: プリンシパル・マッピング・エントリ・メカニズムを使用する場合は、次のプロパティを指定します。

      • defaultMapping: デフォルトのリソース・プリンシパルについて、リソースのユーザー名とパスワードを指定します。このプリンシパルは、現行の開始プリンシパルに対応する開始ユーザーを含むプリンシパル・マッピング・エントリがない場合に、EISにログインするために使用されます。

      • principalMappingEntries: 開始プリンシパルのユーザー名と、リソースのユーザー名とパスワードを指定します。これにより、開始プリンシパルが、EISへのログインに使用するリソース・プリンシパルとパスワードにマップされます。

    • principalMappingInterface: OC4J固有のプログラム的なコンテナ管理サインオン・メカニズムを使用する場合は、次のプロパティを指定します。このメカニズムでは、oracle.j2ee.connector.PrincipalMappingインタフェースを実装するクラスが利用されます。

      • implClass: oracle.j2ee.connector.PrincipalMappingインタフェースを実装するクラス。このクラスを含むJARファイルは、解凍したRARファイルを含むディレクトリに置く必要があります。

      • properties: ログインに使用するユーザー名とパスワード。

  • xaRecoveryConfig: 2フェーズ・コミット・トランザクション・リカバリにおいて、EISにログインする特権ユーザーのユーザー名とパスワード。