Sun Java System Application Server Enterprise Edition 8.2 ist ein mit der Plattform J2EE 1.4 kompatibler Server für die Entwicklung und Bereitstellung von J2EE-Anwendungen und auf Java-Technologie basierenden Webservices in großen Produktionsumgebungen.
Dieses Kapitel hat folgenden Inhalt:
Application Server Enterprise Edition 8.2 enthält folgende Erweiterungen:
Verbesserte Verwaltung – Application Server unterstützt die sichere Remote-Verwaltung von bereitgestellten Anwendungen in komplexen Unternehmensnetzwerken. Die Verwaltung erfolgt entweder über eine browserbasierte Konsole oder eine skriptfähige Befehlszeilenschnittstelle. Das Programm stellt außerdem eine reichhaltige JMX-basierte API bereit, über die ein entfernter, sicherer, programmatischer Zugriff auf administrative Funktionen und Überwachungsfunktionen ermöglicht wird.
Message Broker – Application Server wird im Paket mit einem integrierten Message Broker der Enterprise-Klasse zur Verfügung gestellt, dessen Funktionen hochverfügbares, zuverlässiges, leistungsstarkes sowie skalierbares Messaging ermöglichen.
Message Queue 3.7 –Application Server implementiert nun MQ 3.7.
Erweiterte Plattformunterstützung – Es werden zusätzliche Betriebssysteme, Datenbanken, Umgebungen und Hardware unterstützt.
Sun Java Enterprise System – Als eine der Schlüsselkomponenten von Sun Java Enterprise System besteht ein enges Zusammenspiel zwischen Application Server und Portal- und Netzwerk-Identitätsdiensten.
Migrations- und Upgrade-Tools – Mit diesen Tools können J2EE-Anwendungen auf Übereinstimmung mit Standards sowie auf Portabilität geprüft werden. Sie erhalten Unterstützung bei der Migration von anderen J2EE Application Server-Instanzen (JBoss, WebLogic, WebSphere) und bei der Aktualisierung früherer Versionen von Sun ONE Application Server/iPlanet Application Server.
Java 2 Standard Edition 5.0-Unterstützung – Application Server unterstützt Java 2 Standard Edition 5.0 und bietet verbesserte Verwaltungs- und Überwachungsfunktionen sowie zahlreiche Verbesserungen im Bereich der Performance und Skalierbarkeit.
Plugin-Support für Java Web Services Developer Pack 1.6 (JWDSP) – Sämtliche JWSDP-Plugins werden jetzt unterstützt. JWSDP 1.6 kann nun kostenlos unter http://java.sun.com/webservices/downloads/1.6/index.html heruntergeladen werden.
Unterstützung für die Datenbank Java DB — Application Server beinhaltet die Datenbank Java DB database, auf der Grundlage von Apache Derby. Rückwärtskompatibilität mit der Pointbase-Datenbank bleibt erhalten, aber für alle neuen Datenbanken, die auf dem Server erstellt werden, wird standardmäßig Java DB verwendet. Nach der Aufrüstung von Application Server 8.x verwenden die bestehenden Domänen weiterhin PointBase, alle neuen Domänen, die nach der Aufrüstung erstellt werden, verwenden jedoch Java DB.
JDBC-Treiber – Application Server wird im Bundle mit JDBC-Treibern von Sun angeboten.
Webservices-Sicherheit – Containermeldungs-Sicherheitsmechanismen stellen die Authentifizierung auf Meldungsebene (z. B. durch digitale XML-Signatur und Verschlüsselung) von SOAP-Webservices-Aufrufen unter Verwendung der X509- und Benutzername/Passwort-Profile des OASIS WS-Security-Standards bereit.
WS-I Basic Profile 1.11 – Entsprechend der J2EE 1.4-Spezifikation wird in dieser Version die Interoperabilität für Webservices-Anwendungen durch Web Services Interoperability (WS-I) Basic Profile 1.1 ermöglicht.
Back-End-Kommunikation mit iWay-Adaptern – Von Sun Microsystems werden inzwischen 22 iWay-Adapter für Back-End-Schlüsselsysteme (SAP, Siebel, Oracle, CICS und IBM MQ Series) weiterveräußert und unterstützt. Auf diese Weise können Kunden den vollen Nutzen aus vorhandenen IT-Anwendungen in der Application Server-Umgebung ziehen. Diese Adapter unterstützen die Spezifikation von J2EE Connector Architecture 1.5 und Webservices (SOAP)-Standards. Sie enthalten Entwicklertools, um die Zeit für den Verbindungsaufbau mit Back-End-Anwendungen zu verringern.
Aktuelles HADB-Managementsystem – Die UNIXTM-Plattformen enthalten das neue hochverfügbare Datenbank (HADB)-Managementsystem (HADB-Version 4.4.3). Dieses System enthält einen Datenbankserver, einen Treiber für ODBC 2.5, einen Treiber vom Typ 4 für JDBC 3.0, clusql (ein interaktives Programm zum Eingeben und Ausführen von SQL-Anweisungen) sowie ein Managementsystem. Diese Version ist nicht mehr von SSH/RSH abhängig, erfordert aber, dass das Netzwerk für UDP-Multicast konfiguriert wird. Weitere Informationen zu den HADB-Anforderungen und -Beschränkungen finden Sie im Sun Java System Application Server Enterprise Edition 8.2 High Availability Administration Guide .
Solaris 10-Zonensupport – Application Server kann sowohl in einer globalen als auch in einer nicht globalen Zone auf Solaris 10-Systemen installiert werden. Weitere Informationen zu Solaris-Zonen finden Sie unter Solaris Zones.
Technologien für dynamische Inhalte werden nicht mehr unterstützt – Technologien für dynamische Inhalte, wie CGI-bin und SHTML, werden nicht mehr unterstützt.
Dieser Abschnitt listet die Anforderungen auf, die erfüllt werden müssen, bevor Sie das Produkt Sun Java System Application Server Enterprise Edition 8.2 installieren können.
In den folgenden Tabellen werden die Betriebssysteme aufgelistet, die das Produkt Sun Java System Application Server Enterprise Edition 8.2 unterstützen. Zusätzlich werden die jeweiligen minimalen und empfohlenen Speicheranforderungen für die Installation und das Ausführen von Application Server angegeben.
Tabelle 2–1 Plattformanforderungen für Sun Java System Application Server 8.2
Die oben für Application Server aufgeführten Systemvoraussetzungen und die in HADB-Anforderungen und unterstützte Plattformen für HADB aufgeführten Systemvoraussetzungen stimmen nicht genau überein. Hierbei liegt kein Fehler in der Dokumentation vor. Es ist nicht unüblich, Application Server und einen HADB-Server auf verschiedenen Computern auszuführen.
Unter UNIX können Sie die Version Ihres Betriebssystems anzeigen, indem Sie den Befehl uname ausführen. Um den Festplattenspeicherplatz anzuzeigen, führen Sie den Befehl df aus.
Sie müssen anstatt FAT bzw. FAT32 das Dateisystem NTFS verwenden, wenn Sie Application Server auf einer Microsoft Windows-Plattform ausführen.
Für Benutzer der Betriebssysteme Solaris 9, 10 (x86 SPARC) wird empfohlen, das “von Sun empfohlene Patch-Cluster” zu installieren. Dieses Patch-Cluster steht auf SunSolve unter Recommended and Security Patches zur Verfügung.
Um programmeigene Komponenten dieses Produkts, darunter den Installer, auszuführen, muss das folgende Paket, das nicht zum Standardumfang von RedHat Enterprise Linux 3.0 gehört, installiert werden: compat-libstdc++-7.3-2.96.118.i386.rpm
Das Paket kann von der Seite http://rpm.pbone.net/index.php3/stat/4/idpl/843376/com/compat-libstdc++-7.3-2.96.118.i386.rpm.html heruntergeladen werden.
Sun Java System Application Server wurde so konzipiert, dass eine Konnektivität mit jedem DBMS mit einem entsprechenden JDBC-Treiber unterstützt wird. In der folgenden Tabelle finden Sie eine Liste mit Komponenten, die laut Sun-Test zum Erstellen von J2EE-kompatiblen Datenbankkonfigurationen geeignet sind:
Tabelle 2–2 J2EE-kompatible JDBC-Treiber
JDBC-Hersteller |
JDBC-Treibertyp |
Unterstützte Datenbank-Server |
---|---|---|
i-net-Software |
Typ 4 |
Oracle (R) 8.1.7, 9i, 9.2.0.3+, 10.1.x, 10.2. x Sybase ASE 12.5. Microsoft SQL Server 2000 4.0 Service Pack 1 |
IBM |
Typ 2 |
IBM DB2 8.1 Service Pack 3+ |
Java DB |
Typ 4 |
Apache Derby 10.1.3 |
PointBase |
Typ 4 |
PointBase Network Server 5.2 |
DataDirect |
Typ 4 |
Oracle (R) 8.1.7, 9i, 9.2.0.3+, 10.1.x, 10.2. x Sybase ASE 12.5.2 Microsoft SQL Server IBM DB2 8.1 Service Pack 3+ |
MySQL |
Typ 4 |
5.x |
Sun Java System JDBC-Treiber für Oracle |
Typ 4 |
Oracle (R) 9.2.0.3, 10G |
Sun Java System JDBC-Treiber für DB2 |
Typ 4 |
IBM DB2 8.1 Service Pack 3+ |
Sun Java System JDBC-Treiber für Sybase |
Typ 4 |
Sybase ASE 12.5.2 |
Sun Java System JDBC-Treiber für Microsoft SQL Server |
Typ 4 |
Microsoft SQL Server 2000 4.0 Service Pack 1 |
Oracle |
Typ 4, Typ 2 |
Oracle (R) 9.2.0.3, 10G |
In diesem Abschnitt finden Sie Anweisungen zur Verwendung der mit Application Server 8.2 gebündelten Java DB-Datenbank.
Sun Java System Application Server 8.2 führt zwei neue asadmin-Befehle zum Starten und Anhalten des Java DB-Netzwerkservers ein.
Mit dem Befehl start-database kann eine Instanz des Java DB-Netzwerkservers gestartet werden:
start-database [--dbhost 0.0.0.0] [--dbport 1527] [--dbhome path/derby] |
Der Standardwert für den Host lautet 0.0.0.0. Dadurch kann Java DB localhost sowie die IP-/Hostnamen-Schnittstellen abhören. Der Wert für die Eigenschaft dbhome ist der Standort der Java DB-Datenbanken. Der Standardwert für den Pfad lautet <appserver_install_dir>/derby.
Der Befehl asadmin stop-database dient zum Herunterfahren einer Instanz des ausgeführten Java DB-Netzwerkservers:
stop-database [--dbhost 0.0.0.0] [--dbport 1527] |
Die im Lieferumfang von Application Server 8.2 enthaltene Java DB-Konfiguration umfasst mehrere nützliche Skripts, die Sie bei der Verwendung von Java DB unterstützen können. Folgende Skripts stehen zur Verwendung im Verzeichnis <appserver_install_dir> /derby/frameworks/NetworkServer/bin zur Verfügung:
startNetworkServer.ksh/bat – Skript zum Starten des Netzwerkservers
stopNetworkServer.ksh/bat – Skript zum Anhalten des Netzwerkservers
ij.ksh/bat — interaktives JDBC-Skripting-Tool
dblook.ksh/bat – Skript zur vollständigen bzw. teilweisen Anzeige der DLL für eine Datenbank
sysinfo.ksh/bat — Skript zur Anzeige der Versionsverwaltungsinformationen in Bezug auf die Java DB-Umgebung
NetworkServerControl.ksh/bat — Skript, das eine Möglichkeit zur Ausführung der Befehle auf der NetworkServerControl -API bietet.
Legen Sie die Umgebungsvariable DERBY_INSTALL so fest, dass sie auf das Verzeichnis <appserver_install_dir>/derby verweist.
Heben Sie die Festlegung der Umgebungsvariablen CLASSPATH auf.
Optional können Sie folgende Eigenschaften festlegen:
Weitere Informationen zu diesen Dienstprogrammen finden Sie in den Derby-Handbüchern zu Tools und Admin.
Dieses Beispiel zeigt, wie mithilfe von Netbeans 5.0 die DLL für eine Tabelle in Pointbase erfasst und dieselbe Tabelle in Java DB erstellt werden kann. Eine weitere Option hierfür besteht in der Verwendung des Commander-Tools und des Befehls unload database:
./startcommander.sh Do you wish to create a new Database. (Yes (Y) or No (N))? [default: N]: Enter product to connect with: (Embedded (E) or Server (S))? [default: E]: e Enter driver to use? [default: [com.pointbase.jdbc.jdbcUniversalDriver]: Enter database URL? [default: [jdbc:pointbase:embedded:sample]: Enter Username? [default: PBPUBLIC]: Enter Password? [default: PBPUBLIC]: PointBase Commander 5.2 ECF build 294 size restricted version EMBEDDED Interactive SQL command language. SunOS/5.9 (C) Copyright 2004 DataMirror Mobile Solutions, Inc. All rights reserved. Licensed to: Sun_customer_demo_use For commercial version contact PointBase at: pointbase.com PHONE: 1-877-238-8798 (US & CANADA) 1-408-961-1100 (International) WEBSITE: www.pointbase.com SQL>unload database sampledb.sql; SQL> unload database sampledb.sql; SQL> 13 Row(s) Unloaded. (PBPUBLIC.CUSTOMER_TBL) SQL> 4 Row(s) Unloaded. (PBPUBLIC.DISCOUNT_CODE_TBL) SQL> 30 Row(s) Unloaded. (PBPUBLIC.MANUFACTURE_TBL) SQL> 11 Row(s) Unloaded. (PBPUBLIC.MICRO_MARKETS_TBL) SQL> 9 Row(s) Unloaded. (PBPUBLIC.OFFICE_TBL) SQL> 4 Row(s) Unloaded. (PBPUBLIC.OFFICE_TYPE_CODE_TBL) SQL> 15 Row(s) Unloaded. (PBPUBLIC.ORDER_TBL) SQL> 6 Row(s) Unloaded. (PBPUBLIC.PRODUCT_CODE_TBL) SQL> 30 Row(s) Unloaded. (PBPUBLIC.PRODUCT_TBL) SQL> 10 Row(s) Unloaded. (PBPUBLIC.SALES_REP_DATA_TBL) SQL> 10 Row(s) Unloaded. (PBPUBLIC.SALES_REP_TBL) SQL> 52 Row(s) Unloaded. (PBPUBLIC.SALES_TAX_CODE_TBL) SQL> 12 Table(s) Unloaded. SQL> quit;
Die Ergebnisse der Ausführung des Befehls unload database werden im oben stehenden Beispiel in die Datei sampledb.sql geschrieben. Die Datei sampledb.sql enthält die gesamte, für die Erstellung der erforderlichen Tabellen und Indizes nötige DDL. Außerdem enthält sie die DML, die zum Wiedereinfügen der Daten in die Datenbank erforderlich ist. Der Commander-Befehl RUN ist für den Import der Daten in eine andere Pointbase-Datenbank gedacht, unter Verwendung des generierten Skripts. Hier ein Beispiel für INSERT-Anweisungen und die zugehörigen Daten in der generierten Datei:
INSERT INTO "ADVENTURE"."CATEGORY" ( "CATID", "LOCALE", "NAME", "DESCRIPTION", "IMAGEURI" ) VALUES( ?, ?, ?, ?, ? ); { 'ISLAND ','en_US','Island Adventures','Experience an island / paradise in a way fit for your needs.','Island_Adventures.gif' 'JUNGLE ','en_US','Jungle Adventures','Experience a jungle / paradise in a way fit for your needs.','Jungle_Adventures.gif' 'MOUNTAIN ','en_US','Mountain Adventures','Experience an / elevated paradise with a view.','Mountain_Adventures.gif' 'ORBITAL ','en_US','Orbital Adventures','Experience a vacuum / paradise with a beautiful view and where no one can hear you scream.', / 'Space_Adventures.gif' 'WESTERN ','en_US','Western Adventures','Enjoy the Wild West. / ','Western_Adventures.gif' 'SOUTH_POLE ','en_US','South Pole Adventures','Experience a / frozen paradise in a way fit for your needs.','SouthPole_Adventures.gif' };
Die über den Commander-Befehl unload database erstellte Datei kann problemlos so bearbeitet werden, dass sie nur aus der DDL besteht (beispielsweise ist es einfach, ein Programm zu schreiben, das die insert-Anweisungen verarbeitet). Als einfaches Beispiel wenden wir den Befehl "unload database" auf die sample-Datenbank an und bearbeiten anschließend das generierte Skript, indem wir folgende Änderungen vornehmen:
Entfernen des Ausdrucks Organisations-Heap vom Ende aller CREATE Table-Anweisungen
Entfernen des Befehls COMMIT
Ändern des booleschen Datentyps in smallint
Entfernen aller INSERT-Anweisungen und zugehörigen Daten
Als nächstes wird ein einfaches Ant-Skript zur Ausführung der DLL mithilfe des sql -Ziels verwendet. Schließlich wird dasselbe Experiment für die Datenbank sun-appserv-samples wiederholt, wobei folgende zusätzliche Änderungen an der generierten SQL-Datei erforderlich sind:
Vornehmen aller Änderungen wie oben für die Beispieldatenbank ("sample") beschrieben.
Entfernen der Befehle vom Typ create user
Entfernen der Befehle vom Typ SET PATH
Ändern der Dezimalgenauigkeit von 38 auf Max. von 31
Ändern der Gleitkommatgenauigkeit von 64 auf Max. von 52
Das Schlüsselwort SPECIFIC für CREATE PROCEDURE wird derzeit nicht unterstützt
Entfernen der Befehle vom Typ GRANT
Um die Pointbase-Java-Vorgänge für die Zusammenarbeit mit Java DB zu konvertieren, sind einige Änderungen am Java-Code sowie an den CREATE PROCEDURE-Anweisungen erforderlich. Informationen zur Erstellung der Java DB-Jav-Vorgänge finden Sie im Derby-Referenzhandbuch. Unterstützung für den Datentyp Boolesch sollte in der nächsten Version von Java DB vorliegen.
In diesem Abschnitt werden die Webserver aufgelistet, die für Sun Java System Application Server Enterprise Edition 8.2 unterstützt werden.
Tabelle 2–3 Unterstützte Webserver
Web Server |
Version |
Betriebssystem |
---|---|---|
Sun Java System Web Server |
6.1+ |
Solaris SPARC 8, 9, 10 Solaris x86 9, 10 Red Hat Enterprise Linux 2.1 Update 2, 3.0 Update 1 |
Apache Web Server |
1.3+, 1.4, 2.0 |
Solaris SPARC 9, 10 Solaris x86 10 Red Hat Enterprise Linux 2.1 Update 2, 3.0 Update 1 Windows Server 2003 Windows 2000 Advanced Server SP4+ Windows Server 2000 SP4+ Windows XP Pro SP1+ |
Microsoft IISTM |
5.0+ |
Windows Server 2003 Windows 2000 Advanced Server SP4+ Windows Server 2000 SP4+ Windows XP Pro SP1+ |
In diesem Abschnitt werden die Browser aufgelistet, die für Sun Java System Application Server Enterprise Edition 8.2 unterstützt werden.
Tabelle 2–4 Unterstützte Webbrowser
Browser |
Version |
---|---|
Mozilla |
1.4, 1.5, 1.6, 1.7.x |
Netscape Navigator |
4.79, 6.2, 7.0, 8.x |
Internet Explorer |
5.5 Service Pack 2, 6.0 |
Firefox |
1.4, 1.5 |
Neben den unter Hardware- und Software-Anforderungen aufgelisteten Anforderungen müssen Sie sicherstellen, dass Ihr System die unten zum Ausführen von HADB aufgelisteten Anforderungen erfüllt.
Die unter Plattformanforderungen für Application Server aufgeführten Systemvoraussetzungen und die hier für HADB angegebenen Systemvoraussetzungen stimmen nicht exakt überein. Hierbei liegt kein Fehler in der Dokumentation vor. Es ist nicht unüblich, Application Server und einen HADB-Server auf verschiedenen Computern auszuführen.
Die Java-Komponenten des Systems wurden mit JDK 1.4.2_02 erstellt und auf JDK 1.5_09 getestet.
Solaris (SPARC) – Solaris 8 MU7, Solaris 9 MU7, Solaris 10 RR.
Solaris (x86) – Solaris 9 MU7, Solaris 10 RR.
RedHat Enterprise Linux - 2.1 U5 (nur ext2-Dateisystem wird unterstützt, nicht ext3), 3.0 U4 (sowohl ext2 als auch ext3 werden unterstützt. Updates vor U4 werden aufgrund des exzessiven dynamischen Programmaustauschs nicht empfohlen). Beachten Sie, dass HADB auf diesen Betriebssystemversionen nur im 32-Bit-Modus getestet wird. Beachten Sie außerdem, dass HADB das Betriebssystem RedHat Enterprise Linux 3.0 bei Ausführung im 64-Bit-Modus nicht unterstützt. Ursache dafür ist ein Programmfehler im Betriebssystem [Details über die Auswirkungen auf HADB finden Sie unter dem bekannten Programmfehler (Bug) 6249685 im Abschnitt Hochverfügbarkeit].
Microsoft Windows – Microsoft Windows 2000 Advanced Server Service Pack 4 und Microsoft Windows 2003 Enterprise Edition. Beachten Sie, dass HADB keine der kommenden Betriebssystemversionen von Microsoft Windows im 64-Bit-Modus unterstützt.
Mindestens erforderlicher Speicher - 512 MB pro Knoten.
Mindestens erforderlicher freier Festplattenspeicher - 70 MB für HADB-Binärdateien pro Host. Darüber hinaus wird Festplattenspeicher für die Datengeräte benötigt, und zwar 512 MB für eine Testinstallation pro Knoten.
Empfohlener Speicher - 1 GB pro Knoten.
Empfohlener freier Festplattenspeicher - 70 MB für HADB-Binärdateien pro Host. Darüber hinaus wird Festplattenspeicher für die Datengeräte benötigt, und zwar 1200 MB für eine Testinstallation pro Knoten.
Stellen Sie sicher, dass das Schreibcaching auf Geräten deaktiviert ist, auf denen HADB-Daten- und Protokolldateien gespeichert werden. Das Schreibcaching ist auf einigen Solaris-Plattformen standardmäßig aktiviert; zum Beispiel Solaris x86.
Mindestens erforderlicher Speicher - 128 MB
Mindestens erforderlicher freier Festplattenspeicher - 70 MB für HADB-Binärdateien pro Knoten
Mindestens erforderlicher Speicher - 120 MB
Mindestens erforderlicher freier Festplattenspeicher - 20 MB
Das gegenwärtige Upgrade einer vorherigen Application Server-Version wird nicht unterstützt. Umfassende Anweisungen zum Upgraden von einer vorherigen Version von Application Server auf die aktuelle Version finden Sie im Application Server Enterprise Edition Upgrade and Migration Guide.
Die folgenden weiteren Anforderungen müssen erfüllt sein, bevor die Software Sun Java System Application Server installiert wird.
Freier Speicheplatz – Für die Sun Java System Application Server-Installation müssen dem temporären Verzeichnis mindestens 35 MB freier Speicherplatz zugewiesen sein; für die SDK-Installation werden 250 MB freier Speicherplatz benötigt.
Verwendung des Deinstallationsprogramms — Wenn Sie Application Server von Ihrem System entfernen müssen, sollten Sie unbedingt das mit der Software gelieferte Deinstallationsprogramm verwenden. Wenn Sie die Deinstallation auf eine andere Art vornehmen, entstehen Probleme bei der Neuinstallation derselben bzw. einer neueren Version.
Freie Ports — Es müssen sieben freie Ports zur Verfügung stehen.
Das Installationsprogramm erkennt automatisch bereits verwendete Ports und schlägt derzeit nicht verwendete Ports für die Standardeinstellungen vor. Die standardmäßig verwendeten Portnummern sind 8080 für HTTP, 8181 für HTTPS und 4849 für Administration Server.
Das Installationsprogramm erkennt verwendete Ports und weist zwei weitere zu: Sun Java System Message Queue (Standard-Portnummer 7676) und IIOP (Standard-Portnummer 3700 für IIOP und 1060 und 1061 für IIOP/SSL). Werden diese Standard-Portnummern bereits verwendet, wählt das Installationsprogramm eine zufällig ausgewählte dynamische Portnummer (beachten Sie, dass diese Nummer nicht die nächste verfügbare Portnummer ist).
Starten von vorher installierten Servern (UNIX) – Wenn Sie den vorher installierten Server nicht ersetzen möchten, müssen Sie ihn starten, bevor Sie mit dem Installationsprozess von Sun Java System Application Server 8.2 beginnen. Das Installationsprogramm erkennt dadurch verwendete Ports und weist diese Ports nicht neu zu.
Ersetzen von vorher installierten Servern (UNIX) — Wenn Sie eine ältere Version auf Sun Java System Application Server installiert haben, die Sie durch die aktuelle Version von Application Server ersetzen möchten, müssen Sie den Server beenden, bevor Sie den neuen Server installieren. Verwenden Sie den Assistenten des Installationsprogramms zum Aufrüsten des Servers.
Firewall beenden (Microsoft Windows) – Da die Firewall-Software standardmäßig alle Ports deaktiviert, müssen Sie die Software beenden, bevor Sie mit der Installation von Sun Java System Application Server beginnen. Das Installationsprogramm muss feststellen können, welche Ports tatsächlich verfügbar sind.
Weitere Kompatibilitätsinformationen finden Sie im Sun Java System Application Server Enterprise Edition 8.2 Upgrade and Migration Guide .
In diesem Abschnitt werden die vom Kunden festgestellten Probleme aufgeführt, die für das Produkt Sun Java System Application Server Enterprise Edition 8.2 behoben wurden.
Bugnummer |
Beschreibung |
---|---|
6368745 |
AS: Aufrüstung von AS7 (Java ES 2) auf AS8.2 (Java ES 5) nicht möglich |
6432308 |
AS, JES5b7a, asupgrade von JES2 auf JES5 schlägt fehl |
6378409 |
AS 8.2:Rückwärtskompatibilität aufgrund von in 8.2. enthaltenen JSF-Bibliotheken nicht gegeben |
6371534 |
AS82EE:configure-ha-cluster reagiert unter Windows nicht, wenn der Installationspfad Leerzeichen enthält |
6242761 |
Der Knotenagent kann nicht gemäß Dokumentation durch "init" gestartet werden, ohne dass Fehler auftreten |
6267772 |
Die Anweisungen zur Konfiguration für Borland OptimizeIt sind falsch |
6273226 |
Zusatztext: Hinzufügen der JVM-Option "-Xrs" zur Ausführung eines Servers/NA als Windows S |
6361145 |
LB-Plugin kann nicht installiert werden, wenn Aufrüstung von 8.1EE auf 8.2EE vorhanden |
6362881 |
Installationsprogramm bietet keine Aufrüstungsoption bei Aufrüstung von 8.1ur2 auf 8.2ee |
6325988 |
Interoperabilitätsproblem bei erster eingehender RMI-IIOP-Anforderung mit FVD/codeBase |
6363689 |
JES5 ASEE8.2 Build03 - Anhalten der Instanz nicht möglich |
6364900 |
Sitzungswert geht zum Failover-Zeitpunkt verloren, wenn eine Webanwendung eine zweite Webanwendung enthält |
6370993 |
Sitzungs-Failover scheitert wenn Anwendungskontext-Rot im Cluster auf "/" geändert wird |
6373729 |
Appserver 8.1-Code kann aufgrund eines ORB-Konflikts nicht mit WebLogic 9.0 kommunizieren |
6377594 |
Suchprobleme mit Weblogic initialcontext-Factory |
6381538 |
Standalone-Client versagt bei NPE |
6406055 |
WARNUNG: "IOP00110205: (BAD_PARAM) Objektreferenz stammt aus fremdem ORB" org.omg.CORBA. |
6388329 |
JSP-Kompilierungsfehler in Application Server nach Access Manager-Aufrüstung |
6419659 |
Anforderungen werden vom LB-Plugin nicht vorschriftsmäßig weitergeleitet, wenn die Transportgarantie VERTRAULICH lautet |
6390584 |
OutOfMemoryError: PermGen-Raum |
6401424 |
SEGV ausservice_plain_range in libns-httpd40.so wenn eine Anforderung für ein Byte-Serve für eine PDF-Datei vorliegt |
6401704 |
WebDAV-Unterstützung benötigt für AppServer 8.# |
6416478 |
Fehler bei JSP-Testsuite: javax.servlet.jsp.el.ELException |
6438908 |
Header-Position beschädigt, wenn relativeRedirectAllowed=true |
6456553 |
java.lang.IllegalArgumentException beim Anhängen von Cookies an die Antwort |
6295010 |
Verbindungen im konstanten Pool werden nicht auf Leerlaufzeitlimit überprüft, das im Konflikt mit Firewalls steht |
6350435 |
Application Server kann nicht mit Ausfall einer Datenbank während XA-Operation mit zwei Datenbanken umgehen |
6377830 |
setAutoCommit auf "fals" wird weitergegeben, wenn dieselbe Verbindung vom nächsten Benutzer verwendet wird |
6399830 |
IT 319 : Passwortalias-Funktion funktioniert nicht in domain.xml |
6360040 |
SJAS 8.x : AppServer LDAP Realm Bind-Benutzer greift häufig auf alle Gruppen und Mitglieder zu |
6370095 |
Für acceptor-thread kann kein höherer Wert als 10 festgelegt werden. |
6399365 |
InvokerServlet funktioniert in der Enterprise Edition nicht |
6303835 |
Übermäßige Protokollierung: Irreführende Sicherheitsmeldungen im Serverprotokoll |
6349541 |
8.1 EE UR2 - SSL Listeners können nicht zwangsweise an eine bestimmte IP-Adresse gebunden werden... |
6380040 |
Automatisierte Bereinigung der Protokolldateien erforderlich |
6387278 |
Client-Authentifizierung defekt oder nicht Thread-sicher (ProgrammaticLogin) |
6407896 |
HttpServletRequestWrapper der getUserPrincipal() überschreibt, führt zu ClassCastException |
6321194 |
Round Robin-Richtlinie funktioniert nicht |
6362269 |
Verifier wird unter Windows nicht ordnungsgemäß ausgeführt, wenn der Installationspfad ein Leerzeichen enthält |
6365888 |
Verbindungen vom Verbindungspool des Standard-Konnektors sind nicht in Transaktionen aufgeführt |
6369554 |
Der Verbindungspool muss eine Verbindung überprüfen, bevor er sie an eine Anwendung weitergibt |
6370574 |
Nach AS-Upgrade mit "Später konfigurieren" fehlt das Verzeichnis /var/opt/SUNWappserver |
6371723 |
Speicherleck bei lbpluginbei allen Webserver-Versionen (mehr bei Apache mod_loadbalancer) |
6395390 |
Round Robin funktioniert nicht bei HTTP-Anforderungen mit Failover. |
6402713 |
Loadbalancer stellt keine Verbindung zu HTTPS-Anforderungen her. |
6409992 |
Aufrüstung von 8.1pe auf 8.2EE fehlgeschlagen (mit Zertifikat) |
6413224 |
Aufrüstungstool überspringt Option für Aufrüstungszertifikat |
6422893 |
HTTPS-Routing funktioniert nicht |
6424051 |
Bei der Aufrüstung von 8.xPE auf 9.1 EE müssen bestehende Administrator-Anmeldeinformationen und MP verwendet werden |
6424053 |
8.XEE->9.1EE-Aufrüstung scheitert mit Ausnahmefehler bei Startdomäne |
6430394 |
Bei Netzwerkausfall gehen Nachrichten verloren. |
6444052 |
Integrieren von Generic RA for JMS version 1.5 in AS 8.2 EE |
6444308 |
AS 8.1 UR2 EE-> 8.2 EE SS: Starten von domain1 von 8.2 nicht möglich; falscher Domänenstart von 8.1UR2 |
6444368 |
Aufrüstung von 8.0PE UR1 auf 9.1 ee schlägt fehl unter win2003 Side-by-Side-GUI |
6446558 |
Manuelle Transaktionswiederherstellung funktioniert nicht für connector-connection-pool-Ressourcen. |
6447895 |
Transaktionswiederherstellung funktioniert nicht bei Verwendung von eingebetteter RA. |
6454007 |
Änderung der erforderlichen Eingabe für Aufrüstungstool |
6455396 |
Knotenagent und Instanzen lassen sich nach einer Aufrüstung von 8.1EE auf 9.1EE SBS nicht starten. |
6374533 |
Aus Leistungs- und Stabilitätsgründen sollte Application Server XWSS 1.1 bündeln und nicht XWSS 1.0 |
6358422 |
Appserver 7.1/8.1 EE: Web Server LB-Proxy-Plugin sollte Keep-Alive-Verbindungen ordnungsgemäß unterstützen |
6382063 |
Speicherleck in com.sun.enterprise.iiop.IORToSocketInfoImpl |
In diesem Abschnitt werden weitere wichtige Informationen zu der in Application Server 8.2 enthaltenen HADB-Implementierung erläutert.
Der neue Management-Befehl hadbm setadminpassword wurde bereitgestellt, um das zur Datenbankadministration verwendete Passwort ändern zu können. Der Befehl wird mit Optionen verknüpft, die angeben, welcher Management-Agent verwendet werden soll, und die das alte und neue Passwort enthalten. Weitere Informationen finden Sie in der Online-Dokumentation ( Man Page) hadbm setadminpassword.
Der vorhandene Management-Befehl hadbm listpackages wurde geändert. Vorher war der Befehl mit keinen Operanden verknüpft und hat alle Pakete in der relevanten Management-Domäne aufgelistet. Durch die Änderung wurde ein optionaler Paketnamen-Operand eingeführt, der lediglich Pakete mit dem betreffenden Namen auflistet. Wenn der Operand nicht angegeben wird, werden alle Pakete aufgelistet. Weitere Informationen finden Sie in der Online-Dokumentation ( Man Page) hadbm listpackages.
Der vorhandene Management-Befehl hadbm createdomain wurde geändert. Der Operand hostlist wurde erweitert. Er gibt jetzt auch die Portnummer des Management-Agenten an. Auf diese Weise wird die Domäne lediglich mithilfe des Operanden hostlist vollständig spezifiziert. Das alte Verhalten wird aus Gründen der Rückwärtskompatibilität immer noch unterstützt. Weitere Informationen finden Sie in der Online-Dokumentation (manpage) hadbm createdomain.
Einige Fehlermeldungen des Managementsystems wurden geändert. Die Änderungen dienen dazu, Verständlichkeit, Einheitlichkeit und Genauigkeit der Fehlermeldungen zu verbessern. Die eigentlichen Änderungen werden in diesen Versionshinweisen nicht aufgelistet.
Das Installations- und Deinstallationsverhalten wurde geringfügig geändert. Bei der Installation bzw. Deinstallation von HADB sollte immer der Softlink /opt/SUNWhadb/4 erhalten bleiben. Dies war jedoch nicht immer der Fall:
Die Möglichkeit zur Eingabe von Passwörtern in der Befehlszeile als Befehlsoption wurde verworfen. Dies ist für alle hadbm-Befehle relevant, die Passwörter als Befehlszeilenoptionen annehmen können. Für hadbm-Befehle gab es vorher folgende Methoden, um ein Passwort einzugeben:
als Passwortdatei
als Befehlszeilenoption
als interaktive Eingabe
Da Methode 2 (die Befehlszeilenoption) als unsicher erachtet wird, wurde sie verworfen. Eine Warnmeldung wird ausgegeben, wenn ein Passwort auf diese Weise eingegeben wird. Verwenden Sie stattdessen Methode 1 (Passwortdatei) oder Methode 3 (interaktive Ausgabe). Die Verwendung eines Passworts in der Befehlszeile wird in der nächsten Version überflüssig. Dies gilt für alle hadbm-Befehle, die eine Befehlszeilen-Passwortoption annehmen.
HADB wurde aktualisiert und kann jetzt JGroups Version 2.2 verwenden. Der Quellcode des Programms wird zusammen mit HADB verteilt. Zur Unterstützung von Online-Upgrades von vorherigen HADB-Versionen sind im Lieferumfang von HADB sowohl JGroups 2.1 als auch 2.2 vorhanden. Für JGroups 2.1 wird nur der Byte-Code mitgeliefert.
Wenn Sie HADB für eines der folgenden Dateisysteme konfigurieren möchten, müssen Sie einige wichtige Informationen beachten:
ext2 und ext3– HADB unterstützt ext2- und ext3-Dateisysteme für Red Hat Application Server 3.0. Für Red Hat Application Server 2.1 unterstützt HADB nur das ext2-Dateisystem.
Veritas– Wenn Sie das Veritas-Dateisystem unter Solaris einsetzen, wird die Nachricht “WRN: Direct disk I/O mapping failed“ in die Verlaufsdatei geschrieben. Die Meldung weist darauf hin, dass HADB kein direktes I/O für Daten- und Protokollgeräte aktivieren konnte. Direktes I/O ist eine Performance-Verbesserung, die die CPU-Kosten für das Schreiben von Diskseiten verringert. Das Prinzip führt auch dazu, dass weniger Verwaltungsaufwand für unreine Datenseiten im Betriebssystem erforderlich ist.
Um direktes I/O zusammen mit dem Veritas-Dateisystem zu verwenden, wählen Sie eine der folgenden Vorgehensweisen:
Erstellen Sie die Daten- und Protokollgeräte unter einem Dateisystem, für das die Option mincache=direct gilt. Die Option wird auf alle unter diesem Dateisystem erstellten Dateien angewendet. Weitere Informationen finden Sie in der Beschreibung des Befehls mount_vxfs(1M).
Verwenden Sie Toll Veritas Quick I/O, um direktes I/O auf die Dateien des Dateisystems anzuwenden. Weitere Informationen finden Sie im VERITAS File System 4.0 Administrator's Guide for Solaris.
Beachten Sie, dass diese Konfigurationen nicht mit Application Server 8.2 getestet wurden.
Informationen über Installation und Konfiguration von HADB mit der Application Server-Software finden Sie im Application Server Enterprise Edition High Availability Administration Guide.
Die Benutzer müssen HADB-Verlaufsdateien, Management-Agent-Konfigurationsdateien, Protokolldateien und Repository sowie alle Datengeräte außerhalb des Installationspfads abgelegt haben. Sollte dies nicht der Fall sein, muss dies noch vor dem Upgrade erfolgen. So verschieben Sie Management-Repository- und Konfigurationsdateien:
Beenden Sie alle alten Management-Agenten und führen Sie die HADB-Knoten weiter aus.
Verschieben Sie an jedem Host das Repository-Verzeichnis an den neuen Pfad.
Kopieren Sie auf jedem Host das Verzeichnis dbconfig an den neuen Pfad.
Aktualisieren Sie auf jedem Host die Datei mgt.cfg und wählen Sie den korrekten Pfad für dbconfig und das Repository-Verzeichnis.
Starten Sie die Management-Agenten unter Verwendung der aktualisierten Datei mgt.cfg.
Zur Aufrüstung von HADB-Version 4.4.x auf Version 4.4.3 gehen Sie wie folgt vor:
Führen Sie die oben genannten Tasks vor dem Upgrade nach Bedarf aus.
Installieren Sie HADB-Version 4.4.3 auf allen HADB-Hosts (in einem anderen Pfad als Version 4.4.x, zum Beispiel unter /opt/SUNWhadb/4.4.3).
Installieren Sie HADB-Version 4.4.3 auf den hadbm-Client-Hosts, wenn diese sich von den HADB-Hosts unterscheiden.
Beenden Sie alle Management-Agenten, die auf den HADB-Hosts ausgeführt werden.
Starten Sie die Management-Agent-Prozesse mithilfe der Software der neuen Version, jedoch mit den alten Konfigurationsdateien. Für die verbleibenden Schritte verwenden Sie den Befehl hadbm, der im bin-Verzeichnis der neuen Version zu finden ist.
Registrieren Sie das Paket in der Management-Domäne (der Standardpaketname lautet V4.4, sodass evtl. ein anderer Paketname erforderlich ist, um Konflikte mit vorhandenen Paketen zu vermeiden, die denselben Namen tragen):
hadbm registerpackage --packagepath=/opt/SUNWhadb/4.4.3 V4.4.3 |
Führen Sie den Befehl hadbm listpackages aus und prüfen Sie, ob das neue Paket in der Domäne registriert ist.
Starten Sie die Datenbank mit der neuen hadbm-Version 4.4.3 neu. Wenn es erforderlich ist, die Geräte- und Verlaufsdateien zu verschieben, führen Sie ein Online-Upgrade aus und legen Sie dabei in einem Schritt neue Pfade für Geräte und Verlaufsdateien fest:
hadbm set packagename=V4.4.3,devicepath=new_devpath, historypath=new_histpath |
Wenn sich die Geräte und Verlaufsdateien anderenfalls bereits außerhalb des Installationsverzeichnisses befinden, führen Sie den folgenden Befehl aus, der lediglich einen Bilddurchlauf-Neustart der Knoten auslöst:
hadbm set packagename=V4.4.3 database name |
Prüfen Sie (mithilfe des Befehls hadbm status), ob der Datenbankstatus "running" lautet und ob die Datenbank normal funktioniert und die Client-Transaktionen übermittelt.
Wenn alles funktioniert, kann die alte Installation später entfernt werden. Bevor Sie die Registrierung des alten Pakets aufheben, entfernen Sie alle Verweise auf das alte Paket aus der maRepository. Anderenfalls schlägt der Befehl hadbm unregisterpackage fehl und gibt die Fehlermeldung "package in use" aus.Eine Dummy-Neukonfigurationsoperation, z. B. hadbm set connectiontrace= wie voriger Wert entfernt alle Verweise auf das alte Paket. Heben Sie jetzt die Registrierung des alten Pakets auf:
hadbm unregisterpackage [--hosts=Hostliste] alter Paketname |
Entfernen Sie die alte Installation aus dem Dateisystem.
Um unter Solaris zu testen, ob das Upgrade erfolgreich war, prüfen Sie, ob das Upgrade ordnungsgemäß durchgeführt wurde:
Vergewissern Sie sich, dass die laufenden Prozesse die neuen Binärdateien verwenden. Prüfen Sie in allen HADB-Knoten Folgendes:
neuer Pfad/bin/ma -v neuer Pfad/bin/hadbm -v |
Prüfen Sie, ob die Datenbank ausgeführt wird. Der folgende Befehl sollte zeigen, dass alle HADB-Knoten den Status “running” aufweisen.
neuer Pfad/bin/hadbm status -n |
Vergewissern Sie sich, dass Produkte mit Verwendung von HADB ihre Zeiger so geändert haben, dass sie auf den neuen HADB-Pfad verweisen.
Die Produkte mit Verwendung von HADB können ihre Upgrade-Tests ausführen, um zu prüfen, dass das HADB-Upgrade ebenfalls funktioniert.
Wenn nach einem Online-Upgrade die neue Version nicht ordnungsgemäß funktioniert, wechseln Sie wieder zur Verwendung der vorherigen HADB-Version. Wenn jedoch eine Änderung am Management-Agent-Repository durchgeführt wurde, kann die HADB selbst heruntergestuft werden. Allerdings muss der neue Management-Agent weiter ausgeführt werden.
In diesem Abschnitt werden zusätzliche Informationen über HADB-Bereitstellung und Upgrade aufgeführt.
Speichern Sie Geräte-, Protokoll- und Verlaufsdateien nur auf lokalen Festplatten. Verwenden Sie keine entfernt bereitgestellten Dateisysteme.
Wenn mehrere Knoten auf einem Host platziert wurden, wird empfohlen, dass die Geräte zu allen Knoten der verschiedenen Festplatten gehören. Anderenfalls würde die Leistung durch die Konkurrenzsituation zwischen den Festplatten herabgesetzt werden. Symptome für dieses Problem sind in den Verlaufsdateien anhand von Meldungen ersichtlich wie BEWARE - last flush/fputs took too long. Wenn ein Knoten über mehrere Datengerätedateien verfügt, wird empfohlen, separate Festplatten für diese Gerätedateien zu verwenden.
Verwenden Sie lokale Festplatten (möglichst eine andere als die für Datengeräte verwendete Festplatte), um HADB-Binärdateien auf HADB-Hosts zu installieren. NFS-Verzögerungen oder Zugriffskonflikte können zu Knotenneustarts mit der Warnung "Process blocked for nnn, max block time is nnn" in den Verlaufsdateien führen.
Legen Sie die HADB-Geräte, Verlaufsdateien, Management-Agent-Verzeichnisse und agent config-Dateien nicht im HADB-Paketpfad ab. Dies führt zu Problemen beim Upgrade auf neuere Versionen sowie beim Löschen des alten Paketpfads.
Diese HADB-Version wird offiziell für maximal 28 Knoten unterstützt, und zwar für 24 aktive Datenknoten mit 4 Ersatzknoten.
Es wird empfohlen, dieselbe Version für den JDBC-Treiber und den HADB-Server zu verwenden.
IPv6 wird nicht unterstützt, sondern lediglich IPv4.
Die Länge der Befehlszeile unter Windows ist auf 2048 Byte beschränkt.
Das Netzwerk muss für UDP Multicast konfiguriert sein.
Aufgrund des übermäßigen Swappings von RedHat Enterprise Linux 3.0, Updates 1 bis 3, empfehlen wir es nicht als Bereitstellungsplattform. Das Problem wurde in RedHat Enterprise Linux 3.0, Update 4 behoben.
Möglichkeit, NSUP mit Echtzeit-Priorität auszuführen.
Die Prozesse des Knoten-Supervisors (NSUP) (clu_nsup_srv ) stellen die hohe Verfügbarkeit von HADB mithilfe des termingemäßen Austauschs von "heartbeat"-Nachrichten sicher. Die zeitliche Koordinierung wird beeinträchtigt, wenn ein NSUP mit anderen Prozessen gemeinsam untergebracht wird, da dies zu einem Ressourcenschwund führt. Die Folge sind eine falsche Netzwerkpartitionierung und Knotenneustarts (vorher wird die Warnung “Process blocked for n seconds” in den Verlaufsdateien ausgegeben), die zu abgebrochenen Transaktionen und anderen Ausnahmefehlern führen.
Um dieses Problem zu lösen, muss für clu_nsup_srv (unter Installationspfad/lib/server zu finden) das suid-Bit gesetzt sein und Eigentümer der Datei muss der Benutzer "root" sein. Dies wird manuell durch folgende Befehle erzielt:
# chown root clu_nsup_srv # chmod u+s clu_nsup_srv |
Dadurch wird der Prozess clu_nsup_srv, wenn er gestartet wird, als Benutzer root ausgeführt. Dies wiederum ermöglicht dem Prozess, sich selbst automatisch Echtzeit-Priorität nach dem Start zuzuweisen. Zur Vermeidung von Sicherheitsproblemen bei Verwendung von setuid wird die Echtzeit-Priorität ganz am Anfang festgelegt und der Prozess kehrt zur effektiven UID zurück, sobald die Priorität geändert wurde. Andere HADB-Prozesse senken ihre Priorität auf Zeitteilungspriorität ab.
Wenn NSUP die Echtzeit-Priorität nicht setzen konnte, wird der Warnhinweis “Could not set realtime priority” (Unix: Fehler-Nr. wird auf EPERM gesetzt) ausgegeben, der in der Datei ma.log dargelegt ist, und der Prozess wird ohne Echtzeit-Priorität fortgesetzt.
Es gibt Fälle, in denen es nicht möglich ist, Echtzeit-Prioritäten festzulegen; beispielsweise in folgenden Situationen:
Bei Installation in nichtglobalen Zonen von Solaris 10
Wenn die Berechtigungen PRIV_PROC_LOCK_MEMORY (Ermöglichen, dass ein Prozess Seiten im physischen Speicher sperren kann) und/oder PRIV_PROC_PRIOCNTL in Solaris 10 aufgerufen werden.
Benutzer deaktivieren die Berechtigung setuid
Benutzer installieren die Software als tar-Dateien (Installationsoption nonroot für App.server)
Der Prozess clu_nsup_srv ist nicht CPU-konsumierend und sein Ressourcenbedarf ist gering. Wenn er mit Echtzeit-Priorität ausgeführt wird, beeinflusst er nicht die Leistung.
Konfiguration von IP-Netzwerk-Multipathing für HADB für Solaris (nur unter Solaris 9 getestet).
Sun empfiehlt, dass Solaris-Hosts, auf denen HADB ausgeführt wird, mit Netzwerk-Multipathing eingerichtet werden, um die höchstmögliche Netzwerkverfügbarkeit sicherzustellen. Die Einrichtung von Network-Multipathing wird in allen Einzelheiten im IP Network Multipathing Administration Guide behandelt. Wenn Sie sich dafür entscheiden, Multipathing mit HADB zu verwenden, lesen Sie im IP Network Multipathing Administration Guide den Abschnitt "Verwaltung von Netzwerk-Multipathing", um Multipathing einzurichten, bevor Sie mit dem Anpassen des Multipathing-Setups für HADB fortfahren (siehe unten). Der IP Network Multipathing Administration Guide gehört zur System Administrator Collection von Solaris 9 und kann von der Adresse http://docs.sun.com heruntergeladen werden.
Einrichten der Netzwerkschnittstellenfehler-Erkennungszeit
Damit HADB die Multipathing-Ausfallsicherung ordnungsgemäß unterstützt, darf die Netzwerkschnittstellenfehler-Erkennungszeit gemäß Spezifikation durch den Parameter FAILURE_DETECTION_TIME in /etc/default/mpathd 1000 Millisekunden nicht übersteigen. Bearbeiten Sie die Datei und ändern Sie den Wert dieses Parameters auf 1000, wenn der Originalwert höher ist:
FAILURE_DETECTION_TIME=1000 |
Damit die Änderung wirksam ist, geben Sie den folgenden Befehl aus:
pkill -HUP in.mpathd |
Mit HADB zu verwendende IP-Adressen
Gemäß Erläuterungen im Solaris IP Network Multipathing Administration Guide umfasst das Multipathing die Gruppierung physischer Netzwerkschnittstellen in Multipath-Schnittstellengruppen. Jede physische Schnittstelle in einer derartigen Gruppe ist mit zwei IP-Adressen assoziiert: einer physischen Schnittstellenadresse und einer Testadresse. Lediglich die physische Schnittstellenadresse kann zum Übertragen von Daten verwendet werden. Die Testadresse dient nur für interne Solaris-Zwecke. Wenn hadbm create --hosts ausgeführt wird, darf jeder Host mit nur einer physischen Schnittstellenadresse der Multipath-Gruppe spezifiziert werden.
Beispiel
Angenommen, Host 1 und Host 2 verfügen jeweils beide über zwei physische Netzwerkschnittstellen. Auf jedem Host werden diese beiden Schnittstellen als Multipath-Gruppe eingerichtet und beim Ausführen von ifconfig -a erhalten Sie Folgendes:
Host 1
bge0: flags=1000843<mtu 1500 index 5 inet 129.159.115.10 netmask ffffff00 broadcast 129.159.115.255 groupname mp0 bge0:1: flags=9040843<mtu 1500 index 5 inet 129.159.115.11 netmask ffffff00 broadcast 129.159.115.255 bge1: flags=1000843<mtu 1500 index 6 inet 129.159.115.12 netmask ffffff00 broadcast 129.159.115.255 groupname mp0 bge1:1: flags=9040843<mtu 1500 index 6 inet 129.159.115.13 netmask ff000000 broadcast 129.159.115.255 |
Host 2
bge0: flags=1000843<mtu 1500 index 3 inet 129.159.115.20 netmask ffffff00 broadcast 129.159.115.255 groupname mp0 bge0:1: flags=9040843<mtu 1500 index 3 inet 129.159.115.21 netmask ff000000 broadcast 129.159.115.255 bge1: flags=1000843<mtu 1500 index 4 inet 129.159.115.22 netmask ffffff00 broadcast 129.159.115.255 groupname mp0 bge1:1: flags=9040843<mtu 1500 index 4 inet 129.159.115.23 netmask ff000000 broadcast 129.159.115.255 |
Hier sind die physischen Netzwerkschnittstellen auf beiden Hosts, als bge0 und bge1 aufgelisteten Schnittstellen. Die als bge0:1 und bge1:1 aufgelisteten Schnittstellen sind Multipath-Testschnittstellen (sie werden daher im ifconfig-Output mit DEPRECATED gekennzeichnet). Siehe dazu auch den IP Network Multipathing Administration Guide.
Zum Einrichten von HADB in dieser Umgebung wählen Sie eine physische Schnittstellenadresse von jedem Host. In diesem Beispiel wählen wir 129.159.115.10 von Host 1 und 129.159.115.20 von Host 2. Zum Erstellen einer Datenbank mit einem Datenbankknoten pro Host verwenden Sie das folgende Argument für hadbm create:
--host 129.159.115.10,129.159.115.20 |
Zum Erstellen einer Datenbank mit zwei Datenbankknoten auf jedem Host verwenden Sie das folgende Argument:
--host 129.159.115.10,129.159.115.20,129.159.115.10,129.159.115.20 |
In beiden Fällen muss die Variable ma.server.mainternal.interfaces auf beiden Hosts auf 129.159.115.0/24 festgelegt werden.
Es ist nicht möglich, online von 4.2 oder 4.3 auf 4.4 upzugraden. Die Version 4.4 unterstützt jedoch Online-Upgrades für zukünftige Versionen. Zum Aufrüsten von 4.4.1 auf 4.4.2 gehen Sie wie folgt vor:
Installieren Sie 4.4.2 auf allen HADB-Hosts (in einem anderen Pfad als Version 4.4.1 – beispielsweise /opt/SUNWhadb/4.4.2-6).
Installieren Sie die neue Version auf den hadbm client-Hosts.
Beenden Sie alle Management-Agenten, die auf den HADB-Hosts ausgeführt werden.
Starten Sie die Management-Agent-Prozesse mithilfe der Software der neuen Version, jedoch mit den alten Konfigurationsdateien. Für die verbleibenden Schritte verwenden Sie den Befehl hadbm, der im bin-Verzeichnis der neuen Version zu finden ist.
Registrieren Sie das Paket in der Management-Domäne (der Standard-Paketname lautet hier V4.4, sodass evtl. ein anderer Paketname erforderlich ist, um Konflikte mit vorhandenen Paketen zu vermeiden, die denselben Namen haben):
hadbm registerpackage --packagepath=/opt/SUNWhadb/4.4.2-6 V4.4.2 |
Starten Sie die Datenbank mit der neuen Version neu (mit dem folgenden Befehl wird ein Bildlauf-Neustart der Knoten ausgeführt):
hadbm set packagename=V4.4.2 Datenbankname |
Prüfen Sie (mithilfe des Befehls hadbm status), ob der Datenbankstatus “running” lautet und ob die Datenbank normal funktioniert und die Client-Transaktionen übermittelt.
Wenn alles funktioniert, kann die alte Installation später entfernt werden:
Bevor Sie die Registrierung des alten Pakets aufheben, entfernen Sie alle Verweise auf das alte Paket aus der ma-Repository. Anderenfalls schlägt hadbm unregisterpackage fehl und gibt die Fehlermeldung "package in use" aus.Eine Dummy-Neukonfigurationsoperation, z. B. hadbm set connectiontrace=<wie voriger wert> entfernt alle Verweise auf das alte Paket. Heben Sie jetzt die Registrierung des alten Pakets auf:
hadbm unregisterpackage [--hosts=<host_list>] <old_package_name> |
Entfernen Sie die alte Installation aus dem Dateisystem (siehe HADB-Installationsanweisungen.
Es ist nicht möglich, einen sekundären Index einer Tabelle vom Typ UNIQUE zu erstellen.
Der Ausdruck (DISTINCT column) ist in einem Aggregatausdruck nicht zulässig; es sei denn, es handelt sich um den einzigen ausgewählten Ausdruck.
Alle Tabellen müssen mit einer Primärschlüssel-Spezifikation erstellt werden (d. h., Tabellen ohne Primärschlüssel werden nicht unterstützt).
FULL OUTER JOIN wird nicht unterstützt.
IN-Unterabfragen, bei denen es sich um Tabellenunterabfragen handelt, werden nicht unterstützt; beispielsweise:
SELECT SNAME FROM S WHERE (S1#,S2#) IN (SELECT S1#,S2# FROM SP WHERE P#='P2') |
Andere Beschränkungen als NOT NULL und PRIMARY KEY werden nicht unterstützt.
Es besteht die Möglichkeit, einer Ressource einen neuen Eigentümer zuzuweisen. Wenn dieser Schritt durchgeführt wird, werden jedoch die dem aktuellen Eigentümer gewährten Zugriffsrechte nicht auf den neuen Eigentümer übertragen.
Zwei oder mehr verschachtelte NOT EXISTS-Unterabfragen, bei denen die einzelnen Unterabfragen nicht (direkt) mit der äußeren Ebene der Abfragen in Wechselbeziehung stehen, werden nicht unterstützt.
Spalten-Zugriffsrechte werden nicht unterstützt.
Zeilenwert-Constructors sind nur in einer VALUES-Bedingung zulässig.
Unterabfragen werden in Zeilenwert-Constructors nicht als Wertausdrücke akzeptiert.
Die folgenden Datentypen können beim Erstellen von Primärschlüsseln nicht verwendet werden:
REAL
FLOAT
DOUBLE PRECISION
DECIMAL
NUMERIC
In Application Server ist Folgendes enthalten: Lastenausgleich für HTTP-, IIOP- und JMS-Clients, Failover-Unterstützung für HTTP-Sitzungen, Unterstützung für EJB-Clustererstellung und -Failover, hochverfügbare EJB-Timer, Wiederherstellung verteilter Transaktionen, Unterstützung für parallele Anwendungsaktualisierungen sowie eine Hochverfügbarkeitsdatenbank zur Speicherung des Übergangsstatus von J2EE-Anwendungen.
Die Hochverfügbarkeit ermöglicht den Failover-Schutz für Application Server-Instanzen in einem Cluster. Wenn eine Application Server-Instanz zusammenbricht, übernimmt eine andere Application Server-Instanz die Sitzungen des nicht mehr verfügbaren Servers. Sitzungsinformationen werden in der HADB gespeichert. Die HADB unterstützt Persistenzspeicherung für HTTP-Sitzungen, Stateful Session Beans und Single Sign On-Anmeldeinformationen.
In der nächsten größeren Version von Sun Java System Application Server Enterprise Edition werden die folgenden Inkompatibilitäten eingeführt:
Der HTTP-Dienst wird zwar weiterhin einen DNS-Cache für eine bessere Leistung verwenden, die Überwachung des DNS-Cache steht jedoch nicht mehr zur Verfügung.
Die Unterstützung des HTTP-Dateicachings wird mit neuen Funktionen ausgestattet, was zu Änderungen in der Konfiguration und Überwachung führt.
Das Format des Zugriffsprotokoll-Rotationssuffixes wird in das Format geändert, das von den Datums- und Uhrzeitobjekten, wie unter http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html angegeben, unterstützt wird. Der Standardwert dieser Freigabe, “%YYYY;%MM;%DD;-%hh;h%mm;m%ss;s ,” wird zwar weiterhin unterstützt, es werden jedoch keine anderen Variationen unterstützt.
Alle nicht mehr unterstützten Elemente, Attribute und Eigenschaften von domain.xml werden durch Warnhinweise im Serverprotokoll und in der Upgrade-Protokolldatei als verworfen markiert.
Der server.http-service.dns-Knoten steht in der Überwachungsansicht nicht mehr zur Verfügung.
Einige der Attribute des server.http-service.file-cache -Knotens werden entfernt. Folglich schlägt jeder asadmin-Überwachungsbefehl fehl, der versucht, auf die entfernten Attribute dieses Knotens zuzugreifen.
Das Bereitstellungswerkzeug (Deploytool) steht nicht mehr zur Verfügung. Eine entsprechende Funktion ist über die NetBeans-IDE verfügbar. Weitere Informationen und eine Planung einer Migration finden Sie im J2EE 1.4-Lernprogramm für NetBeans 4.1 unter http://www.netbeans.org/kb/41/j2ee-tut/index.html.
Der Verifizierer-GUI-Modus (aufgerufen durch verifier -u) steht nicht mehr zur Verfügung. Eine entsprechende Funktion ist über die NetBeans-IDE verfügbar.
Der Standardmodus für die Anwendungsprüfung ändert sich bei der Verwendung des Verifiziererwerkzeugs von "Verify J2EE rules" zu "Verify J2EE rules and Sun Application Server Configuration Rules".Der Verifier testet also standardmäßig, ob eine Anwendung den J2EE-Regeln entspricht und ob sie so konfiguriert ist, dass Sun Application Server ausgeführt werden kann. Der Verifizierer-Befehl verfügt über einen Befehlszeilenschalter, um eine Anwendung nur für J2EE-Regeln zu testen.
In der aktuellen Version stehen die JAR- und Verzeichniseinträge, die den Attributen classpath-prefix , server-classpath und classpath-suffix von domain.xml (Anwendungsserver-Konfigurationsdatei) hinzugefügt wurden, im JVM-Systemklassenpfad zur Verfügung. Eine Anwendung, die sich nach diesem Verhalten richtet, verwendet unter Umständen die folgenden Methoden der Klasse java.lang.ClassLoader, um auf Klassen oder andere Ressourcen aus dem JVM-Systemklassenpfad zuzugreifen:
getSystemClassLoader()
getSystemResource()
getSystemResourceAsStream()
getSystemResources
In der nächsten Version werden die JAR- und Verzeichniseinträge, die classpath-prefix, server-classpath und classpath-suffix hinzugefügt wurden, nicht mehr im JVM-Systemklassenpfad zur Verfügung stehen. Wenn eine Anwendung eine der oben beschriebenen Methoden verwendet, wird empfohlen, eine entsprechende Methode zu verwenden, bei der nicht davon ausgegangen wird, dass die Ressourcen im Systemklassenpfad zur Verfügung stehen. Die entsprechenden Methoden, die nicht vom JVM-Systemklassenpfad abhängig sind, stehen in java.lang.ClassLoader zur Verfügung und sollten gegebenenfalls verwendet werden; zum Beispiel:
java.net.URL url = ClassLoader.getSystemResource ("com/acme/tools/tools.properties");
java.net.URL url = this.getClass().getClassLoader().getResource ("com/acme/tools/tools.properties");
Falls es nicht möglich ist, den Code zu ändern, können Sie eine neue Konfigurationsoption verwenden, die in der nächsten Version hinzugefügt wird, um den JVM-Systemklassenpfad festzulegen.
Die Sicherheit für Webservices kann mit den Dateien wss-client-config.xml und wss-server-config.xml konfiguriert werden. Beachten Sie, dass der Inhalt und die Namen dieser Konfigurationsdateien instabil sind und sich wahrscheinlich ändern werden. Die entsprechende Funktionalität steht weiterhin zur Verfügung.
Sun Java System Application Server Enterprise Edition 8.2 unterstützt die J2EE 1.4-Plattform. In der folgenden Tabelle werden die erweiterten APIs beschrieben, die für die J2EE 1.4-Plattform verfügbar sind:
Tabelle 2–5 Auf der J2EE 1.4-Plattform verfügbare APIs
API |
Beschreibung |
Komponenten |
|
Anwendung und Anwendungsclient |
Implementierung von Standard-Bereitsstellungsdeskriptoren durch XML-Schemata. |
Enterprise JavaBeans (EJB) 2.1 |
Timer-Dienst und EJB-Webservice-Endpunkt |
Java Servlet 2.4 |
Webservice-Endpunktfilter |
JavaServer Pages (JSP) 2.0-Architektur |
Sprache für Ausdrücke und Tag-Bibliothek |
J2EE Connector Architecture 1.5 |
Eingangs-Ressourcenadapter und Erweiterungsfähigkeit für Java Message Service (JMS) |
Webservices |
|
Java Web Services Developer Pack 1.5 |
Integrierte Tool-Sammlung für das Erstellen, Testen und Bereitstellen von XML-Anwendungen, Webservices und Webanwendungen. |
Java-API für XML-basiertes Remote Procedure Calls (JAX-RPC) 1.1 |
Mapping für WSDL- und Java-Technologie und Unterstützung für die Entwicklung von Webservice-Clients und -Endpunkten. |
WS-I Basic Profile 1.0 |
Ermöglicht die Interoperabilität für WSDL und SOAP. |
SOAP mit Anhangs-API für Java (SAAJ) 1.2 |
Eine API für SOAP-basiertes Messaging; unterstützt die Erstellung von SOAP-Nachrichten mit Anhängen |
Java-API für XML Registries (JAXR) 1.0 |
Eine einheitliche Standard-API für den Zugriff auf XML-Registrierungen, beispielsweise APIs für Universal Description Discovery and Integration (UDDI und ebXML). |
Weitere |
|
J2EE Deployment 1.1 |
Standard-APIs, die das Bereitstellen von J2EE-Komponenten und -Anwendungen ermöglichen. |
J2EE Management 1.0 |
Definitionen für das Informationsmodell zum Verwalten der J2EE-Plattform. |
Java Management Extensions (JMX) 1.2 |
Standard-Verwaltungs-API |
Java Authorization Contract for Containers (JACC) 1.0 |
Definitionen von Sicherheitsverträgen zwischen J2EE Application Server und dem Provider für Autorisierungsrichtlinien |
Java API for XML Processing (JAXP) 1.2 |
API für Anwendungen zum Parsen und Transformieren von XML-Dokumenten; unterstützt auch die Verarbeitung von XML-Schemata |
JMS 1.1 |
Ein Messaging-Standard, mit dem J2EE-Anwendungskomponenten Nachrichten erstellen, senden, empfangen und lesen können; trägt auch zur Unterstützung von einheitlichen APIs für Warteschlangen und Topics bei |
JavaMail 1.3 |
Eine Reihe von abstrakten Klassen, die ein Mailsystem modellieren; enthält außerdem kleine Updates für die APIs |
Sun Java System Application Server 8.2 erfordert J2SE 5.0 oder höher als zugrundeliegende JVM. Wenn Sie von einer Java-Version zu einer anderen wechseln möchten, müssen Sie folgende allgemeine Schritte durchführen. (Windows und Unix)
Falls nicht bereits vorhanden, laden Sie Java SDK (nicht JRE) herunter und installieren Sie die Version.
Java SDK kann von der Seite http://java.sun.com/j2se heruntergeladen werden.
Halten Sie Application Server vollständig an.
Verwenden Sie hierfür entweder die Befehlszeile
as-install/bin/asadmin stop-domain |
Alternativ können Sie die Administration Console-GUI verwenden:
Ändern Sie in der Datei Installationsverzeichnis/config/asenv.conf (unter Windows asenv.bat ) den Wert für AS_JAVA, sodass auf das J2SE 5.0-Basisverzeichnis verwiesen wird.
Ändern Sie in der Datei as-install/samples/common.properties die Zeile, die mit der Zeichenfolge com.sun.aas.javaRoot... beginnt, sodass auf das J2SE-Basisverzeichnis verwiesen wird.
Starten Sie Application Server neu.
as-install/bin/asadmin start-domain |
Application Server enthält einen EJB-Hochleistungs-Container sowie Webcontainer und Webservices und unterstützt die gleichzeitige Meldungszustellung mit der Sun Java System Message Queue-Software.
Application Server unterstützt die horizontale Skalierbarkeit mittels Clustering von Server-Instanzen und Anfrage-Lastenausgleich. Außerdem wird eine in dieser Klasse ungeschlagene vertikale Skalierbarkeit erreicht, wodurch Großcomputer mit mehreren Prozessoren unterstützt werden können. Der integrierte Nachrichtenvermittler kann zur besseren Skalierbarkeit und Verfügbarkeit in Cluster aufgeteilt werden. Die Zugriffslast durch HTTP-Clients, RMI/IIOP-basierte Rich Client-Anwendungen, Webservice-Clients und JRM-Clients kann durch die Application Server-Cluster ausgeglichen werden.
Sun Java System Application Server Enterprise Edition 8.2 unterstützt die JavaServer Faces 1.1-Technologie. Die JavaServer Faces-Technologie besteht aus einem Satz an serverbasierten APIs, die den Komponenten der Benutzeroberfläche entsprechen und den Status, das Ereignis, die Verarbeitung und Eingabebestätigung der jeweiligen Komponenten verwalten. Die APIs legen außerdem die Seitennavigation fest und unterstützen Internationalisierung und Verfügbarkeit. Sie können angepasste Benutzerschnittstellenkomponenten mit einer benutzerdefinierten JSP-Tag-Bibliothek hinzufügen.
Beim Entwicklungsprozess mit JavaServer Faces-Technologie kann sich jedes Mitglied eines Entwicklungsteams auf einen Teil des Prozesses konzentrieren. Ein einfaches Programmiermodell verknüpft dann diese Teile, was zu einem viel effizienteren und einfacheren Entwicklungszyklus führt.