Oracle Containers for J2EE
構成および管理ガイド
10g(10.1.3.4.0) B50866-01 |
|
この章では、OC4Jの起動時に設定できるランタイム・オプションおよびシステム・プロパティについて詳しく説明します。次の項目が含まれます。
OC4Jには、次のいずれかのJDKリリースが必要です。
スタンドアロンOC4J構成に使用するJDKバージョンを指定する必要があります。各OC4JインスタンスにJDKバージョンを指定できます。Oracle Application Serverインストールでは、OC4JインスタンスにデフォルトでJDK 5.0が使用されます。
スタンドアロンOC4J構成では、JAVA_HOME
環境変数にOC4Jで使用されるJDKの場所を設定します。使用されるJDKは、ホスト・マシンのPATH
環境変数に追加する必要があります。
あるいは、OC4Jの起動時に使用するJDKを指定できます。次に例を示します。
C:¥ORACLE_HOME¥j2ee¥home¥C:¥jdk¥bin¥java -jar oc4j.jar
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インスタンスから削除する必要があります。
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構成と管理Oracle Application Server構成では異なります。
OC4Jランタイム・オプションは、OC4Jの起動時にoc4j.jar
コマンドラインで引数を渡して設定できます。oc4j.jar
の構文は次のとおりです。
java [props] -jar oc4j.jar [args]
構文のoc4j.jar
の後に、ランタイム・オプション([args]
)を指定します。次に例を示します。
java -jar oc4j.jar -userthreads
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>
表4-1に、OC4Jランタイム・オプションを示します。
コマンドライン引数 | 説明 |
---|---|
|
コンソールへの標準出力を抑止します。 |
|
|
|
読取り時にXSDによって定義されたXML構成ファイルを検証します。
orion-ejb-jar.xmlファイルの |
|
標準出力のルーティング先となるファイルを指定します。このファイルには、
OPMN管理の構成では、このファイルは、指定されたパスの最後に追加されるinstance_default_group_1ディレクトリ内に生成されます。
たとえば、 <data id="oc4j-options" value="...-out /mypath/mylog.log"/>
/mypath/instance_default_group_1/mylog.log |
|
標準エラー出力のルーティング先となるファイルを指定します。このファイルには、
OPMN管理の構成では、このファイルは、指定されたパスの最後に追加されるinstance_default_group_1ディレクトリ内に生成されます。詳細は、 |
|
メッセージ出力の詳細レベルを設定する java -jar oc4j.jar -verbosity 10 |
|
スレッド・リソースのバックアップ・デバッグを有効にします。コードの重要な部分でスレッドがスタックする問題が発生した場合にのみ、有効にします。 |
|
ユーザー作成のスレッドからのコンテキスト参照のサポートを有効にします。 |
|
HTTPセッションを無効化する最大スレッド数を指定します。デフォルト値は、 |
|
OC4Jの起動時にJVMに設定できるすべてのOC4J固有のシステム・プロパティのリストを出力した後、終了します。次の例では、作業ディレクトリ内のテキスト・ファイルに出力をリダイレクトしています。 java -jar oc4j.jar -listProperties > props.txt |
|
Oracle Application Serverクラスタ内の各OC4Jインスタンスを順番に起動します。 |
|
インストールされたOC4Jのバージョンを返した後、終了します。 |
|
これらのオプションのヘルプ・テキストをコンソールに出力します。 |
次の各項で説明するように、OC4Jの起動時に、多くのOC4J固有のシステム・プロパティをJVMに設定できます。
システム・プロパティは、起動時にOC4Jコマンドラインを使用してJVMに設定できます。OC4Jが稼働中の場合は、新しいプロパティ設定を有効にするために、インスタンスを再起動する必要があります。
構文は次のとおりです。
java [props] -jar oc4j.jar [args]
構文のoc4j.jar
の前に、すべてのシステム・プロパティ(props
)を指定します。コマンドラインでは、各システム・プロパティを-D
で始める必要があります。次に例を示します。
java -Doc4j.formauth.redirect=true -jar oc4j.jar
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>
OC4Jが初期化される際には、MANIFEST.MFファイルに指定されているバージョンを検証することで、コンテナ・レベル構成に定義されている共有ライブラリの依存性が検証されます。依存性チェック失敗のデフォルトの動作では、エラーが発行されて初期化プロセスが停止されます。同じ共有ライブラリの異なるバージョンを使用する場合は、起動時にmainifest.dependencies.warn.only
プロパティをtrue
に設定し、依存性チェックが失敗した際に、OC4Jが警告を発行し、初期化が続行されるようにできます。
このプロパティは、同じアプリケーション・ライブラリに対する依存性が異なるプロジェクト・リリースおよびビルドを同時に実行する場合に便利です。
mainifest.dependencies.warn.only
がtrue
に設定されていると、OC4Jにより、デフォルトで警告メッセージが発行されます。記録されたメッセージは、oracle
ログ出力のORACLE_HOME
j2ee/
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ファイル(またはこの名前の変化形)にリダイレクトされます。
OC4J 10g(10.1.3.4.0)は、デフォルトで、http.file.allowAlias
プロパティがfalse
に設定されて出荷されます。この設定により、シンボリック・リンクの使用が防止されています。場合によっては、JSPのソース・コードがエンドユーザーに表示される可能性があるため、この設定をtrue
に変更しないことをお薦めします。
プロパティ設定を変更するかわりに、次のいずれかの回避策を使用できます。
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
拡張子が付くシンボリック・リンクである、検出されたすべてのファイル名が変更されます。その後、スクリプトにより、リンクが検出された元の場所にリンク・ターゲットのコピーが配置されます。
次のプロパティは、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-3に、OC4Jに対して設定できる一般的なシステム・プロパティを示します。
プロパティ | 説明 |
---|---|
|
コンパイル時にクラスが検索される外部ディレクトリを設定します。 |
|
デプロイ・ウィザード用の一時ディレクトリを設定します。デフォルトは デプロイ・ウィザードは、デプロイ・プロセス時に情報を格納するために、一時ディレクトリのスワップ領域を20MB使用します。完了すると、デプロイ・ウィザードは一時ディレクトリをクリーンアップします。 ただし、ウィザードが中断されると、一時ディレクトリをクリーンアップする時間またはタイミングが失われることがあります。その場合、ユーザー自身がこのディレクトリから追加デプロイメント・ファイルをクリーンアップする必要があります。クリーンアップしないと、このディレクトリが満杯になり、それ以降のデプロイが実行できなくなります。
|
|
|
|
OC4Jディストリビューションをインストールするルート・ディレクトリを設定します。
|
|
J2EEホーム・ディレクトリを、
このシステム・プロパティまたは |
|
IIOPスタブの生成を有効にします。デフォルトは |
|
生成されたIIOPスタブ/タイ・コードを保持するかどうかを設定します。デフォルトは |
|
|
|
非推奨の
同じプロセス内の2つ以上のクライアントが
このプロパティは、JNDIプロパティに設定することもできます。
OC4J 10g(10.1.3.4.0)で非推奨になった |
|
このプロパティを使用すると、システム・ライブラリのJAR依存性が一致していない場合に、OC4Jの初期化が停止されるデフォルトの動作を上書きできます。デフォルトのプロパティ値は OC4Jが初期化される際には、MANIFEST.MFファイルに指定されているバージョンを検証することで、コンテナ・レベル構成に定義されているライブラリの依存性が検証されます。
このプロパティを |
|
このプロパティは、次のいずれかの設定で、レプリケーション・ベースのロード・バランシングを構成します。
非推奨の |
|
OC4Jが基礎となるデータベースをポーリングして、MDBセッションが停止しているかどうかをチェックする間隔(秒単位)を設定します。このプロパティを使用すると、Windows環境でMDBを実行している場合またはWindows環境でバックエンド・データベースが稼働している場合に、OC4Jをクリーンに停止できます。 通常、MDBを使用する場合、MDBは受信メッセージを待機する受信状態でブロックされます。しかし、Windows環境でMDBが待機状態のときにOC4Jを停止すると、MDBがブロックされているため、OC4Jインスタンスは停止されず、アプリケーションはアンデプロイされません。 このプロパティを設定すると、MDBが受信メッセージを処理しておらず待機状態であるときに、OC4Jはデータベースをポーリングして、セッションが停止しているかどうかを確認できるようになります。このプロパティを設定せずに、[Ctrl]+[C]を使用してOC4Jを停止しようとすると、OC4Jプロセスは2.5時間以上ハングします。 このポーリング・プロセスは、パフォーマンスに対して高価となる可能性があるため、頻繁に起動しすぎないように設定してください。 |
|
Oracle組込みパフォーマンス・メトリックの値は、次のように設定できます。
このパラメータは、OC4Jサーバーで設定する必要があります。これらのパフォーマンス・メトリックを有効にするための以前の方法である |
|
エンティティBeanにおけるコンテナ管理の関係について、第3のデータベース表を使用して関係を管理するかどうかを指定できます。第3の関連表を必要としない場合は、 このプロパティは非推奨で、OrionCMPでのみ機能します。 |
|
リリース9.2.0より前のOracle JDBCドライバを使用している場合は、 このオプションの値を変更してOC4Jを再起動すると、この変更の後にデプロイされるアプリケーションに対してのみ有効になります。変更前にデプロイされたアプリケーションには影響はありません。
trueの場合、
|
|
このプロパティは、Webアプリケーションでフォームベース認証が使用される場合に適用できます。
|
|
このプロパティは、ファイル・エンコーディングのデフォルトのキャラクタ・セットを指定します。エンコーディングが指定されていない場合、OC4Jでは、デフォルトのキャラクタ・セットとしてISO-8859-1が使用されます。
Windows環境では、ファイル・エンコーディングのデフォルトのキャラクタ・セットは、ISO 8859-1キャラクタ・セットのスーパーセットであるWindows-1252であることが必要です。デフォルトとしてWindows-1252キャラクタ・セットを使用するには、 |
|
このプロパティにより、シンボリック・リンクの使用が制御されます。デフォルト値は
場合によっては、JSPのソース・コードがエンドユーザーに表示される可能性があるため、この設定を 詳細は、「シンボリック・リンク使用の防止」を参照してください。 |
|
このプロパティにより、クライアントがパス情報を使用してアプリケーションにアクセスする際に、OC4Jが収集するファイル情報が格納されるキャッシュが制御されます。次のように設定すると、キャッシュを制御できます。
デフォルト値は |
|
HTTPトラフィックがプロキシWebサーバーを通過する場合、プロキシ・ホストと必要に応じてプロキシ・ポートをコマンドラインに指定します。proxy_portを省略した場合、デフォルトはポート80です。 |
|
このプロパティは、OC4Jインスタンス内のすべてのサーブレットについて、サーブレット・クラス名の起動を有効または無効にします。
Webアプリケーションごとにこの機能を無効にするには、このプロパティを
|
|
このプロパティを使用すると、次のいずれかの
HTTPClientロギングを無効化するには、このプロパティを
HTTPClientログは、トレース・レベル( ログ・レベルの設定およびHTTPClientロギングの有効化の詳細は、『Oracle Containers for J2EE開発者ガイド』の第4章「ロギング実装のガイドライン」を参照してください。 |
注意: この項で示すデバッグ・プロパティは、OC4J 10g(10.1.3.4.0)では推奨されません。 OC4Jに付属するコンポーネント・ログ出力の使用方法は、「OC4Jコンポーネント・ログ出力の使用方法と構成」を参照してください。 |
次のプロパティを使用して、OC4J内で稼働しているアプリケーションをデバッグできます。デバッグ・メッセージはコンソールに出力されます。すべてのプロパティがブール値をとります。
すべてのプロパティは、-D
で始めます。
開始パラメータとして指定されているJVMデバッグ・コマンドを使用してOC4Jインスタンスを起動すると、リモート・デバッガの接続が可能になるため、OC4Jのアプリケーションを統合開発環境(IDE)からリモートでデバッグできます。次の各項では、これらのパラメータの指定方法について説明します。
Application Server Controlを使用して単一のOC4Jインスタンスのリモート・デバッグを有効化するには、次のようにします。
「サーバー・プロパティ」ページが表示されます。
サーバー・プロパティで変更を行ったら、変更内容を反映する前にOC4Jインスタンスを再起動する必要があります。
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
を設定するポートをサーバーに追加します。
スタンドアロンOC4Jインスタンスでは、次のように、起動コマンドラインにデバッグ開始パラメータを指定できます。
java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000 -jar oc4j.jar
IDEからWebアプリケーションをデバッグするには、次に示す項で説明するように、サーブレットおよびJSPデバッグ用の設定を行う必要があります。
サーブレットのリモート・デバッグを設定するには、次のようにします。
Webブラウザからサーブレットを起動すると、サーブレットがブレークポイントに到達します。
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>
|
Copyright © 2006, 2008 Oracle Corporation. All Rights Reserved. |
|