Sun Java System Application Server Platform Edition 9.0 Update 1 リリースノート

第 3 章 既知の問題点と制限事項

この節では、Sun Java System Application Server Platform Edition 9.0 Update 1 製品に関する既知の問題とそれに関連する回避策について説明します。問題の説明にプラットフォームが明記されていない場合、その問題はすべてのプラットフォームに当てはまります。この節は次の項目から構成されています。

管理

domain1 が存在しない場合、package-appclient スクリプトが動作しない。(ID 6171458)

デフォルトでは、asenv.conf によってポイントされる domain1AS_ACC_CONFIG 変数のハードコードされた値が $INSTALL/lib/package-appclient.xml にあります。domain1 を削除して新たなドメインを作成した場合、AS_ACC_CONFIG 変数は新たなドメイン名で更新されません。その結果、package-appclient スクリプトの処理が失敗します。

解決方法

次のいずれかの操作を行います。

JMX エージェントを追加した Application Server の起動はサポートされていない。(ID 6200011)

J2SE 1.4.x、5.0、またはそれ以降のバージョンは、Application Server で設定できます。J2SE 5.0 プラットフォームの重要な特徴は、JMX エージェントを起動できることです。サーバーの起動時にシステムプロパティーを明示的に設定すると、JMX エージェントがアクティブになります。

次に例を示します。

name="com.sun.management.jmxremote" value="true"
name="com.sun.management.jmxremote.port" value="9999"
name="com.sun.management.jmxremote.authenticate" value="false"
name="com.sun.management.jmxremote.ssl" value="false"

JMX プロパティーを設定してサーバーを起動すると、Application Server VM 内で新しい jmx-connector サーバーが起動します。この場合は、望ましくない副作用の 1 つとして、管理機能が悪影響を受け、Application Server の管理 GUI や CLI で予期しない結果が発生することがあります。問題は、組み込みの jmx-connector サーバーと新たな jmx-connector サーバーとの間で衝突が発生することにあります。

解決方法

jconsole または何らかの JMX 互換クライアントを使用する場合には、Application Server とともに起動する標準の JMX コネクタサーバーを再利用することを検討してください。

サーバーの起動時に、次に示すような行が server.log に作成されます。ここで指定されている JMXServiceURL に接続し、資格を正常に指定したあと、同様の管理および設定操作を実行することができます。次に例を示します。

[#|2004-11-24T17:49:08.203-0800|INFO|sun-appserver-ee8.1|javax.enterprise.
system.tools.admin|_ThreadID=10;|ADM1501: Here is the JMXServiceURL for the 
JMXConnectorServer: [service:jmx:rmi:///jndi/rmi://hostname:8686/management/
rmi-jmx-connector]. This is where the remote administrative clients should 
connect using the JSR 160 JMX Connectors.|#]

詳細については、『 Sun Java System Application Server 9.0 Update 1 管理ガイド』を参照してください。

JDK パスにスペースが含まれていると、サーバーの停止時に InvalidJvmOptionException がスローされる (Windows) (ID 6475341)

パスにスペースが含まれている場所に Application Server をインストールすると、インスタンスの停止時に、次のようなメッセージがログに表示されます。Application Server の機能はこの状況の影響を受けません。


InvalidJvmOptionException: Invalid Jvm Option Files/Java/jdk1.5.0_07/jre/lib/ext;
C:/Sun/AppServer/domains/domain1/lib/ext;C:/Sun/AppServer/javadb/lib. 
Option must start with -.

display-error-statistics で負の数値が返される

管理コンソール GUI では、実際のゼロ ( 0) と統計が利用できない状態 (N/A) とを区別できます。現在、コマンド行インタフェースでは、N/A の代わりにマイナス 1 (-1) が表示されます。たとえば、次の display-error-statics コマンドの出力では、N/A の代わりに —1 が表示されています。


# asadmin display-error-statistics
Please enter the admin user name>admin
Please enter the admin password>
Timestamp                               Severity  Warning 
---------------------------------------------------------
1143659837750(Mar 29, 2006 11:17:17 AM)     0        0       
1143656237750(Mar 29, 2006 10:17:17 AM)     0        0       
1143652637750(Mar 29, 2006 9:17:17 AM)      -1       -1      
1143649037750(Mar 29, 2006 8:17:17 AM)      -1       -1      
1143645437750(Mar 29, 2006 7:17:17 AM)      -1       -1      
---------------------------------------------------------
Command display-error-statistics executed successfully.

解決方法

エラー統計値を表示するには、管理コンソール GUI を使用してください。この問題は、今後のリリースで解決されます。

アプリケーションクライアント

ここでは、アプリケーションクライアントに関する既知の問題とその解決方法を示します。

インストール

この節では、インストールおよびアンインストールに関する既知の問題とその解決方法を示します。

一部の Linux システムで、「完了」ボタンをクリックしたあとにインストールの終了でハングアップする。(5009728)

この問題は、いくつかの Linux システム上で発生していました。これは Java Desktop System 2 でもっとも一般的に見られますが、RedHat ディストリビューションでも見られます。

インストーラの最後の画面で「完了」ボタンをクリックすると、インストーラは製品の「バージョン情報」ページまたは製品登録ページを表示するブラウザウィンドウの起動に失敗し、コマンドプロンプトに戻ることなくハングアップしたままになります。

解決方法

インストールプログラムを起動した端末ウィンドウで Ctrl+C を押すことにより、インストールプログラムを終了します。そのあとで、製品の「バージョン情報」ページまたは登録ページを表示するブラウザウィンドウが起動することがあります。ブラウザウィンドウが現れない場合には、ブラウザを起動してから次の URL を入力して「バージョン情報」ページを確認してください。

file://install_dir/docs/about.html

製品を登録するインストールオプションを選択した場合には、「バージョン情報」ページ上の登録ページへのリンクをたどってください。

Linux 上のインストールラッパーで J2SE の検出およびブートストラップに問題が発生することがある。(6172980)

Linux インストーラを起動する setup 実行可能ファイルがハングすることがあります。J2SE の場所を解決してインストールウィザードを起動する代わりに、ラッパーがハングアップして次のメッセージを返します。

Chcking available disk space....
Checking Java(TM) 2 Runtime Environment....
Extracting Java(TM) 2 Runtime Environment....
Deleting temporary files.....

この問題は Linux の一部のバージョンで見られ、特に JAVA_HOME 変数が存在する場合など環境設定に依存するようです。

解決法

この問題を回避するには、次の手順を実行します。

ProcedureLinux 上のブートストラップの問題を回避するには

  1. シェルに応じて unset または unsetenv を実行して、JAVA_HOME 変数の設定を解除します。

  2. -javahome オプションを使用して setup を実行して、インストーラが使用する JAVA_HOME を指定します。

ライフサイクル管理

ここでは、ライフサイクル管理に関する既知の問題とその解決方法を示します。

ejb-timer-service プロパティー minimum-delivery-interval9000 に設定したあとで、ejb-timer-service プロパティー redelivery-interval-in-mills 7000 に設定しようとすると、set コマンドが次のエラーで失敗する。(ID 6193449)

[echo] Doing admin task set
[exec] [Attribute(id=redelivery-interval-internal-in-millis) : Redelivery-
Interval (7,000) should be greater than or equal to Minimum-delivery-
interval-in-millis (9,000)]
[exec] CLI137 Command set failed.

解決方法

次のように、これらプロパティーのデフォルト値を使用します。

minimum-delivery-interval(default)=7000
redelivery-interval-in-millis(default)=5000

これらデフォルト以外の値を指定するとエラーが発生します。

Java Persistence API

この節では、Java Persistence API に関する既知の問題とその解決方法を示します。

クエリーコンパイラが、Java Persistence 言語仕様で定義されたすべてのルールをチェックしない。

クエリーコンパイラは、仕様の Java Persistence 言語の章で定義されたすべてのルールをチェックするわけではありません。具体的には、次のチェックは行われません。

無効なクエリーは、コンパイルできても実行時に SQLException が発生する可能性があります。また、配下のデータベースでは制約が少なく、生成された SQL がサポートされても、別のデータベースで同じクエリーを実行すると SQLException が発生して失敗する場合もあります。

解決方法

上の条件を手動で確認してください。

クエリーコンパイラが、間違ったトークンを示した紛らわしいエラーメッセージをスローする場合がある。(Glassfish ID 550)

詳細については、https://glassfish.dev.java.net/issues/show_bug.cgi?id=550 を参照してください。

解決方法

クエリー内の間違いを手動で確認してください。

現在、同じクラスを含む 2 つの持続性ユニットを、同一の EAR ファイルに配備できない。

解決方法

異なるクラス名を使用してください。

persistence.xml のクラス要素を使用して、MappedSuperclass を明示的に一覧表示できない。(Glassfish ID 558)

詳細については、https://glassfish.dev.java.net/issues/show_bug.cgi?id=558 を参照してください。

解決方法

MappedSuperclass の明示的な一覧表示はしないでください。

Null のデータベース値をプリミティブにマップできない。

解決方法

Null にできるデータベース列にマップするには、Java ラッパータイプを使用してください。

アップグレード

この節では、アップグレードとアップグレードツールの使用に関する既知の問題とその解決方法について説明します。

Application Server Platform Edition 8 から Application Server Platform Edition 9.0 Update 1 へのアップグレードで、install_dir /domains ディレクトリ以外のカスタムパスに作成されたドメインが直接アップグレードされない。(ID 6165528)

アップグレードユーティリティーを実行しているときに、install_dir をソースインストールディレクトリとして指定すると、そのアップグレードプロセスは、install_dir /domains ディレクトリの下に作成されたドメインだけをアップグレードします。その他の場所に作成されたドメインはアップグレードされません。

解決方法

アップグレードプロセスを起動する前に、すべてのドメインディレクトリを、それぞれの場所から install_dir /domains ディレクトリに移動します。

一部の Linux システムで「アップグレードウィザードを起動」ボタンをクリックしたあとに、「同じ場所にアップグレード」を実行するインストーラがアップグレードツールの起動に失敗する。(6207337)

この問題は複数の Linux システムで発生しています。Java Desktop System 2 でもっとも一般的ですが、RedHat ディストリビューションでも発生しています。

インストーラの最後の画面で「アップグレードツールの起動」ボタンをクリックすると、インストーラはアップグレード処理を完了するためのアップグレードツールの起動に失敗し、コマンドプロンプトに戻ることなくハングアップしたままになります。

解決方法

この問題は、コマンド行インストールモードを使って代替アップグレードを実行している場合には発生しません。

Procedureコマンド行インストールモードを使用するには

  1. GUI モードで代替アップグレードを実行してこの問題が発生した場合には、インストールプログラムを起動した端末ウィンドウで Ctrl+C を押すことにより、そのインストールプログラムを終了します。

  2. その端末ウィンドウから次のコマンドを使ってアップグレードツールを起動します。


    install_dir/bin/asupgrade --source install_dir/domains --target install_dir 
    --adminuser adminuser--adminpassword adminpassword --masterpassword changeit

    adminuser および adminpassword は、アップグレード中のインストールで使用されている値に一致する必要があります。

  3. アップグレードツールがアップグレードプロセスを完了したあとは、ブラウザを起動して次の URL を入力することにより、「バージョン情報」ページを参照できます。

    file://install_dir/docs/about.html

    製品を登録するインストールオプションを選択した場合には、「バージョン情報」ページ上の登録ページへのリンクをたどってください。

Windows 上でアップグレードツールを実行するときに、Application Server のファイルを閉じる必要があります

Windows 上でアップグレードツールを実行している間は、アップグレードするインストールですべてのファイルを閉じください。ファイルを開いておくと、アップグレードツールがハングアップすることが報告されています。

Web コンテナ

ここでは、Web コンテナに関する既知の問題とその解決方法を示します。

リソースに制約のあるサーバー上で JSP ページをコンパイルできない。(ID 6184122)

JSP ページにアクセスしてもコンパイルに失敗し、サーバーログには「Unable to execute command」というエラーメッセージと次のスタックトレースが記録されます。

at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec
(Execute.java:655) at org.apache.tools.ant.taskdefs.Execute.launch
(Execute.java:416) at org.apache.tools.ant.taskdefs.Execute.execute
(Execute.java:427) at org.apache.tools.ant.taskdefs.compilers.
DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.
java:448) at org.apache.tools.ant.taskdefs.compilers.JavacExternal.
execute(JavacExternal.java:81) at org.apache.tools.ant.taskdefs.Javac.
compile(Javac.java:842) at org.apache.tools.ant.taskdefs.Javac.execute
(Javac.java:682) at org.apache.jasper.compiler.Compiler.generateClass
(Compiler.java:396)

解決方法

JSP のコンパイルスイッチを fork から false に設定します。

これは、次のいずれかの方法で行えます。

これらのいずれかを設定することにより、antjavac コンパイルのための新規プロセスを生成することが防止されます。