以下のトラブルについて対処方法を説明します。
IJServerクラスタ起動時、および運用時にアプリケーションでエラーが発生した場合
IJServerクラスタ起動時、および運用時にアプリケーションでエラーが発生した場合、アプリケーションがJava EE規約に準拠していない可能性があります。
アプリケーションの再配備時、または配備解除時の不整合
アプリケーションの再配備時、または配備解除時に、以下が出力された場合、Interstage Java EE 6 DASサービスの内部情報に不整合が発生している可能性があります。
Failure removing policy context directory: ディレクトリ
Failure removing policy file: ファイル
本問題が発生した場合は以下の手順でリカバリを行ってください。
アプリケーションを配備
アプリケーションを配備解除
再配備の場合:アプリケーションを配備
運用時にアプリケーションの応答がない場合、遅延が発生した場合
Enterprise Beanごとのスレッドプール設定を行わず、デフォルトスレッドプールを使用している場合、EJBアプリケーションの呼出しが多くなると、応答がない現象や処理遅延が発生することがあります。「6.5.1 スレッドプーリング」を参照し、Enterprise Beanごとのスレッドプール設定を行ってください。
アプリケーション内のクラスファイルやリソースファイルの参照に失敗する場合
アプリケーションがロードされたクラスローダからクラスファイルやリソースファイルが参照できない可能性があります。
「2.22 クラスローダ」を参照し、アプリケーションがロードされたクラスローダからクラスファイルやリソースファイルが参照できるか確認してください。参照できない場合は、適切に設定してください。
アプリケーションの配備、または配備解除に失敗する場合
サーバーログに「java.lang.IllegalStateException: Class invariant violation」が「org.glassfish.web.loader.WebappClassLoader.clearReferences」の処理の延長で出力されている場合は、以下のプロパティをIntrestage Java EE6 DASサービスのJVMオプションに設定することで問題を回避できる場合があります。
-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false |
本プロパティはWebクラスローダの破棄時にロードされているクラスのフィールドをクリアするかどうか、を指定します。falseを指定した場合は、フィールドをクリアしません。
ロケールの変更に起因して、配備済みのアプリケーションが消える現象が発生した場合
「6.17 ロケールの設定」時にアプリケーションが配備されていた可能性があります。
本問題が発生した場合は以下の手順でリカバリを行ってください。
配備済みのアプリケーションを配備解除します。配備解除した後、下記のディレクトリを手動で削除してください。
<Java EE 6 共通ディレクトリ>/domains/domain1/applications/<アプリケーション名>
Java EE 6 共通ディレクトリ配下にお客様が独自にファイルを配置し、そのファイル名がマルチバイト文字を含む場合、ファイル名のエンコードを変更後のロケールに合わせてください。
手順1で配備解除したアプリケーションを配備しなおしてください。