Bei dem Versuch, die Administrationsoberfläche von Sun ONE Application Server mit dem Standardbrowser des Betriebssystems Solaris 9 4/03 auszuführen, wird diese Fehlermeldung angezeigt:
Unsupported Browser: Netscape 4.78 It is recommended that you upgrade your browser to Netscape 4.79 or Netscape 6.2 (or later) to run the Sun One Application Server Administrative UI. Those who choose to continue and not upgrade may notice degraded performance or unexpected behavior. |
Zur Ausführung der Version der Sun ONE Application Server-Administrationsoberfläche, die im Betriebssystem Solaris 9 4/03 enthalten ist, benötigen Sie Netscape 4.79 or Netscape 7.0.
Lösung: Verwenden Sie /usr/dt/appconfig/SUNWns/netscape anstatt /usr/dt/bin/netscape.
In einigen Versionen von Netscape NavigatorTM ist die Bearbeitung von Sun ONE Application Server-ACLs (Zugriffskontrolllisten) nicht möglich. Wenn Sie versuchen, ACL-Einträge zu bearbeiten, während Netscape Navigator 6.x oder 7.x läuft, können kurzzeitige Probleme auftreten.
Zum Beispiel:
Das Browserfenster verschwindet.
Der ACL-Bearbeitungsbildschirm wird nicht angezeigt.
Lösung: Wählen Sie eine der folgenden Problemlösungen:
Verwenden Sie entweder die unterstützte Version 4.79 von Netscape Navigator oder Microsoft Internet Explorer 6.0.
Bearbeiten Sie die ACL-Datei von Hand. Einzelheiten zur Formatierung von ACL-Dateien finden Sie in Sun ONE Application Server 7 Administrator's Guide.
Wenn Sie mit einem Oracle® 9.2-Client auf eine Oracle 9.1-Datenbank zugreifen, in der eine Zahlenspalte auf eine Zeitmarkenspalte folgt, kann dies eine Beschädigung der Daten zur Folge haben.
Das Problem wird wahrscheinlich durch die Anwendung der Datei ojdbc14.jar auf eine Oracle 9.1-Datenbank verursacht. Eine Patch-Anwendung kann im Fall von 32-Bit-Solaris-Systemen mit Oracle 9.1-Datenbanken Abhilfe schaffen. Dieser JDBCTM-Treiber ist für Oracle im Zusammenhang mit JDKTM 1.4 vorgesehen.
Lösung: Wenden Sie den Patch für Bug 2199718, den Oracle voraussichtlich auf der eigenen Website zur Verfügung stellt, auf Ihren Server an.
Bei einer Persistence Manager Factory-Ressource, die über die Befehlszeilenschnittstelle erzeugt wurde, wird ein Prüffehler gemeldet. Wenn die Ressource in der Sun ONE Application Server-Administrationsoberfläche angezeigt wird, erscheint die folgende Fehlermeldung.
ArgChecker Failure: Validation failed for jndiName: object must be non-null |
Lösung: Erzeugen Sie wie folgt eine neue Persistence Management Factory-Ressource.
Erzeugen Sie einen jdbc-Verbindungspool mit Datenquelleninformationen für die Verbindung mit einer Datenbank.
Erstellen Sie ein jdbc-Ressource, um den Verbindungspool über eine Java Naming and Directory InterfaceTM (J.N.D.I.)-Suche auffindbar zu machen.
Erzeugen Sie dann eine Persistence-Management-Ressource mit der in Schritt 2 erstellten jdbc-Ressource.
Der Wert any im Adressenattribut des iiop-listener-Elements in der Datei server.xml lässt die Überwachung aller in einem System verfügbaren Schnittstellen zu. Dies gilt sowohl für IPv4- als auch für IPv6-Schnittstellen. In der Standardkonfiguration von Sun ONE Application Server lautet der Adressenwert für das iiop-listener-Element aber 0.0.0.0. Diese Standardkonfiguration überwacht keine IPv6-Schnittstellen. Gemäß dieser Konfiguration werden lediglich alle IPv4-Schnittstellen eines Systems überwacht.
Lösung: Verwenden Sie den Wert :: im Adressenattribut des iiop-listener-Elements in der Datei server.xml, um alle IPv4- und IPv6-Schnittstellen eines Systems zu überwachen.
Der Versuch, Sun ONE Application Server nach der Installation eines Zertifikats und der Aktivierung der Sicherheitsfunktion neu zu starten, schlägt fehl. Es wird gemeldet, dass der Server kein Passwort erhalten hat.
Wenn SSL nicht aktiviert ist, werden Passwörter nicht in den Cache gestellt, und dies führt zum Scheitern des Neustarts. Der Befehl restart unterstützt den Wechsel von der Betriebsart ohne SSL in die Betriebsart mit aktiviertem SSL nicht.
Dieses Problem tritt nur beim ersten Neustart des Servers auf. Nachfolgende Neustartversuche gelingen problemlos.
Lösung: Wählen Sie eine der folgenden Problemlösungen:
Wenn das Problem auftritt, klicken Sie auf "Start“.
Um das Problem zu vermeiden, klicken Sie nicht auf "Restart“, sondern führen Sie die folgenden Schritte aus:
Klicken Sie auf "Stop“.
Klicken Sie auf "Start“.
Beim dynamischen Neuladen von Anwendungen, die viele Enterprise JavaBeansTM-Komponenten enthalten, stürzt der Server unter Umständen ab. Die dynamische Neuladefunktion wird in Entwicklungsumgebungen gerne dazu eingesetzt, kleinere Änderungen an Anwendungen ohne großen Zeitaufwand zu testen. Der Absturz ist darauf zurückzuführen, dass weniger Dateideskriptoren verfügbar sind, als benötigt werden.
Lösung: Führen Sie die folgenden Schritte durch:
Fügen Sie Zeilen in folgendem Format in die Datei /etc/system ein, um den Grenzwert für die Dateideskriptoren zu erhöhen.
set rlim_fd_max=8192
set rlim_fd_cur=2048
Je nach der Größe der Anwendung können die Werte höher oder niedriger gesetzt werden.
Starten Sie das System neu.
Wenn die Standardkodierung des Systems nicht UTF-8 ist, werden Multibytezeichen in der Ausgabe von Application Server möglicherweise falsch angezeigt.
Lösung: Öffnen Sie die Datei server.log in Ihrem Webbrowser.
Wenn Sie über die Sun ONE Application-Administrationsoberfläche ein externes Zertifikat installieren und SSL anhand des auf dem externen Verschlüsselungsmodul installierten Zertifikats für den HTTP-Listener aktivieren möchten, treten Probleme auf. Die Installation des Zertifikats ist zwar erfolgreich verlaufen, doch dessen Nickname wird in der Administrationsoberfläche nicht angezeigt.
Lösung: Führen Sie die folgenden Schritte durch:
Melden Sie sich auf dem System, auf dem die Sun ONE Application Server-Software installiert ist, als Administrator an.
Stellen Sie mit dem Befehl asadmin eine Verknüpfung zwischen http-listener und dem auf dem externen Verschlüsselungsmodul installierten Zertifikat her. Weitere Informationen zum Befehl asadmin finden Sie in der Manpage asadmin(1AS).
# asadmin create-ssl --user Administrator--password \ Passwort --host Hostname \ --port Port --type http-listener --certname jemand@apprealm:Server-Zert \ --instance Instanz --ssl3enabled=true \ --ssl3tlsciphers +rsa_rc4_128_md5 http-listener-1 |
Dieser Befehl erzeugt den Link zwischen Zertifikat und Serverinstanz. Er dient nicht zum Installieren des Zertifikats. Das Zertifikat wurde bereits über die Administrationsoberfläche installiert.
Nun ist das Zertifikat mit http-listener verknüpft, aber SSL ist noch nicht für die Überwachung aktiviert.
Aktivieren Sie SSL für die Überwachung durch http-listener. Verwenden Sie dazu den folgenden Befehl:
# asadmin set --user Administrator --password Passwort --host Hostname \ --port Port server1.http-listener.http-listener-1.securityEnabled=true |
Dieser Befehl schaltet die Server-Instanz vom Überwachungsstatus ohne SSL in den Modus mit aktiviertem SSL. Nach diesen Schritten wird das Zertifikat in der Administrationsoberfläche angezeigt.
Nun können Sie http-listener über die Administrationsoberfläche beliebig bearbeiten.
Wenn Sie die Sun ONE Application Server-Software im Betriebssystem Solaris 9 4/03 ausführen und den Befehl flexanlg aus /usr/appserver/bin ausgeben, wird der folgende Öffnen-Fehler gemeldet:
ld.so.1: /usr/appserver/bin/flexanlg: fatal: libplc4.so:open failed: No such file or directory killed |
Lösung: Führen Sie die folgenden Schritte durch:
Fügen Sie den folgenden Eintrag in die Datei LD_LIBRARY_PATH ein.
/usr/lib/mps
Führen Sie den Befehl flexanlg aus.
% /usr/appserver/bin/flexanlg
Dieses Problem trifft nicht auf Netzwerke zu, in welchen IPv6 nicht verwendet wird.
Standardmäßig arbeiten die Sun ONE Application Server 7- und Admin Server-Instanzen mit IPv4. IPv4 wird von allen Betriebssystemen unterstützt, in welchen Sun ONE Application Server verfügbar ist. Auf Plattformen mit Unterstützung für IPv6 sind zum Zweck der Konformität Änderungen in der Konfiguration von Sun ONE Application Server erforderlich.
Diese Konfigurationsänderungen dürfen nur durchgeführt werden, wenn kein Zweifel daran besteht, dass die IPv6-Unterstützung gegeben ist. Wenn die auf IPv6 abgestimmte Konfiguration auf ein System angewendet wird, das nur IPv4 unterstützt, dann starten die Application Server-Instanzen möglicherweise nicht.
Lösung: Nehmen Sie die folgenden Konfigurationsänderungen vor:
Starten Sie Admin Server.
Starten Sie Admin Console, indem Sie in einem Browser eine Verbindung zum Admin Server-HTTP-Host oder -Port herstellen.
Wählen Sie die für IPv6 zu konfigurierende Server-Instanz, z. B. server1.
Blenden Sie den HTTP-Listener-Knoten in der hierarchischen Ansicht ein.
Wählen Sie den für IPv6 zu konfigurierenden HTTP-Listener, z. B. http-listener1.
Ändern Sie den Wert des IP-Addressenfelds im Bereich "General“ auf ANY ab.
Im Bereich "Advanced“ ändern Sie den Wert im Feld "Family“ auf INET6 ab.
Solange keine IPv6-Adresse als IP-Adresse angegeben ist, wird die IPv4-Funktion durch diese Wertänderung nicht deaktiviert. Da der IP-Adressenwert ANY gewählt ist, treffen alle IPv4- oder IPv6-Adressen zu.
Klicken Sie auf "Sichern“.
Wählen Sie im linken Feld die Server-Instanz.
Klicken Sie auf "Apply Changes“.
Klicken Sie auf "Stop“.
Klicken Sie auf "Start“.
Der Server startet neu und implementiert die Änderungen.
Bei dem Versuch, ein Sample mehrmals bereitzustellen, nachdem kleine Änderungen daran vorgenommen wurden und die Anwendung neu gepackt wurde, wird die folgende Fehlermeldung angezeigt:
Already Deployed |
Dieses Problem betrifft die meisten Samples, da sie mit dem Dienstprogramm Ant und der Datei common.xml arbeiten und deren Ziel deploy ist. In dieser Kombination wird also die Bereitstellung von Anwendungen mit der Registrierung von Ressourcen vermischt.
Lösung: Wählen Sie eine der folgenden Problemlösungen:
Für die große Mehrheit der Sample-Anwendungen, die mit den build.xml-Dateien des Dienstprogramms ANT und folglich auch der Datei common.xml arbeiten, geben Sie diesen Befehl ein:
% asant deploy_common |
Für alle anderen Sample-Anwendungen geben Sie diese Befehle ein:
% asant undeploy % asant deploy |
Der Manager für lokale Transaktionen, Local Transaction Manager, unterstützt keine Transaktionen mit definierter Zeitüberschreitungseinstellung. Wenn Sie das Attribut für die Länge der Zeitüberschreitung in Sekunden (timeout-in-seconds) im Transaktionsdienst-Element auf einen Wert ungleich 0 setzen, werden sämtliche lokalen Transaktionen als globale Transaktionen verarbeitet. Ein Zeitüberschreitungswert von 0 bedeutet, dass der Transaktionsmanager bei ausbleibender Reaktion der beteiligten Datenquelle auf unbestimmte Zeit wartet.
Wenn der Treiber der Datenquelle keine globalen Transaktionen unterstützt, kann es mitunter zu einem Fehlschlag lokaler Transaktionen kommen.
Lösung: Setzen Sie den Wert für timeout-in-seconds auf den Standardwert 0 zurück.
Für die Verwendung von Oracle JDBC-Optimierungen mit CMP(Container-Managed Persistence)-Beans muss classes12.zip im classpath-Suffixattribut der Datei server.xml angegeben sein. Stellen Sie die Datei classes12.zip nicht in instance/lib/, das Standardverzeichnis für Fremdhersteller-Bibliotheken.
Lösung: Fügen Sie die Datei classes12.zip an das classpath-Suffixattribut der Datei server.xml an.
Wenn root der Eigentümer von Admin Server ist und ein anderer Benutzer als root der Eigentümer der Server-Instanz, können beim dynamischen Neuladen oder beim Aufruf von Anwendungen Berechtigungsprobleme auftreten.
Lösung: Setzen Sie nach der Bereitstellung und erneuten Bereitstellung des Moduls bzw. der Anwendung (mit oder ohne precompile-Option) den Verzeichniseigentümer der nachfolgenden Verzeichnisse von root auf den Nicht-root-Benutzer, also den Eigentümer der Instanz.
Die Änderung des Verzeichnisbesitzes sollte auf Grundlage des Anwendungstyps rekursiv auf alle Verzeichnisse in der folgenden Liste angewendet werden:
Domain-root/Server-Instanz /applications/j2ee-apps/Anwendungsname
Domain-root/Server-Instanz /applications/j2ee-modules/Modulname
Domain-root/Server-Instanz /generated/ejb/j2ee-apps/Anwendungsname
Domain-root/Server-Instanz /generated/jsp/j2ee-apps/Anwendungsname
Domain-root/Server-Instanz /generated/jsp/j2ee-modules/Modulname
Melden Sie sich als Superuser an.
Geben Sie für alle auf Ihr System zutreffenden Verzeichnisse den folgenden Befehl ein:
# chown -R Nicht-root-Benutzer Verzeichnisname |
Schlägt eine DNS-Suche nach einer IPv6-Adresse fehl, dann funktionieren RMI-IIOP(Remote Method Invocation-Internet Inter-ORB Protocol)-Clients im Zusammenhang mit IPv6-Adressen nicht.
Lösung: Für die Suche nach IPv6-Adressen muss am Installationsstandort DNS (Domain Name Service) eingerichtet werden.
Wenn Sie Multibytezeichen in das Feld Only show entries with eingeben und das Ereignisprotokoll durchsuchen, wird der Wert im Feld Only show entries with bei der Anzeige des Suchergebnisses fehlerhaft angezeigt. Dieses Problem ist auf die Konvertierung des Meldungsformats von UTF-16 zu UTF-8 zurückzuführen.
Lösung: Keine.