ページの先頭行へ戻る
Enterprise Application Platform V1.2.0 GlassFishユーザーズガイド

1.3.2 アプリケーション運用時の制限事項

項番

制限事項

対処方法

解除予定

1

アプリケーションのオートリロードを行ったアプリケーションは、配備解除を行っても以下に存在するアプリケーションの資材が残存する場合があります。

[運用資産格納ディレクトリー]\domains\domain1\applications\[配備解除したアプリケーション名]

[運用資産格納ディレクトリー]/domains/domain1/applications /[配備解除したアプリケーション名]

残存したアプリケーションの資材を手動で削除してください。

未定

2

外部リソースのファクトリクラスに存在しないクラス名を指定した場合、または、外部リソースのファクトリクラスに共通クラスローダから参照できないクラスを指定した場合、StackOverflowErrorが発生します。

外部リソースのファクトリクラスには存在するクラス名を指定してください。また、外部リソースのファクトリクラスに指定したクラスは共通クラスローダから参照できる場所に配置してください。

未定

3

下記のどれかの条件を満たす場合、文字化け、またはコード変換に失敗することがあります。

  1. マルチ言語サービスのCORBAサービス環境上のCORBAサーバアプリケーションを呼び出すCORBAクライアントアプリケーションで、サーバアプリケーションのオブジェクトリファレンスの獲得と、IDL定義にstring/wstring/wcharのどれかの型でマルチバイト文字列を使用しているサーバアプリケーションを、マルチスレッドで呼び出した場合

  2. マルチ言語サービスのCORBAサービス環境上のCORBAサーバアプリケーションを呼び出すCORBAクライアントアプリケーションで、2つ以上のコード系が違う、IDL定義にstring/wstring/wcharのどれかの型でマルチバイト文字列を使用しているサーバアプリケーションを、マルチスレッドで呼び出した場合

  3. Interstage for GS環境上のCORBAサーバアプリケーションを呼び出すCORBAクライアントアプリケーションで、サーバアプリケーションのオブジェクトリファレンスの獲得と、IDL定義にstring/wstring/char/wcharのどれかの型を使用しているサーバアプリケーションを、マルチスレッドで呼び出した場合

1.または3.に該当する場合
サーバアプリケーションのオブジェクトリファレンスの獲得を、クライアントアプリケーションで1回だけ実行するようにクライアントアプリケーションを修正してください。

2.に該当する場合
ありません。

未定

4

GlassFish Serverインスタンスの起動処理が完了した場合であっても、ライフサイクルモジュールのREADY_EVENTは完了していない場合があります。

GlassFish Serverインスタンスの起動処理の完了前に実施する必要ある処理は、ライフサイクルモジュールのINIT_EVENTまたはSTARTUP_EVENTで実装してください。

未定

5

以下の条件を満たした場合、IIOPアクセスログにログが出力されません。

  1. GlassFish ServerクラスターにEJBアプリケーションが配備されていない。かつ、

  2. GlassFish ServerクラスターでIIOPアクセスログの出力モードにnoneが設定されていない。かつ、

  3. GlassFish ServerクラスターからCORBAアプリケーションを呼び出す場合。

GlassFish ServerクラスターにダミーのEJBアプリケーションを配備してください。

未定

6

以下の条件を満たした場合、稀にIOP00410237メッセージが出力され、クライアントアプリケーションにシステム例外を通知する場合があります。

  1. クライアントアプリケーションからEJBアプリケーションを呼び出した場合。かつ、

  2. 非フラグメントモードが設定されていない。かつ、

  3. 通信データが最大メッセージ分割サイズを超える場合。

IOP00410237が通知された場合は、EJBアプリケーションを、再度、呼び出してください。

未定

7

以下の条件を満たした場合、アプリケーションがクライアントに返却するHTTPレスポンスのBODYについて、不正な文字コードでエンコードされることがあります。

  1. アプリケーションで下記いずれかのメソッドを用いてHTTPレスポンスの文字コードを設定している。かつ、

    • jakarta.servlet.ServletResponse#setContentType(String)

    • jakarta.servlet.http.HttpServletResponse#setHeader(String, String)

    • jakarta.servlet.http.HttpServletResponse#addHeader(String, String)

  2. 1.の変更後、アプリケーションでjakarta.servlet.ServletResponse#reset()メソッドを実行している。かつ、

  3. 2.のメソッドを実行後、HTTPレスポンスの文字コードを再度設定していない場合。

以下の方法でアプリケーションを修正してください。

2.のメソッドを実行後、下記いずれかのメソッドを用いてHTTPレスポンスの文字コードを再度設定してください。

  • jakarta.servlet.ServletResponse#setContentType(String)

  • jakarta.servlet.ServletResponse#setCharacterEncoding(String)

  • jakarta.servlet.http.HttpServletResponse#setHeader(String, String)

  • jakarta.servlet.http.HttpServletResponse#addHeader(String, String)

未定

8

h2(HTTP/2 over TLS)を使用してWebコンテナにアクセスする場合、日本語などのマルチバイト文字を含むURIにアクセスできません。

HTTP/2通信を使用してWebコンテナにアクセスする場合は、以下の対処を行ってください。

  • h2c(HTTP/2 over cleartext TCP)を使用してください。

  • URIに日本語などのマルチバイト文字を使用しないでください。

未定

9

以下の条件を満たした場合、後述するメッセージが出力され、アプリケーションの配備に失敗します。

  1. JSP事前コンパイルが有効の状態でearファイルを配備する。かつ、

  2. 配備するearファイル中に、JSPファイルを含むwarファイルが含まれている。かつ、

  3. 配備するearファイル中に、ejb-jarファイルまたはrarファイルが含まれている。 かつ、

  4. warファイルに含まれるJSPファイル内で、ejb-jarファイルまたはrarファイルのクラスを参照している場合。

出力されるメッセージには下記が含まれます。

  • java.lang.RuntimeException: Error occurred during deployment:
    Exception while preparing the app : 対象のクラス名
    Please see server.log for more details.

  • remote failure: Error occurred during deployment: Exception while
    preparing the app :
    JSP Compilation Error: org.apache.jasper.JasperException: PWC6033: Error
    in Javac compilation for JSP

以下のどちらかの方法で対処してください。

  • 配備時の事前コンパイル機能は使用せず、あらかじめjspcコマンドによりコンパイルしたJSPを運用環境に配備して使用してください。

  • 運用環境に必要なjarファイルを配置し、以下の例のようにasadmin deployサブコマンドの--librariesオプションに指定してください。このとき運用環境に配置するjarファイルは、earファイルに格納されているjarファイルと差分がないファイルを使用してください。

    asadmin deploy --precompilejsp --libraries jarファイル名 earファイル名

未定

10

リモート用インターフェイスで呼び出すEJBアプリケーションのメソッドの引数または戻り値にjava.util.concurrent.ConcurrentHashMapが含まれている場合、RMI-IIOP機能を使ってEJBアプリケーションをリモート呼出しした時に、呼出しに失敗することがあります。

リモート用インターフェイスで呼び出すEJBアプリケーションのメソッドの引数または戻り値では、java.util.concurrent.ConcurrentHashMapの使用を避けてください。

未定

11

以下の条件のとき、トランサクションサービスの「トランザクションタイムアウト」の項目に設定した時間が有効にならず、120秒でタイムアウトし、EJB5123メッセージが出力されます。

  1. EJBアプリケーションを実行する。かつ、

  2. glassfish-ejb-jar.xmlについて、以下のいずれかの条件を満たす。かつ、

    1. 上記アプリケーション内にglassfish-ejb-jar.xmlがない。

    2. 上記アプリケーション内のglassfish-ejb-jar.xml内のcmt-timeout-in-secondsの項目に0を設定している。

  3. EJBの処理に120秒以上かかる。

以下の方法で対処してください。

  • アプリケーション毎に適切なタイムアウト時間をcmt-timeout-in-secondsに設定してください。

  • cmt-timeout-in-secondsに86400秒(24時間)、 2592000秒(30日)等の十分に大きな値を指定することで、タイムアウトが発生しないようにしてください。

未定

12

以下の条件のとき、WSDLファイルから参照されるXMLスキーマファイルやWSDLファイルが空の状態となり、wsimportコマンドでWSDL一式が正しく保存されません。

  1. WSDL一式内で、同一のXMLスキーマファイルまたはWSDLファイルを参照する箇所が複数存在する。かつ、

  2. wsimportコマンドを-nogenerateまたは-keepオプションを指定して実行した場合。

空の状態となるXMLファイルについては、WSDLファイル内にあるURL情報をもとに手動で保存してください。

未定