Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)
クラスローダによってロードされるファイルのうち,監視対象のファイルが更新されたときに,J2EEサーバが更新を検知してリロードが実行されます。更新検知の対象となるタイミングは,J2EEアプリケーションの開始時です。
ただし,クラスローダでロードされていないファイルは,更新検知の対象になりません。アプリケーションディレクトリ以下にあってもロードされていないファイルや,アプリケーションディレクトリを使用していないJ2EEアプリケーションのファイルは,更新検知の対象になりません。また,DD(ejb-jar.xml,web.xml)は,更新検知の対象になりません。
また,展開ディレクトリ形式で,更新後のJSPファイルの更新日付が古い場合はJSPの再コンパイルが実行されません。
更新検知の対象ファイルを次の表に示します。
表13-13 更新検知の対象ファイル
種別 | 更新検知の対象ファイル | リロードの適用範囲※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 | ||
アプリケーションディレクトリ以外のファイル |
|
○ | − | − |
(凡例)○:更新検知の対象になる −:更新検知の対象にならない
注※1 リロードの適用範囲のapp,web,jspは,usrconf.propertiesのejbserver.deploy.context.reload_scopeキーの指定値です。
注※2 JSPの事前コンパイルがされていない状態で,ロード済みの場合に,更新検知の対象になります。
注※3 JSPの事前コンパイルがされていない状態で,ロード済みのJSPファイルまたはタグファイルで使用されている場合に,更新検知の対象になります。
注※4 JSPの事前コンパイルがされている場合に,更新検知の対象になります。
注※5 JSPファイルまたはタグファイルが依存するファイルの場合に,更新検知の対象になります。依存するファイルは,JSPファイルまたはタグファイルのincludeディレクティブでインクルードされるファイルや,web.xmlの<include-prelude>または<include-coda>でインクルードされるファイルのことです。
アプリケーションディレクトリ以下のファイルのうち,更新検知の対象となるファイルの例を次の表に示します。
表13-14 更新検知の対象ファイルの例
ディレクトリ | ディレクトリ下のファイル | 更新検知の対象 | |||||
---|---|---|---|---|---|---|---|
<アプリケーションディレクトリ> | ライブラリ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 |
○ |
(凡例) ○:更新検知の対象になる −:更新検知の対象にならない
監視対象のファイルを変更した場合に,更新が検知されてリロードが実行されるかどうかは,ファイルへの操作によって異なります。リロードの対象となる操作を次の表に示します。
表13-15 リロードの対象となる操作
更新検知の対象ファイル | ファイルへの操作 | 注意点 | |||
---|---|---|---|---|---|
追加 | 削除 | 更新 | |||
アプリケーションディレクトリ以下のファイル | ライブラリJAR | × | × | ○ |
|
アプリケーション属性ファイル | × | × | × |
|
|
EJB-JARディレクトリ以下のEJBアプリケーション(EJB-JAR)のファイル | EJBを構成するクラスファイル | × | × | ○ |
|
ほかのクラスファイル | × | × | ○ |
|
|
WARディレクトリ以下のWebアプリケーション(WAR)のファイル | クラスファイル | △ | ○ | ○ | − |
JARファイル | ○ | ○ | ○ | − | |
プロパティファイル | △ | ○ | ○ | − | |
JSPファイル | △ | ○※2 | ○※2 | − | |
タグファイル | △ | ○※2 | ○※2 |
|
|
JSPファイルまたはタグファイルが依存するファイル | △ | ○※2 | ○※2 | − | |
静的コンテンツ | △ | × | × |
|
|
JSPコンパイル結果(JSP,タグファイルをコンパイルして生成されたクラスファイル) | △ | ○ | ○ |
|
|
アプリケーションディレクトリ以外のファイル | 参照ライブラリ | × | × | ○ |
|
注※1 更新できるアノテーションと更新できないアノテーションがあります。アノテーションについては,「12.6.1 アノテーションの更新」を参照してください。
注※2 JSPの事前コンパイル機能が有効な場合は,△になります。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.