18.8.5 更新検知の対象となるファイル
クラスローダによってロードされるファイルのうち,監視対象のファイルが更新されたときに,J2EEサーバが更新を検知してリロードが実行されます。更新検知の対象となるタイミングは,J2EEアプリケーションの開始時です。
ただし,クラスローダでロードされていないファイルは,更新検知の対象になりません。アプリケーションディレクトリ以下にあってもロードされていないファイルや,アプリケーションディレクトリを使用していないJ2EEアプリケーションのファイルは,更新検知の対象になりません。また,DD(ejb-jar.xml,web.xml)は,更新検知の対象になりません。
また,展開ディレクトリ形式で,更新後のJSPファイルの更新日付が古い場合はJSPの再コンパイルが実行されません。
(1) 更新検知の対象ファイル
更新検知の対象ファイルを次の表に示します。
種別 |
更新検知の対象ファイル |
リロードの適用範囲※1 |
|||
---|---|---|---|---|---|
app |
web |
jsp |
|||
アプリケーションディレクトリ以下のファイル |
|
○ |
− |
− |
|
EJB-JARディレクトリ以下のEJBアプリケーション(EJB-JAR)のファイル |
|
○ |
− |
− |
|
WARディレクトリ以下のWebアプリケーション(WAR)のファイル |
サーブレット |
|
○ |
○ |
− |
JSP |
|
○※2 |
○※2 |
○※2 |
|
|
○※3 |
○※3 |
○※3 |
||
|
○※4 |
○※4 |
○※4 |
||
|
○※5 |
○※5 |
○※5 |
||
アプリケーションディレクトリ以外のファイル |
|
○ |
− |
− |
(2) 更新検知の対象ファイルの例
アプリケーションディレクトリ以下のファイルのうち,更新検知の対象となるファイルの例を次の表に示します。
ディレクトリ |
ディレクトリ下のファイル |
更新検知の対象 |
|||||
---|---|---|---|---|---|---|---|
<アプリケーションディレクトリ> |
ライブラリJAR例:MyLibrary.jar |
○ |
|||||
META-INF |
|
− |
|||||
<EJB-JARディレクトリ> |
− |
− |
|||||
META-INF |
EJB-JARのDD(ejb-jar.xml) |
− |
|||||
<パッケージ名> |
Enterprise Beanクラス 例:MyEJB.class |
○ |
|||||
ホームインタフェースクラス 例:MyEJBHome.class |
○ |
||||||
コンポーネントインタフェースクラス 例:MyEJBRemote.class |
○ |
||||||
ビジネスインタフェースクラス 例:MyBusiness.class |
○ |
||||||
EJBから利用されるクラス 例:MyClass.class |
○ |
||||||
java.util.ResourceBundleによってロードされたプロパティファイル 例:MyResource.properties |
○ |
||||||
<WARディレクトリ> |
JSPファイル 例:MyJsp.jsp |
○ |
|||||
静的コンテンツ 例:MyStatic.jspf |
○ |
||||||
HTMLファイル 例:MyIndex.html |
− |
||||||
META-INF |
− |
− |
|||||
WEB-INF |
WebアプリケーションのDD(web.xml) |
− |
|||||
タグライブラリ記述子ファイル 例:MyTaglib.tld |
○ |
||||||
Webアプリケーションプロパティファイル(hitachi_web.properties) |
− |
||||||
classes |
− |
− |
|||||
<パッケージ名> |
java.util.ResourceBundleによってロードされたプロパティファイル 例:MyResource.properties |
○ |
|||||
サーブレットクラス 例:MyServlet.class |
○ |
||||||
lib |
JARファイル 例:MyLibrary.jar |
○ |
|||||
tags |
タグファイル 例:MyTag.tag |
○ |
|||||
<JSPワークディレクトリ> |
JSPコンパイル結果 例:MyJsp$jsp.class |
○ |
|||||
WEB-INF |
tags |
タグファイルコンパイル結果 例:MyTag$tag.class |
○ |
||||
<アプリケーションディレクトリ以外のディレクトリ> |
参照ライブラリ 例:MyRef.jar |
○ |
(3) リロードの対象となる操作
監視対象のファイルを変更した場合に,更新が検知されてリロードが実行されるかどうかは,ファイルへの操作によって異なります。リロードの対象となる操作を次の表に示します。
更新検知の対象ファイル |
ファイルへの操作 |
注意点 |
|||
---|---|---|---|---|---|
追加 |
削除 |
更新 |
|||
アプリケーションディレクトリ以下のファイル |
ライブラリJAR |
× |
× |
○ |
|
アプリケーション属性ファイル |
× |
× |
× |
|
|
EJB-JARディレクトリ以下のEJBアプリケーション(EJB-JAR)のファイル |
EJBを構成するクラスファイル |
× |
× |
○ |
|
ほかのクラスファイル |
× |
× |
○ |
|
|
WARディレクトリ以下のWebアプリケーション(WAR)のファイル |
クラスファイル |
△ |
○ |
○ |
− |
JARファイル |
○ |
○ |
○ |
− |
|
プロパティファイル |
△ |
○ |
○ |
− |
|
JSPファイル |
△ |
○※2 |
○※2 |
− |
|
タグファイル |
△ |
○※2 |
○※2 |
|
|
JSPファイルまたはタグファイルが依存するファイル |
△ |
○※2 |
○※2 |
− |
|
静的コンテンツ |
△ |
× |
× |
|
|
JSPコンパイル結果(JSP,タグファイルをコンパイルして生成されたクラスファイル) |
△ |
○ |
○ |
|
|
アプリケーションディレクトリ以外のファイル |
参照ライブラリ |
× |
× |
○ |
|