ヘッダーをスキップ
Oracle Containers for J2EE構成および管理ガイド
10g(10.1.3.5.0)
B56030-01
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

4 OC4Jランタイムの構成

この章では、OC4Jの起動時に設定できるランタイム・オプションおよびシステム・プロパティについて詳しく説明します。次の項目が含まれます。

JDKのバージョンの指定

OC4Jには、次のいずれかのJDKリリースが必要です。

スタンドアロンOC4J構成に使用するJDKバージョンを指定する必要があります。各OC4JインスタンスにJDKバージョンを指定できます。Oracle Application Serverインストールでは、OC4JインスタンスにデフォルトでJDK 5.0が使用されます。

スタンドアロン構成でのJDKの指定

スタンドアロンOC4J構成では、JAVA_HOME環境変数にOC4Jで使用されるJDKの場所を設定します。使用されるJDKは、ホスト・マシンのPATH環境変数に追加する必要があります。

あるいは、OC4Jの起動時に使用するJDKを指定できます。次に例を示します。

C:\ORACLE_HOME\j2ee\home\C:\jdk\bin\java -jar oc4j.jar

管理構成でのJDKの指定

Oracle Application ServerのコンポーネントとしてインストールされたOPMN管理のOC4Jインスタンスは、デフォルトではJDKリリース5.0を使用します。EJB 3.0を使用するには、JDK 5.0またはJDK 6が必要です。OC4JにデプロイされるアプリケーションにJDK 6またはJDK 1.4.2のリリースが必要な場合は、別のバージョンに切り替える必要があります。

JDK 5.0からJDK 6またはJDK 1.4.2に切り替えるには、すべてのコンパイル済アプリケーション・ファイルをOC4Jインスタンスから削除する必要があります。

  1. OC4Jインスタンスを停止します。

  2. ORACLE_HOME/j2ee/instance/application-deploymentsディレクトリを削除します。

    このディレクトリを削除すると、OC4JがJDK 6またはJDK 1.4.2で再起動される際に、アプリケーション・ファイルは再コンパイルされます。

opmn.xml構成ファイルを手動で編集して、各OC4Jインスタンスに使用するJDKを指定できます。JDKとともにインストールされた、JAVA_HOME環境変数に定義されているjavacコンパイラを使用する場合は、server.xmlファイルから<java-compiler>要素も削除し、OC4Jがデフォルト設定を再検出できるようにします。

id属性がjava-binである<data>要素にJavaシステム・プロパティを設定します。この<data>要素は、XML構造の<ias-component id="default_group">要素の<category id="start-parameters">サブ要素に囲まれています。次に例を示します。

<ias-component id="default_group">
  <process-type id="home" module-id="OC4J" status="enabled">
    <module-data>
      <category id="start-parameters">
        <data id="java-bin" value="c:/myhost/jdk/bin/java"/>
      </category>
      ...
    </module-data>
  </process-type>
</ias-component>

起動時のOC4Jランタイム・オプションの設定

OC4Jの起動時に、多くのOC4Jランタイム・オプションをOC4Jインスタンスに設定できますが、ほとんどは標準出力メッセージを管理するためのオプションです。これらのオプションの設定方法は、スタンドアロンOC4J構成と管理Oracle Application Server構成では異なります。

スタンドアロンOC4J構成でのランタイム・オプションの設定

OC4Jランタイム・オプションは、OC4Jの起動時にoc4j.jarコマンドラインで引数を渡して設定できます。oc4j.jarの構文は次のとおりです。

java [props] -jar oc4j.jar [args]

構文のoc4j.jarの後に、ランタイム・オプション([args])を指定します。次に例を示します。

java -jar oc4j.jar -userthreads

管理OC4J構成でのランタイム・オプションの設定

OC4JがOracle Application Serverのコンポーネントとしてインストールされる場合、OC4Jランタイム・オプションはopmn.xml構成ファイルに手動で追加する必要があります。オプションは、起動時に管理OC4Jインスタンスに渡されます。

id属性がoc4j-optionsである<data>要素にOC4Jランタイム・オプションを設定します。この<data>要素は、XML構造の<ias-component id="default_group">要素の<category id="start-parameters">サブ要素に囲まれています。次に例を示します。

<ias-component id="default_group">
  <process-type id="home" module-id="OC4J" status="enabled">
    <module-data>
      <category id="start-parameters">
        <data id="oc4j-options" value="-userthreads"/>
        ...
      </category>
      ...
    </module-data>
  </process-type>
</ias-component>

OC4Jランタイム・オプションの概要

表4-1に、OC4Jランタイム・オプションを示します。

表4-1 OC4J起動オプション

コマンドライン引数 説明

-quiet

コンソールへの標準出力を抑止します。

-config path

server.xmlディスクリプタ・ファイルへのパスを指定します。デフォルトの場所は、ORACLE_HOME/j2ee/instance/configディレクトリです。

-validateXML

読取り時にXSDによって定義されたXML構成ファイルを検証します。

orion-ejb-jar.xmlファイルの<entity-deployment>または<session-deployment>要素にtx-retry-wait属性を追加した場合は、OC4J起動コマンドラインで-validateXMLオプションを使用しないでください。

-out [file]

標準出力のルーティング先となるファイルを指定します。このファイルには、System.outに出力されるメッセージの他、サーブレット・ロギング・インタフェースを介して出力に送信されるメッセージが格納されます。指定しない場合は、すべての出力が標準出力に書き込まれます。

stdoutファイルを管理するために設定できるその他のシステム・プロパティは、「stdoutおよびstderrログ・ファイルの管理」を参照してください。

OPMN管理の構成では、このファイルは、指定されたパスの最後に追加されるinstance_default_group_1ディレクトリ内に生成されます。

たとえば、opmn.xmlに次の要素を指定したとします。

<data id="oc4j-options" value="...-out /mypath/mylog.log"/>

mylog.logファイルは、実際には次のファイルに生成されます。

/mypath/instance_default_group_1/mylog.log

-err [file]

標準エラー出力のルーティング先となるファイルを指定します。このファイルには、System.errに出力されるメッセージが格納されます。指定しない場合は、すべてのエラーが標準エラーに書き込まれます。

stderrファイルを管理するために設定できるその他のシステム・プロパティは、「stdoutおよびstderrログ・ファイルの管理」を参照してください。

OPMN管理の構成では、このファイルは、指定されたパスの最後に追加されるinstance_default_group_1ディレクトリ内に生成されます。詳細は、-outの説明を参照してください。

-verbosity int

メッセージ出力の詳細レベルを設定する110の整数を定義します。値10は、最も詳細な出力を生成します。次に例を示します。

java -jar oc4j.jar -verbosity 10

-monitorResourceThreads

スレッド・リソースのバックアップ・デバッグを有効にします。コードの重要な部分でスレッドがスタックする問題が発生した場合にのみ、有効にします。

-userThreads

ユーザー作成のスレッドからのコンテキスト参照のサポートを有効にします。

-http.sessionInvalidatingThreads

HTTPセッションを無効化する最大スレッド数を指定します。デフォルト値は、3です。

-listProperties

OC4Jの起動時にJVMに設定できるすべてのOC4J固有のシステム・プロパティのリストを出力した後、終了します。次の例では、作業ディレクトリ内のテキスト・ファイルに出力をリダイレクトしています。

java -jar oc4j.jar -listProperties > props.txt

-sequential

Oracle Application Serverクラスタ内の各OC4Jインスタンスを順番に起動します。

-version

インストールされたOC4Jのバージョンを返した後、終了します。

-? |-help

これらのオプションのヘルプ・テキストをコンソールに出力します。


起動時のシステム・プロパティの設定

次の各項で説明するように、OC4Jの起動時に、多くのOC4J固有のシステム・プロパティをJVMに設定できます。


注意:

oc4j.jar -listPropertiesオプションを使用すると、OC4Jの起動時にJVMに設定できるすべてのOC4J固有のシステム・プロパティのリストを出力できます。次の例では、作業ディレクトリ内のテキスト・ファイルに出力をリダイレクトしています。
java -jar oc4j.jar -listProperties > props.txt

スタンドアロンOC4J構成でのシステム・プロパティの設定

システム・プロパティは、起動時にOC4Jコマンドラインを使用してJVMに設定できます。OC4Jが稼働中の場合は、新しいプロパティ設定を有効にするために、インスタンスを再起動する必要があります。

構文は次のとおりです。

java [props] -jar oc4j.jar [args]

構文のoc4j.jarの前に、すべてのシステム・プロパティ(props)を指定します。コマンドラインでは、各システム・プロパティを-Dで始める必要があります。次に例を示します。

java -Doc4j.formauth.redirect=true -jar oc4j.jar

OPMN管理OC4J構成でのシステム・プロパティの設定

OC4JがOracle Application Serverのコンポーネントとしてインストールされる場合、opmn.xml構成ファイルにOC4Jシステム・プロパティを手動で追加できます。オプションは、起動時に管理OC4Jインスタンスに渡されます。

id属性がjava-optionsである<data>要素にJavaシステム・プロパティを設定します。この<data>要素は、XML構造の<ias-component id="default_group">要素の<category id="start-parameters">サブ要素に囲まれています。すべてのシステム・プロパティは、-Dで始めます。次に例を示します。

<ias-component id="default_group">
  <process-type id="home" module-id="OC4J" status="enabled">
    <module-data>
      <category id="start-parameters">
        <data id="java-options" value="-Doc4j.formauth.redirect=true
         -Dhttp.session.debug=true"/>
      </category>
      ...
    </module-data>
  </process-type>
</ias-component>

manifest.dependencies.warn.onlyを使用した共有ライブラリでの異なる依存性の許容

OC4Jが初期化される際には、MANIFEST.MFファイルに指定されているバージョンを検証することで、コンテナ・レベル構成に定義されている共有ライブラリの依存性が検証されます。依存性チェック失敗のデフォルトの動作では、エラーが発行されて初期化プロセスが停止されます。同じ共有ライブラリの異なるバージョンを使用する場合は、起動時にmainifest.dependencies.warn.onlyプロパティをtrueに設定し、依存性チェックが失敗した際に、OC4Jが警告を発行し、初期化が続行されるようにできます。

このプロパティは、同じアプリケーション・ライブラリに対する依存性が異なるプロジェクト・リリースおよびビルドを同時に実行する場合に便利です。

mainifest.dependencies.warn.onlytrueに設定されていると、OC4Jにより、デフォルトで警告メッセージが発行されます。記録されたメッセージは、oracleログ出力のORACLE_HOMEj2ee/instance/config/j2ee-logging.xml構成ファイルに指定された場所に保存されます。このログ出力には、コンソールと、j2ee/instance/log/oc4j/log.xmlのOLD形式のXMLファイルという2つの出力場所があります。スタンドアロンOC4Jでは、instance名はhomeです。OPMN管理のOracle Application Server環境では、すべてのコンソール出力がORACLE_HOME/opmn/logs/instance_default_group_1ファイル(またはこの名前の変化形)にリダイレクトされます。

シンボリック・リンク使用の防止

デフォルトでは、OC4J10g(10.1.3.5.0)のhttp.file.allowAliasプロパティはfalseに設定されています。この設定により、シンボリック・リンクの使用が防止されています。場合によっては、JSPのソース・コードがエンドユーザーに表示される可能性があるため、この設定をtrueに変更しないことをお薦めします。

プロパティ設定を変更するかわりに、次のいずれかの回避策を使用できます。

  • OC4J軽量HTTPリスナーの使用を、Oracle HTTP Serverを介してOC4Jアプリケーションがフロントエンドとなる構成に一時的に切り替え、ブラウザがHTTPを介して直接ページにアクセスするのではなく、mod_oc4jおよびApache JServ Protocol(AJP)を介して間接的にアクセスできるようにします。

  • アプリケーション内のすべてのシンボリック・リンクを、それらが提供する実際のファイル名で置き換えます。

    シェル・スクリプトを使用すると、シンボリック・リンクの置換えを自動化できます。次に例を示します。

    #!/bin/ksh
    
    PROGNAME="${0##*/}"
    LN_EXTN="ln"
    
    function displaySyntax
    {
    echo "${PROGNAME}! SYNTAX: ${PROGNAME} some_dir_path"
    exit 1
    }
    
    if [[ $# < 0 ]]
    then
    displaySyntax
    fi
    
    DIR="$1"
    
    if [[ ! -d ${DIR}
    then
    displaySyntax
    fi
    
    find ${DIR} -type l|while read filepath
    do
    echo "FIXING: ${filepath} (=> ${filepath}.${LN_EXTN})"
    mv ${filepath} ${filepath}.${LN_EXTN}
    cp -L ${filepath}.${LN_EXTN} ${filepath}
    done
    

この例のKSHスクリプトは、UNIX環境では次のようにして起動します。

$ fixLinks web_module_root

このスクリプトにより、すべてのディレクトリが再帰的に調査され、追加の.ln拡張子が付くシンボリック・リンクである、検出されたすべてのファイル名が変更されます。その後、スクリプトにより、リンクが検出された元の場所にリンク・ターゲットのコピーが配置されます。

stdoutおよびstderrログ・ファイルの管理

次のプロパティは、stderrおよびstdout標準ログ・ファイルの管理に使用されます。oc4j.jarコマンドの-outおよび-errオプションを使用して、プロパティが属するログ・ファイルのタイプと場所を指定できます。

たとえば、次のコマンドは、ファイル・サイズが2.5MBに達したときにstdoutおよびstderrファイルを循環させることを指定しています。ログ・ファイルは、d:\logsディレクトリに出力されます。

java -Dstdstream.filesize=2.5 -jar oc4j.jar -out d:\logs\oc4j.out -err d:\logs\oc4j.err

次の例では、stdoutログ・ファイルを毎日午後2:30に循環させ、ログ・アーカイブを最大10ファイルに制限することを指定しています。

java -Dstdstream.rotatetime=14:30 -Dstdstream.filenumber=10 -jar oc4j.jar -out d:\logs\oc4j.out

表4-2 stdoutおよびstderrファイルのアーカイブ管理プロパティ

プロパティ 説明
stdstream.filesize=max_file_size

アーカイブ内のファイルの最大サイズ(MB単位)。この最大サイズに達するとファイルが循環します。

stdstream.filenumber=max_files

アーカイブとして保持される最大ファイル数。この制限を超えると、最も古いファイルが自動的に削除されます。

stdstream.rotatetime=HH:mm

ログ・ファイルが毎日循環する時刻。


一般的なシステム・プロパティの概要

表4-3に、OC4Jに対して設定できる一般的なシステム・プロパティを示します。

表4-3 OC4Jの一般的な-Dシステム・プロパティ

プロパティ 説明

java.ext.dirs

コンパイル時にクラスが検索される外部ディレクトリを設定します。

java.io.tmpdir=new_tmpdir

デプロイ・ウィザード用の一時ディレクトリを設定します。デフォルトは/tmp/varです。

デプロイ・ウィザードは、デプロイ・プロセス時に情報を格納するために、一時ディレクトリのスワップ領域を20MB使用します。完了すると、デプロイ・ウィザードは一時ディレクトリをクリーンアップします。

ただし、ウィザードが中断されると、一時ディレクトリをクリーンアップする時間またはタイミングが失われることがあります。その場合、ユーザー自身がこのディレクトリから追加デプロイメント・ファイルをクリーンアップする必要があります。クリーンアップしないと、このディレクトリが満杯になり、それ以降のデプロイが実行できなくなります。

Out of Memoryエラーが出力された場合は、一時ディレクトリの使用可能領域を確認してください。

java.awt.headless=true|false

trueの場合は、環境でディスプレイ、キーボードおよびマウスがサポートされているかどうかが確認されます。falseの場合、確認は行われません。デフォルトはtrueです。

oracle.home

OC4Jディストリビューションをインストールするルート・ディレクトリを設定します。

oracle.homeシステム・プロパティを使用するかわりに、ORACLE_HOME環境変数の値をルート・ディレクトリに設定できます。

oracle.j2ee.home

J2EEホーム・ディレクトリを、oc4j.jarおよびadmin.jarファイルのインストール・ディレクトリであるORACLE_HOME/j2ee/instanceに設定します。ORACLE_HOMEの値は、OC4Jディストリビューションをインストールするルート・ディレクトリです。

このシステム・プロパティまたはJ2EE_HOME環境変数をJ2EEホーム・ディレクトリに設定すると、oc4j.jarおよびadmin.jarを任意のディレクトリから起動できるようになります。

GenerateIIOP=true|false

IIOPスタブの生成を有効にします。デフォルトはfalseです。

KeepIIOPCode=true|false

生成されたIIOPスタブ/タイ・コードを保持するかどうかを設定します。デフォルトはfalseです。

oracle.arraylist.deepCopy=true|false

trueの場合は、配列リストのクローニング中に、ディープ・コピーが実行されます。falseの場合は、配列リストに対してシャロー・コピーが実行されます。デフォルトはtrueです。

dedicated.rmicontext=true|false

非推奨のdedicated.connectionプロパティはこのプロパティに置き換えられました。デフォルトはfalseです。

同じプロセス内の2つ以上のクライアントがInitialContextを取得すると、OC4Jはキャッシュされているコンテキストを返します。したがって、各クライアントは、そのプロセスに割り当てられている同じInitialContextを受け取ります。サーバー参照は、サーバーのロード・バランシングを招きますが、これはクライアントが独自のInitialContextを取得する場合にのみ発生します。

dedicated.rmicontext=trueと設定すると、各クライアントは共有コンテキストではなく独自のInitialContextを受け取ります。各クライアントが独自のInitialContextを保持する場合、クライアントの負荷分散が可能です。

このプロパティは、JNDIプロパティに設定することもできます。

OC4J 10g(10.1.3.5.0)で非推奨になったdedicated.rmicontextdedicated.connectionおよびLoadBalanceOnLookupプロパティは、oracle.j2ee.rmi.loadBalanceプロパティに置き換えられました。

manifest.dependencies.warn.only

このプロパティを使用すると、システム・ライブラリのJAR依存性が一致していない場合に、OC4Jの初期化が停止されるデフォルトの動作を上書きできます。デフォルトのプロパティ値はfalseです。

OC4Jが初期化される際には、MANIFEST.MFファイルに指定されているバージョンを検証することで、コンテナ・レベル構成に定義されているライブラリの依存性が検証されます。

このプロパティをtrueに設定すると、問題を説明した警告メッセージがシステムにより発行され、初期化は続行されます。このプロパティの使用方法の詳細は、「manifest.dependencies.warn.onlyを使用した共有ライブラリでの異なる依存性の許容」を参照してください。

oracle.j2ee.rmi.loadBalance

このプロパティは、次のいずれかの設定で、レプリケーション・ベースのロード・バランシングを構成します。

  • client: クライアントが通信全体の初期参照で最初に選択されたOC4Jプロセスと通信します。

  • context: 別のコンテキストが使用されると(非推奨のdedicated.rmicontextプロパティと同じように)、クライアントは新規サーバーに切り替えます。

  • lookup: クライアントは参照ごとにサーバーを切り替えます。

デフォルト設定はclientです。

非推奨のdedicated.rmicontextdedicated.connectionおよびLoadBalanceOnLookupプロパティは、oracle.j2ee.rmi.loadBalanceプロパティに置き換えられました。

oracle.mdb.fastUndeploy=int

OC4Jが基礎となるデータベースをポーリングして、MDBセッションが停止しているかどうかをチェックする間隔(秒単位)を設定します。このプロパティを使用すると、Windows環境でMDBを実行している場合またはWindows環境でバックエンド・データベースが稼働している場合に、OC4Jをクリーンに停止できます。

通常、MDBを使用する場合、MDBは受信メッセージを待機する受信状態でブロックされます。しかし、Windows環境でMDBが待機状態のときにOC4Jを停止すると、MDBがブロックされているため、OC4Jインスタンスは停止されず、アプリケーションはアンデプロイされません。

このプロパティを設定すると、MDBが受信メッセージを処理しておらず待機状態であるときに、OC4Jはデータベースをポーリングして、セッションが停止しているかどうかを確認できるようになります。このプロパティを設定せずに、[Ctrl]+[C]を使用してOC4Jを停止しようとすると、OC4Jプロセスは2.5時間以上ハングします。

このポーリング・プロセスは、パフォーマンスに対して高価となる可能性があるため、頻繁に起動しすぎないように設定してください。

oracle.dms.sensors=none|normal|heavy|all

Oracle組込みパフォーマンス・メトリックの値は、次のように設定できます。

  • none: メトリックを無効化

  • normal: 中程度のメトリック(デフォルト)

  • heavy: 高いメトリック

  • all: 可能なすべてのメトリック

このパラメータは、OC4Jサーバーで設定する必要があります。これらのパフォーマンス・メトリックを有効にするための以前の方法であるoracle.dms.gate=<true|false>は、oracle.dms.sensors変数で置き換えられています。ただし、oracle.dms.gateを引き続き使用する場合、この変数をfalseに設定すると、oracle.dms.sensors=noneの設定と同じ意味になります。

associateUsingThirdTable=true|false

エンティティBeanにおけるコンテナ管理の関係について、第3のデータベース表を使用して関係を管理するかどうかを指定できます。第3の関連表を必要としない場合は、falseに設定します。デフォルトはfalseです。

このプロパティは非推奨で、OrionCMPでのみ機能します。

DefineColumnType=true|false

リリース9.2.0より前のOracle JDBCドライバを使用している場合は、trueに設定します。これらのドライバの場合、この変数をtrueに設定すると、Oracle JDBCドライバに対してSelectを実行する場合のラウンドトリップを回避できます。このパラメータは、OC4Jサーバーで設定する必要があります。デフォルトはfalseです。

このオプションの値を変更してOC4Jを再起動すると、この変更の後にデプロイされるアプリケーションに対してのみ有効になります。変更前にデプロイされたアプリケーションには影響はありません。

trueの場合、DefineColumnType拡張機能により、通常は表の記述に必要なデータベースへのラウンドトリップが節約されます。Oracle JDBCドライバが問合せを実行する場合、最初にデータベースへのラウンドトリップを使用して、結果セットの列に使用する必要がある型を判別します。次に、JDBCは問合せからデータを受け取ると、結果セットに移入する際に、データを必要に応じて変換します。

DefineColumnType拡張機能をtrueに設定して問合せの列の型を指定すると、Oracleデータベースへの最初のラウンドトリップが回避されます。そのように最適化されているサーバーは、必要な型変換を実行します。

oc4j.formauth.redirect=true|false

このプロパティは、Webアプリケーションでフォームベース認証が使用される場合に適用できます。

trueに設定した場合、リソースへのアクセス時にユーザーが有効な資格証明を入力すると、OC4JはリクエストURLへのクライアント・サイド・リダイレクトを実行します。ユーザーに有効な資格証明がない場合、Webブラウザは、Webアプリケーションに定義されたフォーム認証エラー・ページにリダイレクトされます。

falseに設定した場合、ユーザーが有効な資格証明を入力すると、ブラウザには/j-security-checkのURLが表示されます。デフォルトはfalseです。

file.encoding=value

このプロパティは、ファイル・エンコーディングのデフォルトのキャラクタ・セットを指定します。エンコーディングが指定されていない場合、OC4Jでは、デフォルトのキャラクタ・セットとしてISO-8859-1が使用されます。

Windows環境では、ファイル・エンコーディングのデフォルトのキャラクタ・セットは、ISO 8859-1キャラクタ・セットのスーパーセットであるWindows-1252であることが必要です。デフォルトとしてWindows-1252キャラクタ・セットを使用するには、-Dfile.encoding=Cp1252をOC4Jの起動プロパティとして指定します。これにより、PrintWriter出力でWindows-1252の文字が疑問符(?)に置き換えられなくなります。

http.file.allowAlias

このプロパティにより、シンボリック・リンクの使用が制御されます。デフォルト値はfalseで、シンボリック・リンクの使用を防止します。

場合によっては、JSPのソース・コードがエンドユーザーに表示される可能性があるため、この設定をtrueに変更しないことをお薦めします。

詳細は、「シンボリック・リンク使用の防止」を参照してください。

http.maxFileInfoCacheEntries

このプロパティにより、クライアントがパス情報を使用してアプリケーションにアクセスする際に、OC4Jが収集するファイル情報が格納されるキャッシュが制御されます。次のように設定すると、キャッシュを制御できます。

  • http.maxFileInfoCacheEntries < 0と設定すると、ファイル情報はキャッシュされません。

  • http.maxFileInfoCacheEntries == 0と設定すると、すべてのファイル情報が格納され、オブジェクトはキャッシュから解放されません。

  • http.maxFileInfoCacheEntries > 0と設定すると、キャッシュされるエントリの最大数を指定できます。

デフォルト値は2000です。

http.proxyHost=proxy_hosthttp.proxyPort=proxy_port

HTTPトラフィックがプロキシWebサーバーを通過する場合、プロキシ・ホストと必要に応じてプロキシ・ポートをコマンドラインに指定します。proxy_portを省略した場合、デフォルトはポート80です。

http.webdir.enable=true|false

このプロパティは、OC4Jインスタンス内のすべてのサーブレットについて、サーブレット・クラス名の起動を有効または無効にします。

trueに設定した場合、OC4Jインスタンスで稼働しているサーブレットはデフォルトでクラス名により起動できます。falseに設定した場合、サーブレットはクラス名により起動できません。デフォルトはfalseです。

Webアプリケーションごとにこの機能を無効にするには、このプロパティをtrueに設定して、サーブレット・クラス名の起動を許可しない各Webアプリケーションのorion-web.xmlディスクリプタに<orion-web-app servlet-webdir="" ... />と設定します。

orion-web.xmlservlet-webdirに設定された値は、ORACLE_HOME/j2ee/instance/config/global-web-applicationでこの属性に設定されたデフォルト値、すなわちservlet-webdir="/servlet"に優先します。

HTTPClient.log.level

このプロパティを使用すると、次のいずれかのjava.util.logging.Level値に設定した場合に、Oracle HTTPClientパッケージを記録できます。


CONFIG
FINE
FINER
FINEST
ALL

HTTPClientロギングを無効化するには、このプロパティをOFFに設定します。

HTTPClientログは、トレース・レベル(CONFIG以下)でのみメッセージ通知され、アプリケーション・ログ・レベル(SEVEREWARNINGおよびINFO)では使用されません。

ログ・レベルの設定およびHTTPClientロギングの有効化の詳細は、『Oracle Containers for J2EE開発者ガイド』の第4章「ロギング実装のガイドライン」を参照してください。


デバッグ・プロパティの概要


注意:

この項に示すデバッグ・プロパティは非推奨です。

OC4Jに付属するコンポーネント・ログ出力の使用方法は、「OC4Jコンポーネント・ログ出力の使用方法と構成」を参照してください。


次のプロパティを使用して、OC4J内で稼働しているアプリケーションをデバッグできます。デバッグ・メッセージはコンソールに出力されます。すべてのプロパティがブール値をとります。

すべてのプロパティは、-Dで始めます。

表4-4 OC4Jのデバッグ・プロパティ

デバッグ・プロパティ 説明
http.session.debug=true|false

HTTPセッションのイベントに関する情報をコンソールに示します。

http.request.debug=true|false

各HTTPリクエストに関する情報をコンソールに示します。

http.cluster.debug=true|false

HTTPクラスタリングのイベントに関する情報をコンソールに示します。

http.error.debug=true|false

すべてのHTTPエラーをコンソールに出力します。

http.method.trace.allow=true|false

trace HTTPメソッドを有効にします。

datasource.verbose=true|false

データソースの作成、データソースを使用する接続およびプールに解放された接続に関する詳細情報を示します。

jdbc.debug=true|false

JDBCコールが行われるときに詳細情報を示します。

ejb.cluster.debug=true|false

EJBクラスタリングのデバッグ・メッセージを有効にします。

rmi.debug=true|false

RMIデバッグ情報をコンソールに出力します。

rmi.verbose=true|false

RMIコールに関する詳細情報を示します。

jca.connection.debug=true|false

J2CA接続に関するその他の診断情報を示します。

ws.debug=true|false

Webサービスのデバッグを有効にします。


統合開発環境からのリモート・デバッグの有効化

開始パラメータとして指定されているJVMデバッグ・コマンドを使用してOC4Jインスタンスを起動すると、リモート・デバッガの接続が可能になるため、OC4Jのアプリケーションを統合開発環境(IDE)からリモートでデバッグできます。次の各項では、これらのパラメータの指定方法について説明します。

Application Server Controlを使用したOC4Jインスタンスのリモート・デバッグの有効化

Application Server Controlを使用して単一のOC4Jインスタンスのリモート・デバッグを有効化するには、次のようにします。

  1. OC4Jホームページに移動します。

  2. 「管理」をクリックして、OC4Jの「管理」ページを表示します。

  3. 管理タスクの表の「プロパティ」の下で、「サーバー・プロパティ」行のタスク・アイコンをクリックします。

    「サーバー・プロパティ」ページが表示されます。

  4. 「コマンドライン・オプション」の下の「開始パラメータ: Javaオプション」セクションで「行の追加」をクリックして、次に示す各デバッグ開始パラメータを追加します。

    • -Xdebug

    • -Xnoagent

    • -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000

  5. 「適用」をクリックして、変更をOC4J構成に適用します。

サーバー・プロパティで変更を行ったら、変更内容を反映する前にOC4Jインスタンスを再起動する必要があります。

opmn.xmlファイルへのデバッグ開始パラメータの指定

OPMN管理のOC4Jインスタンスでは、id属性がstart-parameters<category>要素内の<data>サブ要素(id属性はjava-options)の値として、opmn.xmlファイルにデバッグ・パラメータを配置し、インスタンスを再起動できます。opmn.xmlのエントリは、次のようになります。

<module-data>
  <category id="start-parameters">
     <data id="java-options" value="-server -Xdebug -Xnoagent
      -Djava.compiler=NONE
      -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000
      -Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy
      -Djava.awt.headless=true"/>

デバッガが追加されるまでOC4Jが起動されなくなるため、suspend=yは使用しないでください。このデバッガ・パラメータを使用すると、OPMNは問合せpingからレスポンスを取得できなくなるため、OPMNによるOC4Jインスタンスの再起動が継続的に試行されます。

ポート4000などのaddressを設定するポートをサーバーに追加します。


注意:

4000というポート値は任意の値です。ユーザーの接続に適した値を設定する必要があります。指定されたポートは、サーバーに接続するためにリモートのデバッグ・クライアントに設定する必要のあるポートです。

起動コマンドラインへのデバッグ開始パラメータの指定

スタンドアロンOC4Jインスタンスでは、次のように、起動コマンドラインにデバッグ開始パラメータを指定できます。

java -Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000 -jar oc4j.jar

リモートからのWebアプリケーションのデバッグ

IDEからWebアプリケーションをデバッグするには、次に示す項で説明するように、サーブレットおよびJSPデバッグ用の設定を行う必要があります。

サーブレットのリモート・デバッグ用の設定

サーブレットのリモート・デバッグを設定するには、次のようにします。

  1. プロジェクトの実行、またはリモート・デバッグを行うためのデバッグ構成をマークします。

  2. リモート・デバッグ固有のランタイム構成ノードのJPDAへの追加を設定します。

  3. 「起動コマンドラインへのデバッグ開始パラメータの指定」の例で示されているように、デバッグ・パラメータを使用してOC4Jインスタンスを起動します。

  4. サーブレットにブレークポイントを設定します。

  5. リモート・デバッガを実行します。

    Webブラウザからサーブレットを起動すると、サーブレットがブレークポイントに到達します。

JSPのリモート・デバッグ用の設定

JSPの場合は、前項「サーブレットのリモート・デバッグ用の設定」に説明されているように設定できますが、手順がもう1つ必要です。デフォルトでORACLE_HOME/j2ee/instance/configにインストールされているglobal-web-application.xmlファイルを編集し、JSP部分に少なくとも次に示すパラメータを設定する必要があります。

<init-param>
   <param-name>debug</param-name>
   <param-value>true</param-value>
</init-param>
<init-param>
   <param-name>developer_mode</param-name>
   <param-value>true</param-value>
</init-param>
<init-param>
   <param-name>encode_to_java</param-name>
   <param-value>true</param-value>
</init-param>
<init-param>
   <param-name>reduce_tag_code</param-name>
   <param-value>false</param-value>
</init-param>
<init-param>
   <param-name>extra_imports</param-name>
   <param-value></param-value>
</init-param>
<init-param>
   <param-name>main_mode</param-name>
   <param-value>recompile</param-value>
</init-param>
<init-param>
   <param-name>debug_mode</param-name>
   <param-value>true</param-value>
</init-param>