クラスローダによってロードされるファイルのうち,監視対象のファイルが更新されたときに,J2EEサーバが更新を検知してリロードが実行されます。更新検知の対象となるタイミングは,J2EEアプリケーションの開始時です。
ただし,クラスローダでロードされていないファイルは,更新検知の対象になりません。アプリケーションディレクトリ以下にあってもロードされていないファイルや,アプリケーションディレクトリを使用していないJ2EEアプリケーションのファイルは,更新検知の対象になりません。また,DD(ejb-jar.xml,web.xml)は,更新検知の対象になりません。
更新検知の対象ファイルを次の表に示します。
表7-8 更新検知の対象ファイル
種別 | 更新検知の対象ファイル | リロードの適用範囲※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 | ||
アプリケーションディレクトリ以外のファイル |
| ○ | - | - |
(凡例)○:更新検知の対象になる -:更新検知の対象にならない
アプリケーションディレクトリ以下のファルのうち,更新検知の対象となるファイルの例を次の表に示します。
表7-9 更新検知の対象ファイルの例
ディレクトリ | ディレクトリ下のファイル | 更新検知の対象 | |||||
---|---|---|---|---|---|---|---|
<アプリケーションディレクトリ> | ライブラリJAR 例:MyLibrary.jar | ○ | |||||
META-INF | J2EEアプリケーションのDD(application.xml) | - | |||||
<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 | ○ |
(凡例) ○:更新検知の対象になる -:更新検知の対象にならない
監視対象のファイルを変更した場合に,更新が検知されてリロードが実行されるかどうかは,ファイルへの操作によって異なります。リロードの対象となる操作を次の表に示します。
表7-10 リロードの対象となる操作
更新検知の対象ファイル | ファイルへの操作 | 注意点 | |||
---|---|---|---|---|---|
追加 | 削除 | 更新 | |||
アプリケーションディレクトリ以下のファイル | ライブラリJAR | × | × | ○ |
|
EJB-JARディレクトリ以下のEJBアプリケーション(EJB-JAR)のファイル | EJBを構成するクラスファイル | × | × | ○ |
|
ほかのクラスファイル | × | × | ○ |
| |
WARディレクトリ以下のWebアプリケーション(WAR)のファイル | クラスファイル | △ | ○ | ○ | - |
JARファイル | ○ | ○ | ○ | - | |
プロパティファイル | △ | ○ | ○ | - | |
JSPファイル | △ | ○※2 | ○※2 | - | |
タグファイル | △ | ○※2 | ○※2 |
| |
JSPファイルまたはタグファイルが依存するファイル | △ | ○※2 | ○※2 | - | |
静的コンテンツ | △ | × | × |
| |
JSPコンパイル結果(JSP,タグファイルをコンパイルして生成されたクラスファイル) | △ | ○ | ○ |
| |
アプリケーションディレクトリ以外のファイル | 参照ライブラリ | × | × | ○ |
|