以下について説明します。
検証機能使用時の注意事項
deployment descriptorの定義値に含まれている前後の半角空白、およびすべてのASCII制御文字も設定値と解釈されます。
前述の文字に関するエラーが発生した場合は、下記のいずれかの対処を行ってください。
IJServerクラスタでは動作可能です。検証機能を無効にして配備してください。
前述の文字を取り除いてください。
JPAの検証は、使用する永続性プロバイダにかかわらず、Interstage永続性プロバイダの仕様に基づいて行われます。Interstage永続性プロバイダ以外を使用して検証でエラーが発生した場合は、アプリケーションに問題がないことを確認して、検証を無効にして配備してください。
JPAについては、「Java EE運用ガイド」-「Java Persistence API (JPA)」を参照してください。
検証が有効、かつJSP事前コンパイルが無効な場合、Interstage Web application deployment descriptorに定義されたignoreJspFragmentErrorsの設定値は無視されます。
JSPから静的includeしているJSPのエラーが発生した場合は、下記のいずれかの対処を行ってください。
JSPのエラーを取り除いてください。
アプリケーションに問題がない場合は、検証機能を無効にして配備してください。
ignoreJspFragmentErrorsについては、「Java EE運用ガイド」-「Interstage deployment descriptorのタグの説明」を参照してください。
HotDeploy機能使用時の注意事項
通常業務中にHotDeploy機能を使用すると、以下のような問題があるため、推奨しません。夜間などリクエストが少ない状況で利用してください。
Webアプリケーションでリクエストを処理中にHotDeployを実行した場合、以下のメッセージがサーバーログに出力され、java.lang.ThreadDeathがスローされることがあります。
PWC1635
Webアプリケーションでリクエストを処理中にHotDeployを実行した場合、以下のメッセージがサーバーログに出力されることがあります。
PWC3989
EJBアプリケーションでリクエストを処理中にHotDeployを実行した場合、以下のメッセージがサーバーログに出力されることがあります。
EJB6145
実装に問題がないアプリケーションを配備した時に以下のようなエラーが発生する場合は、IJServerクラスタ内で不整合が発生している可能性があるため、IJServerクラスタを再起動してください。
java.lang.ClassNotFoundException
javax.naming.NameAlreadyBoundException
javax.naming.InvalidNameException
配備済みモジュール入替えの注意事項
配備済みのモジュールについて、ファイルのコピーなどにより入れ替えを行っても、有効になりません。
クラスファイルのみ、入れ替え後にIJServerクラスタを再起動することで、有効になります。
deployment descriptorの入れ替えを行う場合は、再配備、またはオートリロード機能を使用してください。
Webアプリケーション配備時の注意事項
以下の条件に該当する場合、コンテキストルートが同じWebアプリケーションを配備できません。
配備した場合は、DEP4122が表示され配備に失敗します。
IJServerクラスタとWebサーバを同じマシンで運用している場合、かつ
IJServerクラスタで同じWebサーバを使用している場合、かつ
IJServerクラスタのいずれかがバーチャルホストを使用していない場合、または
IJServerクラスタが同じバーチャルホストを使用している場合
※上記条件は、J2EE、Java EEの実行環境の両方に該当します。DEP4122については、「メッセージ集」の「DEP4100番台のメッセージ」を参照してください。
また、コンテキストルートに「ROOT」を使用することはできません。
コンテキストルートに「ROOT」を指定すると、IJServerクラスタが連携しているWebサーバに到達したリクエストが、すべてIJServerクラスタに振り分けられます。
配備で異常が発生した場合の注意事項
配備中にハードウェア異常、プロセス停止、および資源不足などの致命的な異常が発生した場合、下記ディレクトリ配下に一時ファイルが残存してしまう可能性があります。
[Java EE共通ディレクトリ]\work
[Java EE共通ディレクトリ]/work
ファイルが存在している場合は、下記の手順に従い必要に応じて削除してください。
Interstage Java EE DASサービスを停止します。
上記ディレクトリ配下に存在するファイルを削除します。
注) workディレクトリは、削除しないでください。
Interstage Java EE DASサービスを起動します。
IJServerクラスタ削除中に配備を行った場合や、配備処理中にInterstage Java EE DASサービスの停止を行った場合、asadminコマンドのlist-sub-componentsサブコマンド、およびlistサブコマンドにapplicationsを指定した場合に表示されないアプリケーション名のディレクトリが、下記のディレクトリ配下に残存する場合があります。
[Java EE共通ディレクトリ]\domains\interstage\applications
[Java EE共通ディレクトリ]/domains/interstage/applications
残存したアプリケーション資産については、IJServerクラスタの削除、または同名アプリケーションの配備により削除されますので、必要に応じて処理を行ってください。
ディレクトリ指定によるWebアプリケーションの配備は未サポートです。詳細は「移行ガイド」-「J2EEからJava EEへの移行」を参照してください。
再配備時の注意事項
再配備時に、deployサブコマンドの--enabledオプションで指定した値は無視されます。
アプリケーションの状態を変更したい場合は、再配備完了後にenableサブコマンド、またはdisableサブコマンドを使用してください。
リソースアダプタ再配備時の注意事項
リソースアダプタの再配備に失敗した場合、再配備対象のリソースアダプタは配備解除されますが、リソースアダプタと関係するコネクタ接続プール、コネクタリソース、管理オブジェクトリソース、およびリソースアダプタの定義情報は削除されません。再配備に失敗した原因を取り除き、再度リソースアダプタを配備することで関係するリソースなどの利用が可能となります。なお、関係するリソースなどを使用しない場合は、個別に削除を行ってください。
Webサービス配備時の注意事項
Webサービスアプリケーションを配備中または配備解除中にエラーが生じた場合、そのアプリケーション名がシステムファイルに残存する場合があります。
以下に示す場所にシステムファイルが存在する場合、Webサービスを運用する前に、テキストエディタで以下に示すシステムファイルを開き、配備中または配備解除中にエラーが生じたアプリケーション名が残存していた場合は、そのアプリケーション名が登録されている行だけを削除してください。削除する際は、十分注意してください。
システムファイルの修正後は、Interstage Java EE DASサービスを再起動してください。
[Java EE共通ディレクトリ]\domains\interstage\generated\.com_sun_appserv_wsindex
[Java EE共通ディレクトリ]/domains/interstage/generated/.com_sun_appserv_wsindex
ライブラリ(--librariesオプション)指定文字列の注意事項
以下の指定は行わないでください。
2byte文字
最後尾に空白文字(スペース、タブ)
アプリケーションのファイル名の注意事項
アプリケーション名(--nameオプション)に以下の文字を指定してください。
英数字、または特殊文字(‘-’、‘_’、‘.’、‘;’)
先頭には、英数字または‘_’だけ指定可
オートリロード機能使用時の注意事項
配備モジュールのクラスファイルを頻繁に変更して動作確認する開発作業中は、オートリロード機能を使用することで開発効率を向上させることが可能です。
ただし、オートリロード機能は、以下の理由のためアプリケーションの開発時のみ使用してください。
コンテナが.reloadファイルの変更を絶えず監視するため、処理性能が劣化します。
リロード直前のアプリケーションが保有するセッション情報は破棄されます。
アプリケーションの入れ替え中はリクエストを受け付けることができません。
複数操作実行時の注意事項
配備・配備解除操作は複数同時に実行することができません。配備・配備解除操作が復帰しないうちに新たな配備・配備解除操作を投入した場合、後から投入した操作が、先に動作していた操作の完了を待機します。