Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第1部 J2EE共通編> 第3章 J2EEアプリケーションの運用> 3.3 J2EEアプリケーションの配備と設定

3.3.4 クラスのオートリロード機能

 クラスのオートリロード機能とは、IJServerを停止せずに配備済みのアプリケーションのクラスを入れ替えることができる機能です。
 クラスのオートリロードは以下の変更があった場合に行われます。

 クラスのオートリロードを行う場合の設定は、Interstage管理コンソールの[ワークユニット] > “ワークユニット名” > [環境設定]タブで、[オートリロード機能の使用]を“する”に設定します。

 クラスのオートリロード機能を使用した場合、修正したアプリケーションのクラスやJarファイルを置き換えるだけで自動的にロードされるため、アプリケーションを配備し直す必要がなく、またIJServerの停止と起動の必要もないため、効率よく開発できます。
 アプリケーションの開発を行う場合は、クラスのオートリロード機能を行うことを推奨します。

■設計方法

 配備モジュールのクラスファイルを頻繁に変更して動作確認する開発作業中は、クラスのオートリロード機能を使用することで開発効率を向上させることが可能です。ただし、クラスのオートリロード機能はコンテナがクラスファイルの変更を絶えず監視するため、処理性能が劣化します。このため、アプリケーションの開発時のみ使用してください。

 また、以下のクラスについては入れ替えることができません。以下のクラスを入れ替える場合にはHotDeploy機能を使用してください。HotDeploy機能については“J2EEのHotDeploy機能”を参照してください。

【クラスのオートリロード機能で入れ替えることができないクラス】
 EJBのインタフェース(Remoteインタフェース/Homeインタフェース/Localインタフェース/LocalHomeインタフェース)

■運用方法

 クラスのオートリロード機能ではクラスを定期的に監視するため、Interstage管理コンソールから監視時間間隔を定義する必要があります。Interstage管理コンソールの[ワークユニット] > “ワークユニット名” > [環境設定]タブで設定を行ってください。詳細はInterstage管理コンソールのヘルプを参照してください。

 実際に入れ替えを行いたいクラスファイルは、配備ディレクトリに直接コピーしてください。
 クラスのオートリロード機能の対象は以下のディレクトリに含まれるクラスです。コピー先(配備ディレクトリ)の詳細については、“IJServerのファイル構成”を参照してください。

【WARファイルを配備した場合】
[J2EE共通ディレクトリ]\ijserver\[IJServer名]\apps\[Webモジュール名]\WEB-INF\lib配下の拡張子が“.jar”のファイル
[J2EE共通ディレクトリ]\ijserver\[IJServer名]\apps\[Webモジュール名]\WEB-INF\classes配下の拡張子が“.class”のファイル
【ejb-jarファイルを配備した場合】
[J2EE共通ディレクトリ]\ijserver\[IJServer名]\apps\[EJBモジュール名]配下の拡張子が“.class”のファイル
【rarファイルを配備した場合】
[J2EE共通ディレクトリ]\ijserver\[IJServer名]\apps\[RARのファイル名]配下の拡張子が“.jar”のファイル
【EARファイルを配備した場合】
[J2EE共通ディレクトリ]\ijserver\[IJServer名]\apps\[EARモジュール名]\[WARのファイル名]\WEB-INF\lib配下の拡張子が“.jar”のファイル
[J2EE共通ディレクトリ]\ijserver\[IJServer名]\apps\[EARモジュール名]\[WARのファイル名]\WEB-INF\classes配下の拡張子が“.class”のファイル
[J2EE共通ディレクトリ]\ijserver\[IJServer名]\apps\[EARモジュール名]\[ejb-jarのファイル名]配下の拡張子が“.class”のファイル
[J2EE共通ディレクトリ]\ijserver\[IJServer名]\apps\[EARモジュール名]\[RARのファイル名]配下の拡張子が“.jar”のファイル
[J2EE共通ディレクトリ]\ijserver\[IJServer名]\apps\[EARモジュール名]\Shared\lib配下の拡張子が“.jar”のファイル
[J2EE共通ディレクトリ]\ijserver\[IJServer名]\apps\[EARモジュール名] \Shared\classes配下の拡張子が“.class”のファイル

【WARファイルを配備した場合】
[J2EE共通ディレクトリ]/ijserver/[IJServer名]/apps/[Webモジュール名]/WEB-INF/lib配下の拡張子が“.jar”のファイル
[J2EE共通ディレクトリ]/ijserver/[IJServer名]/apps/[Webモジュール名]/WEB-INF/classes配下の拡張子が“.class”のファイル
【ejb-jarファイルを配備した場合】
[J2EE共通ディレクトリ]/ijserver/[IJServer名]/apps/[EJBモジュール名]配下の拡張子が“.class”のファイル
【rarファイルを配備した場合】
[J2EE共通ディレクトリ]/ijserver/[IJServer名]/apps/[RARのファイル名]配下の拡張子が“.jar”のファイル
【EARファイルを配備した場合】
[J2EE共通ディレクトリ]/ijserver/[IJServer名]/apps/[EARモジュール名]/[WARのファイル名]/WEB-INF/lib配下の拡張子が“.jar”のファイル
[J2EE共通ディレクトリ]/ijserver/[IJServer名]/apps/[EARモジュール名]/[WARのファイル名]/WEB-INF/classes配下の拡張子が“.class”のファイル
[J2EE共通ディレクトリ]/ijserver/[IJServer名]/apps/[EARモジュール名]/[ejb-jarのファイル名]配下の拡張子が“.class”のファイル
[J2EE共通ディレクトリ]/ijserver/[IJServer名]/apps/[EARモジュール名]/[RARのファイル名]配下の拡張子が“.jar”のファイル
[J2EE共通ディレクトリ]/ijserver/[IJServer名]/apps/[EARモジュール名]/Shared/lib配下の拡張子が“.jar”のファイル
[J2EE共通ディレクトリ]/ijserver/[IJServer名]/apps/[EARモジュール名] /Shared/classes配下の拡張子が“.class”のファイル

 クラスファイルを入れ替えた場合、そのクラスを参照できるモジュールのクラスがすべてオートリロードされます。クラスファイルを参照できるモジュールは、クラスローダの設定により異なります。以下にオートリロードされるモジュールのクラスを示します。

【オートリロードされるクラス】

クラスローダの設定

入れ替えるクラス

個別に配備されたWARのクラス

EARに含まれるWARのクラス

個別に配備されたejb-jarのクラス

EARに含まれるejb-jarのクラス

EARに含まれるSharedディレクトリ配下のクラス

個別に配備されたRARのクラス

EARに含まれるRARのクラス

EAR間で分離

入れ替えたWARのクラスのみ

入れ替えたWARのクラスのみ

個別に配備されたejb-jarまたはRAR、WARのクラスすべて

EARに含まれるモジュールのクラスすべて

EARに含まれるモジュールのクラスすべて

個別に配備されたejb-jarまたはRAR、WARのクラスすべて

EARに含まれるモジュールのクラスすべて

すべて分離

入れ替えたWARのクラスのみ

入れ替えたWARのクラスのみ

入れ替えたejb-jarのクラスのみ

EARに含まれるモジュールのクラスすべて

EARに含まれるモジュールのクラスすべて

なし
(配備を行うことができないため、オートリロードの対象になりません。)

EARに含まれるモジュールのクラスすべて

分離しない

なし(クラスのオートリロード機能は使用できません。)

■Sharedディレクトリ

Sharedディレクトリには以下の2種類があり、クラスのオートリロードの動作が異なります。

■クラスのオートリロードの注意事項


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED