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.