Cosminexus V9 アプリケーションサーバ 機能解説 互換編

[目次][用語][索引][前へ][次へ]

3.7.4 Webコンテナサーバの動作設定のカスタマイズ

ここでは,Webコンテナサーバの動作設定のカスタマイズについて説明します。

デフォルトで設定されているWebコンテナサーバの動作設定を変更したい場合には,ユーザ定義ファイルを編集して,Webコンテナサーバの動作をカスタマイズする必要があります。例えば,Webコンテナサーバが使用するコンテナ,ログなどの設定を変更したい場合には,usrconf.propertiesを編集してください。また,WebコンテナサーバのJavaVMの起動オプションなどを変更したい場合には,usrconf.cfgを編集してください。

<この項の構成>
(1) Webコンテナサーバの動作設定のカスタマイズの方法
(2) コンテナ拡張ライブラリの設定
(3) JSPファイルのコンパイル結果の保持の設定
(4) アプリケーションの更新検知とリロードの設定
(5) コネクションプーリングの設定

(1) Webコンテナサーバの動作設定のカスタマイズの方法

Webコンテナサーバの動作設定のカスタマイズでは,ユーザ定義ファイルを編集して,サーバ名で識別されるWebコンテナサーバ単位に,Webコンテナサーバの動作をカスタマイズします。

(a) カスタマイズの前提

カスタマイズ対象のWebコンテナサーバのセットアップが完了していることが前提になります。また,UNIXの場合,カスタマイズにはroot権限(Component Container管理者を設定していない場合),またはComponent Container管理者の権限(Component Container管理者を設定している場合)が必要です。

(b) カスタマイズ対象のユーザ定義ファイル

次の五つのユーザ定義ファイルをテキストエディタなどで編集して,Webコンテナサーバの動作をカスタマイズします。

これらのユーザ定義ファイルの詳細については,次の個所を参照してください。

(c) Webコンテナサーバのカスタマイズで設定できる主な項目

Webコンテナサーバのカスタマイズでユーザ定義ファイルを編集して設定できる項目のうち,主な項目とその項目を設定するユーザ定義ファイルおよびキーを次の表に示します。キーの詳細,およびここで説明していないキーについては,次の個所を参照してください。

(2) コンテナ拡張ライブラリの設定

コンテナ拡張ライブラリは,Enterprise Bean,サーブレット,JSPが利用する共通のライブラリです。コンテナ拡張ライブラリを利用することで,Enterprise Bean,サーブレット,JSPから共通のライブラリを呼び出せるようになります。

ここでは,コンテナ拡張ライブラリを使用するための設定について説明します。機能の詳細については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「14. コンテナ拡張ライブラリ」を参照してください。なお,コンテナ拡張ライブラリがJNIを利用する場合は,サーバ起動・停止フック機能を使用します。サーバ起動・停止フック機能の実装については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「14.4 サーバ起動・停止フック機能」を参照してください。

コンテナ拡張ライブラリを使用するためには,次の設定が必要です。

  1. コンテナ拡張ライブラリ用のJARファイルを作成します。
    コンテナ拡張ライブラリについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「14.2 コンテナ拡張ライブラリの利用」を参照してください。
  2. Webコンテナサーバ用のusrconf.cfgのweb.add.class.pathキーで,手順1.で作成したJARファイルのパスをWebコンテナサーバのシステムクラスパスに指定します。
  3. コンテナ拡張ライブラリからJNI機能を使用する場合は,Webコンテナサーバ用のusrconf.cfgのadd.library.pathキーで,JNI用ライブラリの検索パスを指定します。
  4. コンテナ拡張ライブラリからJNI機能を使用する場合は,Webコンテナサーバ用のusrconf.propertiesのejbserver.application.InitTermProcessClassesキーに,サーバ起動・停止フック機能のクラス名を指定します。

ファイルの詳細については,「usrconf.cfg(Webコンテナサーバ用オプション定義ファイル)」を参照してください。

ユーザ定義ファイルの設定例を示します。この例では,コンテナ拡張ライブラリのJARファイルは「extended_container.jar」で,そのコンテナ拡張ライブラリがJNIを使用して「extended_container.dll」(UNIXの場合,extended_container)を呼び出します。

Webコンテナサーバ用のusrconf.cfgの設定例を次に示します。

(3) JSPファイルのコンパイル結果の保持の設定

ここでは,JSPコンパイル結果の保持に関する設定について説明します。

(a) JSPコンパイル結果保持の設定方法

JSPのコンパイル結果は,デフォルトでは保持する設定となっています。この設定は,usrconf.propertiesのwebserver.work.cleanキーでの指定で,変更できます。

デフォルトでは,次のように設定されています。

webserver.work.clean=false

webserver.work.cleanキーにfalseが設定されていると,コンパイル結果を保持します。サーバ終了時にJSPコンパイル結果を削除する場合は,webserver.work.cleanキーにtrueを設定します。

usrconf.propertiesについては,「usrconf.properties(Webコンテナサーバ用ユーザプロパティファイル)」を参照してください。

(b) JSPコンパイル結果の出力先の設定

JSPコンパイル結果は,JSP用テンポラリディレクトリ下に出力されます。JSP用テンポラリディレクトリは,usrconf.propertiesのwebserver.work.directoryキーに設定します。デフォルトの出力先を次に示します。

デフォルトの出力先
  • Windowsの場合
    <製品のインストールディレクトリ>\CC\web\containers\<サーバ名称>\work
  • UNIXの場合
    /opt/Cosminexus/CC/web/containers/<サーバ名称>/work

JSP用テンポラリディレクトリ下にはWebアプリケーション単位でディレクトリが作成され,該当するWebアプリケーション内のJSPコンパイル結果が出力されます。

Webアプリケーション単位の出力先
JSP用テンポラリディレクトリ下に作成されるWebアプリケーション単位のディレクトリは,コンテキストルート名を基に次の規則に従ったディレクトリ名となります。
  • コンテキストルート名にドル記号($),パーセント(%),プラス記号(+)が含まれる場合は,次に示す文字に変換します。なお,サーブレットエンジンモードの場合は,コンテキストルート名にスラッシュ(/)は使用できません。
 
変換前の文字 変換後の文字
$ $24
% $25
+ $2b
例:
サーブレットエンジンモードで,JSP用テンポラリディレクトリがデフォルト,コンテキストルート名が「J2EE_AP1%WEB_AP1_war」である場合,該当するWebアプリケーションのJSPコンパイル結果の出力先を次に示します。
  • Windowsの場合
    <製品のインストールディレクトリ>\CC\web\containers\<サーバ名称>\work\J2EE_AP1$25WEB_AP1_war
  • UNIXの場合
    /opt/Cosminexus/CC/web/containers/<サーバ名称>/work/J2EE_AP1$25WEB_AP1_war
 
注意
JSP用テンポラリディレクトリの設定を変更する場合
JSPコンパイル結果を保持する設定でWebコンテナを稼働したあと,JSP用テンポラリディレクトリの設定を変更した場合,変更前のJSP用テンポラリディレクトリは削除されません。このため,手動で削除する必要があります。

(4) アプリケーションの更新検知とリロードの設定

サーブレットエンジンモードでは,Webアプリケーション開発時のテストを支援する機能として,Webコンテナ上のアプリケーションの更新を検知し,更新したアプリケーションをリロードする機能を備えています。

ここでは,アプリケーションの更新を検知し,リロードする機能を使用する場合の設定について説明します。また,JSPファイルが更新された場合に,更新後のJSPを再コンパイルする機能の設定についても説明します。

(a) リロードの動作に関する設定

Webアプリケーションのリロード機能を使用するためには,次に示す設定が必要となります。設定内容と設定ファイルについて説明します。

リロード機能を使用するための設定

Webアプリケーションのリロード機能を使用する場合は,usrconf.propertiesまたはhitachi_web.propertiesに次の指定をします。

webserver.context.reloadable=true

更新検知のインターバル

Webアプリケーションの更新を検知する間隔を指定できます。更新検知は,デーモンスレッドによって実行されます。デフォルトでは1秒間隔となっています。

デーモンスレッドの実行間隔を変更する場合,usrconf.propertiesのwebserver.context.check_intervalキーに値(単位:秒)を指定します。

ポイント
更新検知の対象となるファイル数が増えると,更新検知処理のオーバーヘッドが大きくなり,CPU使用率が高くなります。このような場合は,更新検知インターバルを変更することによって,性能への影響が小さくなります。更新検知インターバルの値は大きくすることをお勧めします。
リソース更新用インターバル

リソース更新用インターバルとは,Webアプリケーションの更新を検知してから,処理中のリクエスト数の監視を実施するまでの時間を指します。

リソース更新用インターバルは,usrconf.propertiesまたはhitachi_web.propertiesのwebserver.context.update.intervalキーに値(単位:秒)を指定します。

リロード遅延実行(任意)

リロード遅延実行機能を使用する場合は,ファイル(リソース)の更新を検知してから,リロードを開始するまでの時間を設定します。

リロード遅延実行は,usrconf.propertiesまたはhitachi_web.propertiesのwebserver.context.reload_delay_timeoutキーに値(単位:秒)を指定します。

リロード時のセッション引き継ぎ(任意)

Webアプリケーションのリロード実行前に生成したセッション情報を,リロード後も継続して利用するかどうかを設定します。

セッション情報を引き継ぐかどうかの指定は,usrconf.propertiesまたはhitachi_web.propertiesのwebserver.context.reload_enabledキーに指定します。セッション情報を引き継ぐ場合は「true」,引き継がない場合は「false」を指定します。デフォルトは「false」で,セッション情報は引き継ぎません。

なお,セッション情報を引き継ぐ場合,セッション情報は,シリアライズされて,セッション情報ファイルに出力されます。次に,セッション情報ファイルの出力先と,出力先ディレクトリの変更方法について説明します。

セッション情報ファイルの出力先
セッション情報ファイルはデフォルトでは次のディレクトリに作成されます。
ディレクトリ
  • Windowsの場合
    <製品のインストールディレクトリ>\CC\web\containers\<サーバ名>\work\<コンテキストルート名>\cjwebsession.dat
  • UNIXの場合
    /opt/Cosminexus/CC/web/containers/<サーバ名称>/work/<コンテキストルート名>/cjwebsession.dat
なお,出力先ディレクトリはWebコンテナサーバ起動時に作成されます。作成されたディレクトリは,Webコンテナサーバを終了しても削除されません。ディレクトリが不要になった場合は,手動で削除してください。

セッション情報ファイルの出力先ディレクトリの変更
セッション情報ファイルの出力先は変更できます。変更するには,usrconf.propertiesのwebserver.session.work.directoryキーに,変更後の出力先ディレクトリを指定します。
出力先のディレクトリを変更するときの設定例を次に示します。
出力先ディレクトリ変更の設定例
  • Windowsの場合(C:\tmp\session_workに変更する場合)
    webserver.session.work.directory=C:/tmp/session_work
  • UNIXの場合(/usr/tmp/session_workに変更する場合)
    webserver.session.work.directory=/usr/tmp/session_work
なお,この例の場合,コンテキストルートが“examples”のWebアプリケーションのセッション情報ファイルは,次に示すパスに生成されます。
  • Windowsの場合
    C:\tmp\session_work\examples\cjwebsession.dat
  • UNIXの場合
    /usr/tmp/session_work/examples/cjwebsession.dat
●設定ファイル

リロードに関する設定は,usrconf.propertiesまたはhitachi_web.propertiesのどちらかで設定します。なお,両方のファイルに設定している場合は,hitachi_web.propertiesの指定が優先されます。設定項目と,設定できるファイルを次の表に示します。

表3-28 リロードに関する設定項目と設定ファイル

設定項目 ファイル名
usrconf.properties hitachi_web.properties
リロード機能を使用するための設定
更新検知のインターバル ×
リソース更新用インターバル
リロード遅延実行
セッション情報の引き継ぎ
セッション情報ファイルの出力先 ×

(凡例)○:設定できる ×:設定できない


usrconf.propertiesについては,「usrconf.properties(Webコンテナサーバ用ユーザプロパティファイル)」を参照してください。hitachi_web.propertiesについては,「hitachi_web.properties(Webコンテナサーバ用Webアプリケーションプロパティファイル)」を参照してください。

(b) JSPファイルの再コンパイルに関する設定

JSPファイルの再コンパイル機能を使用するためには,次に示す設定が必要となります。設定内容と設定ファイルについて説明します。

再コンパイル機能を使用するための設定

JSPファイルの再コンパイル機能を使用する場合は,usrconf.propertiesまたはhitachi_web.propertiesに次の内容を指定します。

webserver.jsp.recompilable=true

更新検知のインターバル

JSPファイルの更新を検知する間隔を変更する場合は,usrconf.propertiesのwebserver.jsp.check_intervalキーに値(秒単位)を指定します。デフォルトでは1秒間隔となっています。

JSPファイル更新用インターバル

JSPファイル更新用インターバルとは,JSPファイルの更新を検知してから,JSPファイルをコンパイルするまでの間隔を指します。

JSPファイル更新用インターバルは,usrconf.propertiesまたはhitachi_web.propertiesのwebserver.jsp.update.intervalキーに値(単位:秒)を指定します。

●設定ファイル

JSPファイルの再コンパイルに関する設定は,usrconf.propertiesまたはhitachi_web.propertiesのどちらかで設定します。なお,両方のファイルに設定している場合は,hitachi_web.propertiesの指定が優先されます。設定項目と,設定できるファイルを次の表に示します。

表3-29 JSPファイルの再コンパイルに関する設定項目と設定ファイル

設定項目 ファイル名
usrconf.properties hitachi_web.properties
JSPファイル再コンパイル機能を使用するための設定
更新検知のインターバル ×
JSPファイル更新用インターバル

(凡例)○:設定できる ×:設定できない


(5) コネクションプーリングの設定

サーブレットエンジンモード上で動作するWebアプリケーションからデータベースへ接続する場合,Webコンテナコネクションプーリング機能を利用してデータベースへの接続をプールできます。これによって,コネクション生成時のパフォーマンスを向上できます。Webコンテナコネクションプーリング機能を利用するには,管理機能用のWebアプリケーションをデプロイし,プール管理情報を登録してください。

Webコンテナコネクションプーリング機能を利用するための手順を次に示します。

  1. プール管理情報設定ファイルを作成します。
    プール管理情報設定ファイルは,プール管理情報を登録するときに使用するファイルです。プール管理情報設定ファイルには次の情報を記述します。
    • 一意のデータベースID
      プール管理情報の登録で登録した一意のデータベースIDを指定します。
    • DABroker LibraryのクラスおよびデータベースURL(DABroker Libraryを利用する場合)
      クラス名には,「Class.forName」に渡すクラス名として「com.hitachi.software.web.jdbc.WccpDriver」を指定します。また,URLには,データベースURLとして,「jdbc:hitachi:wccp://DBID=<データベースURL>」を指定します。
    • コネクションの最小値と最大値など
    プール管理情報設定ファイルについては,「3.11.6 プール管理情報設定ファイル」を参照してください。
  2. 管理機能用のWebアプリケーションをデプロイします。
    管理機能用のWebアプリケーションの格納場所を次に示します。
    • Windowsの場合
      <製品のインストールディレクトリ>\CC\web\jdbc\cjwebconpool.war
    • UNIXの場合
      /opt/Cosminexus/CC/web/jdbc/cjwebconpool.war
    Webアプリケーションのデプロイについては,「3.7.7(1) Webアプリケーションのデプロイ」を参照してください。
  3. Webコンテナサーバを起動します。
    Webコンテナサーバの起動については,「3.8.2 システムの起動」を参照してください。
  4. cjwebeditpoolコマンドの引数にプール管理情報設定ファイルを指定して,プール管理情報を登録します。
    cjwebeditpoolコマンドについては,「cjwebeditpool(プール管理情報の登録と変更)」を参照してください。
  5. ユーザ作成のWebアプリケーションをデプロイします。
    Webアプリケーションのデプロイについては,「3.7.7(1) Webアプリケーションのデプロイ」を参照してください。
    なお,コネクションの取得処理は,Webアプリケーションで実施します。このため,ユーザ作成のWebアプリケーションに,コネクションを操作するための記述が必要になります。Webアプリケーションの記述方法については,「3.6.3 Webコンテナコネクションプール機能によるデータベース接続」を参照してください。