Sun GlassFish Enterprise Server 2.1 リリースノート

管理

ここでは、管理上の既知の問題とその解決方法を示します。

スタンドアロンのインスタンスがほかのインスタンスからファイルを取得することがある (6698604)

説明

一部の環境で、特定のインスタンスと同期する目的で DAS にインストールしたファイルが、実際には別のインスタンスに送信されます。

解決方法

現在のところ解決策はありません。

start-cluster コマンドからの起動メッセージが冗長である (6728317)

説明

asadmin start-cluster コマンドが、起動中に重要でないコンポーネントのエラーでも多量のメッセージを表示します。重要でない (クラスタ内のインスタンスに関連する) 要素でエラーが発生した場合の、コマンド出力の例を示します。


./asadmin start-cluster --port 9898 cluster1
Please enter the admin user name>admin
Please enter the admin password>
The clustered instance, instance2, was successfully started.
error 0 [#|2008-07-17T14:58:16.496+0200|WARNING|sun-appserver9.1|javax.jms|
_ThreadID=10;_ThreadName=main;
_RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|[C4003]: 
Error occurred on connection creation [localhost:37676]. - cause: 
java.net.ConnectException: Connection refused|#]


error 1 [#|2008-07-17T14:58:17.517+0200|WARNING|sun-appserver9.1|javax.jms|
_ThreadID=10;_ThreadName=main;
_RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|[C4003]: 
Error occurred on connection creation [localhost:37676]. - cause: 
java.net.ConnectException: Connection refused|#]


error 2 [#|2008-07-17T14:58:30.596+0200|WARNING|sun-appserver9.1|
javax.enterprise.system.container.ejb|
_ThreadID=13;_ThreadName=pool-1-thread-4;TimerBean;
_RequestID=5954a044-df06-4a3e-902a-0c40b4b6cddb;
|EJB5108:Unable to initialize EJB Timer Service. 
The likely cause is the database has not been 
started or the timer database table has not been created.|#]


error 3 [#|2008-07-17T14:58:32.512+0200|WARNING|sun-appserver9.1|
javax.enterprise.resource.resourceadapter|_ThreadID=10;_ThreadName=main;
__CallFlowPool;_RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|
RAR5005:Error in accessing XA resource with JNDI name [__CallFlowPool] for recovery|#]


The clustered instance, instance1, was successfully started.
error 0 [#|2008-07-17T14:58:21.117+0200|WARNING|sun-appserver9.1|
javax.enterprise.system.container.ejb|
_ThreadID=13;_ThreadName=pool-1-thread-4;TimerBean;
_RequestID=30827d9a-72ac-4854-b216-06494b6a9fb5;
|EJB5108:Unable to initialize EJB Timer Service. The likely cause is the database has 
not been started or the timer database table has not been created.|#]


error 1 [#|2008-07-17T14:58:23.106+0200|WARNING|sun-appserver9.1|
javax.enterprise.resource.resourceadapter|
_ThreadID=10;_ThreadName=main;__CallFlowPool;
_RequestID=b41d76fa-0203-49f7-a2ae-83bf242d3e7a;
|RAR5005:Error in accessing XA resource with JNDI name [__CallFlowPool] for recovery|#]


Command start-cluster executed successfully.

解決方法

現在のところ解決策はありません。これらの例外メッセージは無視できます。

IBM MQ に対して Generic RA Resource Adapter を配備できない (Issue 6605)

説明

IBM Message Queue 製品に対する Generic RA アダプタの配備が失敗します。server.policy ファイルで付与される権限は、次のようになります。


grant {
      permission java.util.logging.LoggingPermission "control";
      permission java.util.PropertyPermission "*", "read,write";
      }

解決方法

server.policy ファイル中の権限を、次のように変更します。


grant codeBase
"file:${com.sun.aas.installRoot}/lib/install/applications/adminapp/-" {
  permission java.util.logging.LoggingPermission "control";
 };

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

説明

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

解決方法

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

  1. domain1 はそのままにしておき、その前後に別のドメインを作成します。

  2. domain1 を削除し、as-install/lib/package-appclient.xml 内のハードコードされた domain1 の値を、新しいドメイン名で置き換えます。

domain1 がない場合、新たなドメインが作成されるたびにこれを行う必要があります。

JMX エージェントを追加したサーバーの起動がサポートされない (6200011)

説明

サーバーでは J2SE 1.4.x または 5.0 以降を設定できます。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 プロパティーを設定してからサーバーを起動すると、仮想マシン (VM) 内に新たな jmx-connector サーバーが起動します。この場合、思わぬ結果として管理機能が悪影響を受け、管理コンソールやコマンド行インタフェースで予期しない結果が発生することがあります。問題は、組み込みの jmx-connector サーバーと新たな jmx-connector サーバーとの間で衝突が発生することにあります。

解決方法

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

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


[#|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 GlassFish Enterprise Server 2.1 管理ガイド』を参照してください。

どの Web サービスのエンドポイント URL を使用しても、ロードバランサの設定ファイルが作成されない (6236544、6275436)

説明

Web サービスの URL をエクスポートする EJB モジュールを含むアプリケーションを使用してロードバランサを設定しても、作成された loadbalancer.xml ファイルに、その Web サービスのコンテキストルートが存在しません。

解決方法

  1. loadbalancer.xml ファイルを編集して、作成されなかった Web モジュールを次のように追加します。


    <web-module context-root="context-root-name"
    disable-timeout-in-minutes="30" enabled="true"/>
  2. context-root-name 値を、EJB として公開された Web サービスのコンテキストルート名に置き換えます。

Application Server のマニュアルに .asadmintruststore ファイルが記述されていない (6315957)

説明

Enterprise Server のマニュアルに .asadmintruststore ファイルが記述されていない。このファイルがサーバー管理者の home ディレクトリに存在しないと、そのサーバー上にホストされている特定のアプリケーションをアップグレードしたときに重大なバグが発生する場合があります。

解決方法

JMS ブローカに到達するまでにタイムアウトになるため、クラスタ化されたインスタンスが起動できない (6523663)

説明

Enterprise Server クラスタインスタンスのデフォルト MQ 統合モードは LOCAL です。Enterprise Server がインストールされている場所の PATH が長い、つまり短くない場合、クラスタインスタンス起動時に imqbrokerscv.exe で障害が発生します。imqbrokersvc のメモリー割り当てに問題があります。

解決方法

クラスタインスタンスの JMS サービスタイプを、デフォルトの LOCAL から REMOTE に変更する必要があります。この設定では、すべてのインスタンスは DAS ブローカを指します。次の手順に従って、REMOTE モードでクラスタを設定してください。


注 –

REMOTE モード使用時には、すべてのインスタンスが 1 つのブローカ (DAS) を使用しているため、Enterprise Server クラスタが起動してもブローカクラスタは作成されません。詳細は、http://www.glassfishwiki.org/gfwiki/attach/OnePagersOrFunctionalSpecs/as-mq-integration-gfv2.txt の第 4.1 節「iii. Auto-clustering」を参照してください。それによると、上記の機能は将来使用できなくなります。


Procedureコマンド行の使用

始める前に

ご使用の環境に合わせて、ポートおよびパスワードファイルを変更してください。次に示す手順では、クラスタ名が racluster、DAS 管理ポートが 5858、および DAS JMS ポートが 7676 になっています。

  1. JMS タイプを REMOTE に変更して、クラスタ設定を変更します。


    as-install/bin/asadmin.bat set --port 5858 --user admin --passwordfile \
    as-install/bin/password_file racluster.jms-service.type=REMOTE
  2. DAS JMS ホストに対応する JMS ホストを作成します。


    as-install/bin/asadmin.bat create-jms-host --port 5858 --user admin --passwordfile \
    as-install/bin/password_file --target racluster --mqhost localhost --mqport 7676 \
    --mquser admin --mqpassword admin dashost
  3. デフォルトの JMS ホストが前のステップで作成した DAS JMS ホストになるように設定します。


    as-install/bin/asadmin.bat set --port 5858 --user admin --passwordfile \
    as-install/bin/password_file racluster.jms-service.default-jms-host=dashost

Procedure管理 GUI の使用

  1. 「設定」->「cluster-name-config」->「Java メッセージサービス」->「JMS ホスト」の順に移動します。

  2. 新規」をクリックして新規 JMS ホストを作成し、dashost という名前を付けます。

  3. DAS の JMS サービスに対応する設定を入力します。デフォルト設定は次のとおりです。

    • ホスト名: localhost

    • ポート: 7676

    • 管理者ユーザー: admin

    • パスワード: admin

    これらの設定をご使用の DAS JMS サービスに適した値に変更してください。

  4. 「Java メッセージサービス」タブに戻って、JMS サービスタイプを REMOTE に変更します (デフォルトは LOCAL)。

  5. default-jms-host ドロップダウンリストから dashost を選択します。

  6. 変更を保存してから、ノードエージェントまたはクラスタを起動します。

Netscape 8.1.3、Mozilla 1.7、および Safari 2.0.4 ブラウザで jmaki チャートが表示できない (6543014)

説明

「ログ統計の監視」ページから一部のサポートされていないブラウザを使用してチャートを表示しようとすると、次のエラーがスローされます。


Error loading jmaki.widgets.jmaki.charting.line.Widget : id=form1:jmaki_chart11
Script: http://easqelx5.red.iplanet.com:4848/resources/jmaki/charting/ \
line/component.js (line:5437).
Message: area.initialize is not a function

解決方法

サポートされているブラウザを使用します。Enterprise Server 2.1 でサポートされているブラウザについては、「ブラウザ」を参照してください。

AS のメジャーリリースのたびに、デフォルトポートが変わっている (6566481)

説明

Enterprise Server の過去 3 回のメジャーリリースのたびに、デフォルト管理ポートが変わっていました。具体的には、7.x、8. x、および 9.x のデフォルト管理ポートは次のようになっています。

解決方法

これはバグではありませんが、このことに注意してください。デフォルト管理ポートは推奨値に過ぎません。今後の Enterprise Server リリースでは、デフォルトに 4848 ポートが継続して使用されます。

AIX でカスタムマスターパスワードを使用すると create-domain コマンドが失敗する (6628170)

説明

AIX オペレーティングシステムで、カスタムマスターパスワードを使用してドメインを作成しようとすると、次のエラーが発生して失敗します。


keytool error (likely untranslated): java.lang.NullPointerException
 Enter keystore password:  New keystore password:

Procedure解決方法: (AIX) カスタムマスターパスワードを使用してドメインを作成する


注 –

次に示す手順では、各手順に必須のオプションのみ指定されています。コマンドにそれ以外のオプションを必要とする場合は、それらのオプションをコマンドに指定してください。Enterprise Server コマンドの詳細は、『Sun GlassFish Enterprise Server 2.1 Reference Manual』を参照してください。


  1. 次のコード行を含むシェルスクリプトを作成します。

    #!/bin/sh
    changeKeystorePass() {
      keytool -storepasswd -keystore ${KEYSTORE} -storepass ${OLD} -new ${NEW}
    }
    changeTruststorePass() {
      keytool -storepasswd -keystore ${TRUSTSTORE} -storepass ${OLD} -new ${NEW}
    }
    changeKeyPass() {
      keytool -keypasswd -alias s1as -keystore ${KEYSTORE} -storepass ${NEW} -keypass ${OLD} -new ${NEW}
    }
    changeDomainPasswordEntry() {
      keytool -storepasswd -storetype JCEKS -keystore ${DOMAINPASSWORDS} -storepass ${OLD} -new ${NEW}
    }
    deleteMasterPasswordFile() {
      if [ -f ${DOMAIN_PATH}/master-password ] ; then
        echo Deleting ${DOMAIN_PATH}/master-password
        rm -f ${DOMAIN_PATH}/master-password
      fi
    }
    DOMAIN_PATH=$1
    OLD=$2
    NEW=$3
    if [ $# != 3 ] ; then
      echo Usage: $0 domain-path old-master-pass new-master-pass
      exit 1
    fi
    echo Processing ...
    if [ ! -f ${DOMAIN_PATH}/config/domain.xml ] ; then
      echo "Domain with folder ${DOMAIN_PATH} does not exist, create it first"
      exit 2
    else
      KEYSTORE=${DOMAIN_PATH}/config/keystore.jks
      TRUSTSTORE=${DOMAIN_PATH}/config/cacerts.jks
      DOMAINPASSWORDS=${DOMAIN_PATH}/config/domain-passwords
      changeKeystorePass
      changeTruststorePass
      changeKeyPass
      changeDomainPasswordEntry
      deleteMasterPasswordFile
    fi
  2. デフォルトのマスターパスワードを指定して、ドメインを作成します。


    aadmin create-domain {--adminport aminportno|--portbase portbase} domain-name
    Please enter the admin user name>admin-user
    Please enter the admin password>admin-user-password
    Please enter the admin password again>admin-user-password
    Please enter the master password [Enter to accept the default]:>
    Please enter the master password again [Enter to accept the default]:>

    デフォルトのマスターパスワードは changeit です。

  3. 作成したドメインのマスターパスワードを変更します。

    マスターパスワードを変更するには、手順 1 で作成したスクリプトを実行します。


    script-name domain-path old-password new-password
    
  4. 手順 2 で作成したドメインを起動します。


    asadmin start-domain domain-name
    

    ドメインにはカスタムマスターパスワードが設定されているため、マスターパスワードの入力を求めるプロンプトが表示されます。

  5. プロンプトに応じて、新しいマスターパスワードを入力します。

  6. クラスタをサポートするように設定されているドメインの場合、ノードエージェントを作成して起動します。

    1. 手順 2 で作成したドメインにノードエージェントを作成します。


      asadmin create-node-agent --port portno --user admin-user
      
    2. 手順 a で作成したノードエージェントを起動します。


      asadmin start-node-agent
      

      ドメインにはカスタムマスターパスワードが設定されているため、マスターパスワードの入力を求めるプロンプトが表示されます。

    3. プロンプトに応じて、新しいマスターパスワードを入力します。

参照

次の Enterprise Server マニュアルページ

AIX: 0403-027 パラメータリストが長すぎる (6625591)

説明

AIX オペレーティングシステムで、一部の OS に関連する操作で次のエラーが発生して失敗します。


0403-027 The parameter list is too long

OS に関連する操作の例としては、アプリケーションの配備やアプリケーションクライアントコンテナの実行などがあります。

通常、この問題は CLASSPATH 環境変数のファイルパスが長いために発生します。

解決方法

次の解決方法のいずれかを使用します。

Procedure(AIX) コマンド行の最大長を増加する

ncargs 属性によって、環境変数を含むコマンド行の最大長を決定します。AIX オペレーションシステムでは、ncargs 属性のデフォルト値は 4 ブロック (4K バイト単位) です。Enterprise Server コマンドがコマンド行の最大長を超えないようにするには、この値を 16 ブロック (4K バイト単位) に増加します。


注 –

ncargs 属性の値を変更しても、デーモンの再起動やリフレッシュは不要です。


  1. ncargs 属性の値を確認します。


    lsattr -EH -l sys0 | grep ncargs
    
  2. ncargs 属性の値が 16 ブロック (4K バイト単位) よりも小さい場合、値を 16 に増加します。


    chdev -l sys0 -a ncargs=16