Versionshinweise zu Sun GlassFish Enterprise Server 2.1

Administration

In diesem Abschnitt werden bekannte Verwaltungsprobleme sowie ihre Lösungen beschrieben.

Standalone-Instanzen erhalten gelegentlich Dateien von anderen Instanzen (6698604).

Beschreibung

Unter bestimmten Bedingungen werden Dateien, die auf DAS installiert sind und die mit einer bestimmten Instanz synchronisiert werden sollen, an weitere Instanzen gesendet.

Lösung

Keine bekannte Lösung.

Die Startmeldung des Befehls start-cluster ist zu ausführlich.

Beschreibung

Der Befehl asadmin start-cluster zeigt zu viele Meldungen an, auch wenn nicht kritische Komponenten während des Startens ausfallen. Beachten Sie das folgende Beispiel einer Befehlsausgabe, wenn nicht kritische Elemente (bezogen auf die Instanzen im Cluster) ausfallen:


./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.

Lösung

Keine bekannte Lösung. Diese Meldungen (Ausnahmen) können ignoriert werden.

Generic RA Resource Adapter konnte nicht für IBM MQ bereitgestellt werden (Problem 6605)

Beschreibung

Die Bereitstellung eines generischen RA-Adapters für IBM Message Queue schlägt fehl. In der Datei server.policy werden folgende Berechtigungen gewährt.


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

Lösung

Ändern Sie die Berechtigungen in der Datei server.policy wie folgt:


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

Das Skript package-appclient funktioniert nicht, wenn domain1 nicht vorhanden ist (6171458)

Beschreibung

Standardmäßig befindet sich hartcodierter Wert in as-install/lib/package-appclient.xml , der für die Variable AS_ACC_CONFIG für domain1 gilt, auf die asenv.conf verweist. Wenn domain1 gelöscht und eine neue Domäne erstellt wird, wird die AS_ACC_CONFIG-Variable nicht entsprechend der neuen Domäne aktualisiert, sodass die Ausführung des package-appclient-Skripts fehlschlägt.

Lösung

Gehen Sie folgendermaßen vor:

  1. Entfernen Sie domain1 nicht und erstellen Sie die anderen Domänen um diese Domäne herum.

  2. Entfernen Sie domain1, und ersetzen Sie den hartcodierten Wert für domain1 in as-install/lib/package-appclient.xml durch den neuen Domänennamen.

Diesen Vorgang müssen Sie für jede neu erstellte Domäne durchführen, wenn domain1 nicht mehr vorhanden ist.

Das Starten des Servers mit einem zusätzlichen JMX-Agenten wird nicht unterstützt (6200011)

Beschreibung

J2SE 1.4.x, 5.0 oder höher kann auf dem Server konfiguriert werden. In J2SE 5.0 ermöglicht eine plattformeigene Funktion das Starten eines JMX-Agenten. Um diese Funktion zu aktivieren, setzen Sie die entsprechenden Systemeigenschaften für den Serverstart fest.

Zu den möglichen Werten gehören:


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"

Nachdem Sie die JMX-Eigenschaften konfiguriert und den Server gestartet haben, wird ein neuer jmx-connector-Server in der Virtual Machine gestartet. Ein unerwünschter Nebeneffekt davon besteht darin, dass die Administrationsfunktionen beeinträchtigt werden und die Application Server-Administrationskonsole und Befehlszeilenschnittstelle evtl. unerwünschte Ergebnisse produzieren. Dieses Problem wird durch Konflikte zwischen dem integriertenjmx-connector-Server und dem neuen jmx-connector-Server verursacht.

Lösung

Wenn Sie jconsole (oder einen anderen JMX-kompatiblen Client) verwenden, können Sie den standardmäßigen JMX-Konnektor-Server wiederverwenden, der beim Serverstart aufgerufen wird.

Beim Starten des Servers wird eine Zeile ähnlich der unten dargestellten Zeile auf dem Server angezeigt. Sie können eine Verbindung zur dort angegebenen JMXService-URL herstellen und dieselben Management-/Konfigurationsoperationen durchführen, nachdem Sie die Anmeldeinformationen erfolgreich angegeben haben, beispielsweise:


[#|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.|#]

Weitere Informationen finden Sie im Sun GlassFish Enterprise Server 2.1 Administration Guide.

Konfigurationsdatei für den Lastenausgleich wird nicht mit der Endpunkt-URL eines Webservice erstellt (6236544, 6275436)

Beschreibung

Beim Einrichten der Lastenausgleichskonfiguration mit einer Anwendung, die über ein EJB-Modul verfügt und eine Webservice-URL exportiert, befindet sich das Kontext-Stammverzeichnis (root) für den Webservice nicht in der resultierenden Datei loadbalancer.xml.

Lösung

  1. Bearbeiten Sie die Datei loadbalancer.xml wie folgt, um das fehlende Webmodul hinzuzufügen:


    <web-module context-root="context-root-name"
    disable-timeout-in-minutes="30" enabled="true"/>
  2. Ersetzen Sie den Wert context-root-name mit dem Kontext-Rootnamen des Webservice, der als EJB offengelegt wurde.

Die Datei .asadmintruststore ist nicht in der Enterprise Server-Dokumentation beschrieben (6315957)

Beschreibung

Die Datei .asadmintruststore wird in der Enterprise Server-Dokumentation nicht beschrieben. Falls diese Datei nicht im home-Verzeichnis des Serveradministrators vorhanden ist, können schwerwiegende Fehler beim Upgrade bestimmter, auf dem Server gehosteter Anwendungen auftreten.

Lösung

Cluster-Instanzen werden aufgrund einer Zeitüberschreitung beim Herstellen der Verbindung mit dem JMS-Broker nicht gestartet (6523663)

Beschreibung

Der standardmäßige MQ-Integrationsmodus für eine Enterprise Server-Cluster-Instanz lautet LOCAL. Wenn Enterprise Server in einem Verzeichnis (PATH) installiert wird, das lang (also "nicht kurz") ist, stürzt imqbrokerscv.exe beim Starten der Cluster-Instanz ab. Das Problem wird durch die Speicherzuweisung in imqbrokersvc verursacht.

Lösung

Der JMS-Diensttyp für die Cluster-Instanz muss vom Standardwert LOCAL in REMOTE geändert werden. In dieser Konfiguration zeigen alle Instanzen auf den DAS-Broker. Befolgen Sie die unten stehenden Anweisungen zum Konfigurieren eines Clusters im REMOTE-Modus.


Hinweis –

Bei Auswahl des REMOTE-Modus verwenden alle Instanzen einen Broker (DAS), sodass beim Start des Enterprise Server-Clusters kein Broker-Cluster erstellt wird. Weitere Informationen finden Sie in “Auto-clustering” in Abschnitt 4.1, Absatz iii in der Übersicht auf http://www.glassfishwiki.org/gfwiki/attach/OnePagersOrFunctionalSpecs/as-mq-integration-gfv2.txt. Die oben stehende Funktionalität ist nicht verfügbar!


ProcedureVerwenden der Befehlszeile

Bevor Sie beginnen

Ändern Sie den Port und die Passwortdatei gemäß Ihrer Umgebung. Beachten Sie, dass im unten stehenden Beispiel der Clustername racluster, der DAS-Admin-Port 5858 und der DAS JMS-Port 7676 lautet.

  1. Ändern Sie die Clusterkonfiguration, und ändern Sie den JMS-Typ in REMOTE .


    as-install/bin/asadmin.bat set --port 5858 --user admin --passwordfile \
    as-install/bin/password_file racluster.jms-service.type=REMOTE
  2. Erstellen Sie einen JMS-Host in Übereinstimmung mit dem DAS JMS-Host.


    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. Legen Sie für den JMS-Host den DAS JMS-Host fest, der im vorherigen Schritt erstellt wurde.


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

ProcedureVerwenden der Admin-GUI

  1. Wechseln Sie zu ?Konfigurationen“->cluster-name-config->Java Message Service->JMS Hosts.

  2. Klicken Sie auf Neu, um einen neuen JMS-Host zu erstellen; wählen Sie für diesen Host den Namen dashost.

  3. Geben Sie die Konfigurationseinstellungen in Übereinstimmung mit dem JMS-Dienst für den DAS ein; die Standardwerte lauten wie folgt:

    • Hostname: localhost

    • Port: 7676

    • Admin-Benutzer: admin

    • Password: admin

    Ändern Sie diese Einstellungen nach Bedarf für Ihren DAS JMS-Dienst.

  4. Wechseln Sie erneut auf die Registerkarte "Java Message Service", und ändern Sie den JMS-Diensttyp in REMOTE (der Standardwert lautet LOCAL).

  5. Wählen Sie dashost aus der Dropdown-Liste default-jms-host aus.

  6. Speichern Sie die Änderungen, und starten Sie den Knotenagenten oder Cluster.

Keine Anzeige des jmaki-Diagramms in Netscape 8.1.3, Mozilla 1.7 und Safari 2.0.4 möglich (6543014)

Beschreibung

Beim Versuch, ein Diagramm von der Seite zur Überwachung der Protokollstatistik über einen nicht unterstützten Browser anzuzeigen, wird möglicherweise die folgende Fehlermeldung angezeigt:


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

Lösung

Verwenden Sie einen unterstützten Browser. Eine Liste der in Enterprise Server unterstützten Browser finden Sie unter Browser.

Standardports ändern sich in jeder Hauptversion von AS (6566481)

Beschreibung

Der standardmäßige Admin-Port wurde in jeder der drei vergangenen Versionen von Enterprise Server geändert. Für die Versionen 7.x, 8. x und 9.x lauten die standardmäßigen Admin-Ports wie folgt:

Lösung

Dies ist kein Fehler, sollte jedoch beachtet werden. Der standardmäßige Admin-Port ist lediglich eine Empfehlung. Es wird davon ausgegangen, dass in zukünftigen Versionen von Enterprise Server der Standardport 4848 beibehalten wird.

Der create-domain-Befehl schlägt mit einem benutzerdefinierten Master-Passwort unter AIX fehl (6628170)

Beschreibung

Unter einem AIX-Betriebssystem schlägt der Versuch, eine Domäne mit einem benutzerdefinierten Master-Passwort zu erstellen, mit dem folgenden Fehler fehl:


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

ProcedureLösung: (AIX) So erstellen Sie eine Domäne mit einem benutzerdefinierten Master-Passwort


Hinweis –

In der folgenden Vorgehensweise werden nur die in den einzelnen Schritten erforderlichen Optionen verwendet. Wenn Sie zusätzliche Optionen für einen Befehl benötigen, geben Sie diese Optionen im Befehl an. Weitere Informationen zu Enterprise Server-Befehlen finden Sie im Sun GlassFish Enterprise Server 2.1 Reference Manual .


  1. Erstellen Sie ein Shell-Skript, das die folgenden Codezeilen enthält:

    #!/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. Erstellen Sie eine Domäne, und geben Sie dabei das standardmäßige Master-Passwort an.


    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]:>

    Das standardmäßige Master-Passwort lautet changeit.

  3. Ändern Sie das Masterpasswort der Domäne, die Sie soeben erstellt haben.

    Zum Ändern des Hauptpassworts führen Sie das Skript aus, das Sie in Schritt 1 erstellt haben.


    script-name domain-path old-password new-password
    
  4. Starten Sie die Domäne, die Sie in Schritt 2 erstellt haben.


    asadmin start-domain domain-name
    

    Da die Domäne über ein benutzerdefiniertes Master-Passwort verfügt, werden Sie zur Eingabe des Master-Passworts aufgefordert.

  5. Geben Sie das neue Master-Passwort ein.

  6. Für Domänen, die für die Clusterunterstützung konfiguriert wurden, erstellen und starten Sie einen Knotenagenten.

    1. Erstellen Sie einen Knotenagenten für die Domäne, die Sie in Schritt 2 erstellt haben.


      asadmin create-node-agent --port portno --user admin-user
      
    2. Starten Sie den Knotenagenten, den Sie in Schritt a. erstellt haben.


      asadmin start-node-agent
      

      Da die Domäne über ein benutzerdefiniertes Master-Passwort verfügt, werden Sie zur Eingabe des Master-Passworts aufgefordert.

    3. Geben Sie das neue Master-Passwort ein.

Siehe auch

Die folgenden Enterprise Server-Manpages:

AIX: 0403-027 The parameter list is too long (6625591)

Beschreibung

Unter einem AIX-Betriebssystem schlagen einige mit dem Betriebssystem verknüpfte Operationen möglicherweise mit folgendem Fehler fehl:


0403-027 The parameter list is too long

Beispiele für Operationen, die mit dem Betriebssystem verknüpft sind, sind die Bereitstellung von Anwendungen oder das Ausführen des Anwendungsclientcontainers.

Dieses Problem wird üblicherweise durch lange Dateipfade in der Umgebungsvariable CLASSPATH verursacht.

Lösung

Wählen Sie eine der folgenden Lösungen:

Procedure(AIX) So erhöhen Sie die maximale Länge der Befehlszeile

Das ncargs-Attribut bestimmt die maximale Länge der Befehlszeile, einschließlich Umgebungsvariablen. Unter AIX-Betriebssystemen lautet der Standardwert des ncargs-Attributs vier, 4–KB-Blöcke. Um sicherzustellen, dass Enterprise Server-Befehle die maximale Länge der Befehlszeile nicht überschreiten, erhöhen Sie diesen Wert auf 16 4–KB-Blöcke.


Hinweis –

Nachdem Sie das ncargs-Attribut geändert haben, ist kein Neustart und keine Aktualisierung von Daemons erforderlich.


  1. Ermitteln Sie den Wert des ncargs-Attributs.


    lsattr -EH -l sys0 | grep ncargs
    
  2. Wenn der Wert von ncargs geringer ist als 16 4–KB-Blöcke, erhöhen Sie den Wert auf 16.


    chdev -l sys0 -a ncargs=16