![]() | |
Sun Java Enterprise System 5-Aktualisierungshandbuch für UNIX |
Kapitel10
Message QueueIn diesem Kapitel wird die Aktualisierung der Message Queue-Software von früheren Java ES-Versionen auf Java ES 5 (Release 5): Sun Java System Message Queue 3.7 UR1 beschrieben.
Das Kapitel enthält einen Überblick über die Aspekte der verschiedenen Aktualisierungswege, die von Release 5 unterstützt werden. Es wird sowohl die Aktualisierung unter dem Solaris- als auch unter dem Linux-Betriebssystem berücksichtigt:
Überblick über Aktualisierungen von Message QueueIn diesem Abschnitt werden die folgenden allgemeinen Aspekte bezüglich der Aktualisierung von Message Queue auf Java ES 5 (Release 5) beschrieben:
Über Java ES Release 5 Message Queue
Java ES Release 5 Message Queue stellt im Gegensatz zu Release 4 eine kleinere Aktualisierung dar. Es beinhaltet größtenteils Kodekorrekturen und keine kleineren Verbesserungen von Funktionen.
Die Message Queue-Software war früher in den Ausgaben Platform Edition und die Enterprise Edition erhältlich. Die beiden Ausgaben weisen unterschiedliche Funktionalitäten und einen unterschiedlichen Lizenzierungsumfang auf. Die Enterprise Edition war für die Bereitstellung und Ausführung von Messaging-Anwendungen in einer Produktionsumgebung eines Unternehmens konzipiert. Die Platform Edition wurde hauptsächlich für die Entwicklung, die Fehlerbehebung und das Testen der Lastverteilung von Messaging-Anwendungen und -Komponenten verwendet. Bei Message Queue Release 5 wurde die Platform Edition verworfen und Message Queue beinhaltet sämtliche Funktionen der Enterprise Edition. Bei der Aktualisierung von früheren Java ES-Release-Versionen auf Release 5 werden sämtliche installierte Funktionen der Platform Edition in die vollständigen Funktionen der Message Queue Enterprise Edition konvertiert.
Wegweiser für die Aktualisierung von Message Queue
Tabelle 10-2 zeigt die unterstützten Wege für die Aktualisierung von Message Queue auf Java ES Release 5. Die Tabelle gilt sowohl für das Solaris- als auch für das Linux-Betriebssystem.
Tabelle 10-2 Wege für die Aktualisierung auf Java ES 5 (Release 5): Message Queue 3.7 UR1
Java ES Release
Message Queue Version
Allgemeiner Ansatz
Neukonfiguration erforderlich
Release 4
Sun Java System Message Queue
2005Q4 (3.6 SP3))
nur Enterprise EditionDirekte Aktualisierung:
Durch Anwendung des Java ES-Installationsprogramms.Automatisch durchgeführte Konvertierung von Daten.
Release 3
Sun Java System Message Queue
2005Q1 (3.6)
nur Enterprise EditionDirekte Aktualisierung:
Durch Anwendung des Java ES-Installationsprogramms.Automatisch durchgeführte Konvertierung von Daten.
Release 2
Sun Java System Message Queue
2004Q2 (3.5 SP1)
Platform und Enterprise EditionDirekte Aktualisierung:
Durch Anwendung des Skripts mqupgrade.Wird auf Solaris-Plattformen automatisch durchgeführt; für Linux-Plattformen steht das Skript mqmigrate zur Verfügung.
Release 1
Sun Java System Message Queue
2003Q4 (3.0.1 SP2)
Platform und Enterprise EditionDirekte Aktualisierung nicht zertifiziert.
Kann jedoch mit dem Skript mqupgrade durchgeführt werden.1Wird auf Solaris-Plattformen automatisch durchgeführt; für Linux-Plattformen steht das Skript mqmigrate zur Verfügung.
Versionen vor Java ES
Sun Java System Message Queue
3.0.x und frühere Versionen
Platform und Enterprise EditionDirekte Aktualisierung nicht zertifiziert.
Kann jedoch mit dem Java ES-Installationsprogramm durchgeführt werden.
1Vor und nach Ausführen des Skripts mqupgrade müssen Sie die folgenden Dateien möglicherweise sichern und wiederherstellen: Beispielsweise (auf Solaris OS): wiederherstellen von /etc/imq/passwd und /etc/imq/accesscontrol.properties in /var/imq/instances/instanceName/etc/
Zusätzlich zu den in Tabelle 10-2 aufgelisteten Message Queue Release-Versionen von Java ES ist Message Queue im Lieferumfang der Solaris OS-Software enthalten. Die Aktualisierung der im Lieferumfang enthaltenen Versionen von Message Queue auf Release 5 kann mithilfe des Java ES-Installationsprogramms durchgeführt werden.
Message Queue-Daten
Wie andere Java ES-Komponenten auch verwendet Message Queue verschiedene Datentypen, die bei einer Aktualisierung möglicherweise auf eine aktualisierte Version migriert werden müssen. Die folgende Tabelle enthält die Datentypen, die von einer Aktualisierung der Message Queue-Software betroffen sein können.
Tabelle 10-3 enthält die Speicherorte der Daten auf Solaris-Betriebssystemen. Auf Linux-Systemen werden ähnliche Speicherorte verwendet. Diese richten sich jedoch nach der Version von Message Queue:
Weitere Informationen finden Sie im Message Queue 3.7 UR1 Administration Guide unter http://docs.sun.com/doc/819-4467/6n6k98brl?a=view.
In Tabelle 10-3 gibt instanceName die Message Queue-Broker-Instanz an, der die Daten zugeordnet sind.
Vorgehensweise zur Aktualisierung von Message Queue
Die Vorgehensweise zur Aktualisierung von Message Queue hängt im Grunde von den verschiedenen Aspekten ab, die in Chapter 1, "Planung hinsichtlich der Aktualisierungen" besprochen wurden: Aktualisierungsweg, Abhängigkeiten zwischen den Java ES-Komponenten, selektive Aktualisierung im Vergleich zur Aktualisierung aller Komponenten, Bereitstellung mehrerer Instanzen usw.
In diesem Abschnitt wird im Detail auf Message Queue eingegangen, indem Themen besprochen werden, die Ihre Aktualisierungspläne von Message Queue beeinflussen können.
Kompatibilität
Message Queue Release 5 führt keine neuen Inkompatibilitäten zu Release 3 oder Release 4 ein. Es bestehen jedoch beträchtliche Kompatibilitätsprobleme in Bezug auf Release 2 und frühere Versionen. Diese werden unter Release 2-Kompatibilität erläutert.
Darüber hinaus gilt im Allgemeinen: Wenn Sie Release 4-Broker und Broker früherer Message Queue-Versionen und Message Queue-Release 5-Broker zusammen in einem Cluster verwenden, muss der Broker der früheren Release als Master-Broker verwendet werden; das Cluster wird als Message Queue-Cluster der früheren Version ausgeführt.
Message Queue-Abhängigkeiten
Message Queue-Abhängigkeiten zu anderen Java ES-Komponenten beeinflussen möglicherweise das Verfahren für die Aktualisierung und Neukonfiguration der Message Queue-Software. Änderungen der Message Queue-Schnittstellen oder -Funktionen könnten beispielsweise eine aktualisierte Version der Komponenten erforderlich machen, von denen Message Queue abhängig ist. Welche dieser Komponenten aktualisiert werden müssen, hängt von dem jeweiligen Aktualisierungsweg ab.
Für Message Queue bestehen Abhängigkeiten zu folgenden Java ES-Komponenten:
- Gemeinsam genutzte Komponenten. Message Queue ist von bestimmten gemeinsam genutzten Java ES-Komponenten abhängig (siehe Tabelle 1-9).
- Directory Server. Für Message Queue besteht eine optionale Abhängigkeit zu Directory Server: Sie können Message Queue so konfigurieren, dass verwaltete Objekte bzw. Benutzerdaten statt lokal in einem LDAP-Verzeichnis (Directory Server) gespeichert werden.
- Web Container. Für Message Queue besteht eine optionale Abhängigkeit zu Webserver, Anwendungsserver oder einem Drittanbieter-Webcontainer, um das HTTP Messaging zwischen Client und Broker zu unterstützen.
- Datenbanken. Für Message Queue besteht eine optionale Abhängigkeit von Java DB (oder Drittanbieterdatenbanken), um der Message Queue-Persistenzschicht statt eines Flatfile-Nachrichtenspeichers einen JDBC-zugänglichen Datenspeicher bereitzustellen.
- Sun Cluster. Für Message Queue besteht zur Hochverfügbarkeitsunterstützung eine optionale Abhängigkeit zu Sun Cluster.
Duale Aktualisierung
Die duale Aktualisierung, bei der sowohl Message Queue als auch das Betriebssystem aktualisiert werden (wie in Duale Aktualisierungen: Java ES und Betriebssystem-Software beschrieben), kann auf zwei verschiedene Weisen durchgeführt werden:
Neuinstallation des Betriebssystems
- Sichern Sie die vorhandenen Message Queue-Daten.
Informationen zum Speicherort wichtiger Daten finden Sie unter Message Queue-Daten.
- Installieren Sie das neue Betriebssystem.
Die Installation des Betriebssystems kann auf einem neuen System (oder einer Solaris 10-Zone) erfolgen oder das vorhandene Dateisystem löschen.
- Installieren Sie Release 5 Message Queue.
- Stellen Sie die in Step 1 gesicherten Message Queue-Daten wieder her, oder migrieren Sie sie.
Beim Aktualisieren von Release 2 Message Queue auf Linux, werden die Daten am Speicherort von Release 5 wiederhergestellt.
Aktualisierung des vorhandenen Betriebssystems
- Sichern Sie die vorhandenen Message Queue-Daten.
Informationen zum Speicherort wichtiger Daten finden Sie unter Message Queue-Daten.
- Aktualisieren Sie das Betriebssystem.
Bei der Aktualisierung wird das vorhandene Dateisystem beibehalten.
- Aktualisieren Sie auf Message Queue Release 5.
Weitere Informationen finden Sie im entsprechenden Abschnitt dieses Kapitels, abhängig vom Aktualisierungspfad. Bei der Aktualisierung werden die vorhandenen Daten normalerweise beibehalten.
Beim Aktualisieren von Release 2 Message Queue auf Linux, müssen die Daten jedoch an den Speicherort von Release 5 verschoben werden.
Aktualisieren von Message Queue von Java ES Release 4Dieser Abschnitt enthält Informationen zur Aktualisierung von Message Queue von Java ES 2005Q4 (Release 4) auf Java ES 2005Q5 (Release 5). In diesem Abschnitt werden folgende Themen behandelt:
Einführung
Berücksichtigen Sie bei der Aktualisierung von Message Queue von Java ES Release 4 auf Release 5 folgende Aspekte des Aktualisierungsvorgangs:
- Allgemeiner Aktualisierungsansatz. Die Aktualisierung erfolgt mithilfe des Java ES-Installationsprogramms. Die Release 4-Konfigurationsdaten werden vom Installationsprogramm automatisch migriert. Darüber hinaus werden die Release 4 zugeordneten dynamischen Anwendungsdaten beim erstmaligen Ausführen von imqbrokerd automatisch konvertiert. Bei einem dateibasierten Speicher bedeutet das, dass der Inhalt des Verzeichnisses fs350 in ein neues fs370-Verzeichnis kopiert wird. Im Falle eines JDBC-Speichers werden die bestehenden Datenbanktabellen einer einfachen Versionsaktualisierung unterzogen.
- Aktualisierungsabhängigkeiten. Message Queue ist von einer Reihe gemeinsam genutzter Java ES-Komponenten abhängig (siehe Tabelle 1-9), die alle automatisch vom Java ES-Installationsprogramm auf Release 5 aktualisiert werden, wenn Sie eine Aktualisierung von Message Queue durchführen.
Darüber hinaus bestehen für Message Queue Release 5 Abhängigkeiten zu Java ES-Produktkomponenten, wie unter Message Queue-Abhängigkeiten beschrieben. Bei diesen Komponenten ist es jedoch nicht erforderlich, eine Aktualisierung von Message Queue auf Release 5 durchzuführen.
- Rückwärtskompatibilität. Release 5 von Message Queue ist mit Release hinsichtlich der Protokolle, Broker-Kompatibilität, verwalteten Objekte, Verwaltungstools und Client-Anwendungen vollständig kompatibel.
- Aufheben der Aktualisierung. Für das Zurücksetzen der Message Queue-Aktualisierung auf Release 4 steht kein Dienstprogramm zur Verfügung. Sie müssen die aktualisierten Komponenten entfernen und die frühere Version sowie Konfigurationsdaten manuell wiederherstellen.
- Plattformspezifische Aspekte. Der allgemeine Ansatz für die Aktualisierung von Message Queue ist für das Solaris- und Linux-Betriebssystem identisch.
Aktualisierung der Release 4-Version von Message Queue
In diesem Abschnitt wird die vollständige Aktualisierung von Message Queue von Java ES Release 4 auf Java ES Release 5 beschrieben:
Aufgaben vor der Aktualisierung
Bevor Sie mit der Aktualisierung der Message Queue-Software beginnen, führen Sie die folgenden Aufgaben durch:
Aktuelle Versionsinformationen überprüfen
Um die Version und Ausgabe von Message Queue auf Ihrem System zu ermitteln, starten Sie den Message Queue-Broker mit der Option -version:
imqbrokerd -version
Message Queue-Abhängigkeiten aktualisieren
Es wird grundsätzlich empfohlen, alle Java ES-Komponenten auf einem Computersystem (und in einer Netzwerkumgebung) auf Java ES Release 5 zu aktualisieren. Für Message Queue bestehen nur zu ein paar gemeinsam genutzten Komponenten zwingende Aktualisierungsabhängigkeiten.
Wenn Sie die Message Queue-Abhängigkeiten aktualisieren, sollten Sie dies in der unten angegebenen Reihenfolge vornehmen, bevor Sie Message Queue aktualisieren. Überspringen Sie dabei die bereits aktualisierten Abhängigkeiten. Die Aktualisierung gemeinsam genutzter Komponenten erfolgt automatisch durch das Java ES-Installationsprogramm.
- Gemeinsam genutzte Komponenten. Anweisungen zur Synchronisierung von gemeinsam genutzten Java ES-Komponenten auf Release 5 finden Sie unter Aktualisieren der gemeinsam genutzten Java ES-Komponenten. Alle gemeinsam genutzten Komponenten, die von Message Queue benötigt werden, werden jedoch automatisch vom Java ES-Installationsprogramm aktualisiert, wenn Sie eine Aktualisierung von Message Queue auf Release 5 durchführen.
- Sun Cluster (keine zwingende Abhängigkeit). Anweisungen zur Aktualisierung von Sun Cluster auf Release 5 finden Sie in Chapter 3, "Sun Cluster-Software".
- Directory Server (keine zwingende Abhängigkeit). Anweisungen zur Aktualisierung von Directory Server auf Release 5 finden Sie in Chapter 5, "Directory Server".
- Java DB (keine zwingende Abhängigkeit). Sie müssen Java DB Release 5 neu installieren, wenn Sie Message Queue aktualisieren.
- Webcontainer-Software (keine zwingende Abhängigkeit). Anweisungen zur Aktualisierung von Webserver und Anwendungsserver finden Sie in Chapter 7, "Webserver" bzw. Chapter 11, "Anwendungsserver".
Sichern Message Queue
Wenn Sie eine Aktualisierung durchführen, ist es stets empfehlenswert, Anwendungsdaten in einer Produktionsumgebung zu sichern. Beachten Sie den in Tabelle 10-3 angegebenen persistenten Speicher für dynamische Anwendungsdaten.
Aktualisieren von Release 4 von Message Queue
So führen Sie die Aktualisierung durch
- Halten Sie sämtliche derzeit ausgeführten Message Queue-Client-Anwendungen an.
Wenn Message Queue in einer Anwendungsserver-Umgebung verwendet wird, beenden Sie Anwendungsserver ebenfalls.
- Halten Sie sämtliche ausgeführten Broker an. Sie werden zur Eingabe des Admin-Benutzernamens und des zugehörigen Passworts aufgefordert:
imqcmd shutdown bkr [-b hostName:port]
- Wenn Sie dynamische Daten, das Flatfile-Benutzer-Repository Message Queue und die der jeweiligen Broker-Instanz zugeordnete Message Queue-Zugriffssteuerungsdatei nicht beibehalten möchten, entfernen Sie diese Daten mit folgendem Befehl:
imqbrokerd -name instanceName -remove instance
Andernfalls werden die dynamischen Daten und Konfigurationsinformationen beibehalten und für Release 5 Message Queue verwendet.
- Melden Sie sich als Root-Benutzer an.
su -
- Starten Sie das Java ES-Installationsprogramm.
cd Java ES Release 5 distribution/os_arch
./installerwobei os_arch der Plattform entspricht, wie z. B. Solaris_sparc. (Verwenden Sie die Option installer -nodisplay für die Befehlszeilenschnittstelle.)
Nach der Willkommensseite sowie der Lizenzvereinbarung wird eine Seite für die Komponentenauswahl angezeigt. (Wenn installierte Komponenten erkannt werden, die direkt vom Java ES-Installationsprogramm aktualisiert werden können, wird der Status als aktualisierbar“ angezeigt.)
- Wählen Sie auf der Seite für die Komponentenauswahl Message Queue.
- Bestätigen Sie Ihre Auswahl für die Aktualisierung.
Die Message Queue-Pakete werden aktualisiert. Anschließend wird eine Aktualisierungszusammenfassung angezeigt.
- Beenden Sie das Java ES-Installationsprogramm.
Überprüfen der Message Queue-Aktualisierung
Überprüfen Sie nach Durchführung des Aktualisierungsverfahrens, ob die Aktualisierung erfolgreich war, indem Sie den Message Queue-Broker mit der Option -version starten.
Der Befehl gibt die Java ES-Versionsnummer sowie die Message Queue-spezifische Versionsnummer zurück.
Aufgaben nach der Aktualisierung
Wenn Sie den Webcontainer aktualisiert haben und das HTTP-Tunneling-Servlet von Message Queue verwenden, müssen Sie es möglicherweise erneut im Webcontainer bereitstellen. Am HTTP-Tunneling-Servlet von Release 4 wurden im Vergleich zu Release 5 keine Änderungen vorgenommen. Weitere Informationen zur HTTP-Unterstützung erhalten Sie im Message Queue 3.7 UR1 Administration Guide unter http://docs.sun.com/doc/819-4467.
Wenn Sie sicher sind, dass Sie die Aktualisierung nicht rückgängig machen müssen, können Sie den im Verzeichnis fs350 enthaltenen dateibasierten Datenspeicher von Release 4 entfernen (siehe Tabelle 10-3).
Aufheben der Aktualisierung
Für das Zurücksetzen von Message Queue in den Zustand vor der Aktualisierung stehen keine Skripte zur Verfügung. Der Vorgang muss wie folgt manuell durchgeführt werden:
- Halten Sie sämtliche derzeit ausgeführten Message Queue-Client-Anwendungen an.
- Halten Sie sämtliche ausgeführten Broker an. Sie werden zur Eingabe des Admin-Benutzernamens und des zugehörigen Passworts aufgefordert:
imqcmd shutdown bkr [-b hostName:port]
- Wenn Sie dynamische Daten, das Flatfile-Benutzer-Repository Message Queue und die der jeweiligen Broker-Instanz zugeordnete Message Queue-Zugriffssteuerungsdatei löschen möchten, entfernen Sie diese Daten mit folgendem Befehl:
imqbrokerd -name instanceName -remove instance
- Melden Sie sich als Root oder Superuser an.
su -
- Rufen Sie mit folgendem Befehl die Liste der installierten Message Queue-Pakete ab:
Unter Solaris:
pkginfo | grep -i "message queue"Unter Linux:
rpm -qa | grep mq- Entfernen Sie mit folgendem Befehl die Message Queue-Pakete:
Unter Solaris:
pkgrm packageName
Dabei steht packageName für ein beliebiges Message Queue-Paket. Wenn Sie mehrere Pakete entfernen möchten, trennen Sie die Paketnamen durch ein Leerzeichen.Unter Linux:
rpm -e --nodeps RPMName
Dabei steht RPMName für eine der Message Queue-RPM-Komponenten. Wenn Sie mehrere Komponenten entfernen möchten, trennen Sie die RPM-Namen durch ein Leerzeichen.Da die Message Queue-Pakete möglicherweise von anderen Produkten verwendet werden, sollten Sie beim Entfernen vorsichtig vorgehen. Durch den Befehl pkgrm werden Sie gewarnt, ob Abhängigkeiten mit einem Paket bestehen, bevor dieses entfernt wird. Geben Sie bei der entsprechenden Aufforderung Ihre Anforderung zum Entfernen j (ja) ein.
- Geben Sie zum Beenden q“ ein.
- Verlassen Sie die Root-Shell.
- Installieren Sie Message Queue Release 4 erneut.
Verwenden Sie das Java ES Release 4-Installationsprogramm.
- Stellen Sie die unter Sichern Message Queue gesicherten Daten von Message Queue Release 4 wieder her.
Message Queue Release 4 funktioniert ordnungsgemäß mit den vor der Aktualisierung auf Release 5 gesicherten Daten.
Aktualisierung mehrerer Instanzen
Um ein Message Queue-Cluster zu aktualisieren, in dem mehrere Broker zusammenarbeiten, um einen skalierbaren Meldungsdienst bereitzustellen, können Sie ein Rolling Upgrade durchführen, bei dem der Cluster online bleibt, während die einzelnen Message Queue-Instanzen nacheinander von Release 4 auf Release 5 aktualisiert werden. Beachten Sie bei der Aktualisierung eines Clusters die folgenden zwei Bedingungen:
Andernfalls handelt es sich um ein unkompliziertes Verfahren: Sie beenden, aktualisieren und starten die einzelnen Broker nacheinander neu, bis alle Broker aktualisiert sind.
Aktualisieren von Message Queue von Java ES Release 3Das Verfahren zur Aktualisierung von Java ES 2005Q1 (Release 3) Message Queue auf Release 5 ist mit dem Verfahren zur Aktualisierung von Message Queue Release 4 auf Release 5 identisch.
Um die Release 3-Version von Message Queue auf Release 5 zu aktualisieren, folgen Sie den Anweisungen unter Aktualisieren von Message Queue von Java ES Release 4. Ersetzen Sie in den Anweisungen jedoch Verweise auf Release 4 durch Release 3.
Aktualisieren von Message Queue von Java ES Release 2Dieser Abschnitt enthält Informationen zur Aktualisierung von Message Queue von Java ES 2004Q2 (Release 2) auf Java ES Release 5. In diesem Abschnitt werden folgende Themen behandelt:
Hinweis
Wenn Sie von Release 2 Message Queue auf der Linux-Plattform aktualisieren, müssen Sie eine duale Aktualisierung durchführen, bei der Message Queue und das Betriebssystem aktualisiert werden (Release 5 Message Queue wird auf RHEL 2.1 nicht unterstützt). Weitere Informationen finden Sie unter Duale Aktualisierung.
Einführung
Berücksichtigen Sie bei der Aktualisierung von Message Queue von Java ES Release 2 auf Release 5 folgende Aspekte des Aktualisierungsvorgangs:
- Allgemeiner Aktualisierungsansatz. Die Aktualisierung erfolgt durch die Ausführung des Skripts mqupgrade, das automatisch die Softwarepakete früherer Versionen durch die neuen Pakete ersetzt und die Migration der Release 2-Konfigurationsdaten vornimmt.
- Aktualisierungsabhängigkeiten. Die Aktualisierung einer Java ES-Komponente auf einem Computer von Release 2 erfordert eine Aktualisierung aller übrigen Java ES-Komponenten, die sich auf diesem Computer befinden. Die Auswahl einzelner Java ES-Komponenten bei einer Aktualisierung von Release 2 auf Release 5 wird nicht unterstützt. Insbesondere alle von Message Queue verwendeten gemeinsam genutzten Java ES-Komponenten müssen aktualisiert werden.
Die Release 5-Version von Message Queue ist optional von Directory Server und Webserver abhängig (oder Anwendungsserver), wie unter Message Queue-Abhängigkeiten beschrieben. Wenn sie auf demselben Computer installiert sind, ist eine Aktualisierung dieser Komponenten auf Release 5 ebenfalls erforderlich.
- Rückwärtskompatibilität. Message Queue Release 5 ist nicht vollständig kompatibel mit Release 2, wie unter Release 2-Kompatibilität, beschrieben.
- Aufheben der Aktualisierung. Das Zurücksetzen der Release 5-Aktualisierung auf Release 2 wird zurzeit nicht unterstützt (siehe Aufheben der Aktualisierung).
- Plattformspezifische Aspekte. Der allgemeine Ansatz für die Aktualisierung von Message Queue ist für das Solaris- und Linux-Betriebssystem identisch. Bei Linux-Betriebssystemen sind jedoch einige zusätzliche Verfahren erforderlich. In den folgenden Verfahren werden plattformspezifische Befehle, Dateispeicherorte oder Verfahren entsprechend gekennzeichnet.
Release 2-Kompatibilität
Message Queue Release 5 führt die folgenden allgemeinen Message Queue-Kompatibilitätsprobleme in Bezug auf Release 2 und frühere Versionen ein.
Protokollkompatibilität
Für Message Queue besteht eine zwingende Abhängigkeit zum Webcontainer, um HTTP-Protokollunterstützung für Message Queue-Clients und -Broker bereitzustellen. Aufgrund einer Protokolländerung müssen bei Verwendung von Sun Java System Webserver für die Bereitstellung eines Webcontainers für die Message Queue-Anwendung imqhttp.war sowohl die Webserver-Komponente als auch Message Queue aktualisiert werden (siehe Aufgaben nach der Aktualisierung auf (more...) und (more...) ).
Broker-Kompatibilität
Der Message Queue-Broker der Release 5-Version kann mit einem Release 4-, Release 3- oder Release 2-Broker zusammenarbeiten; die seit Release 2 vorgenommenen Änderungen der Broker-Eigenschaften und des Schemas für den persistenten Speicher können sich jedoch auf die Kompatibilität auswirken.
Message Queue der Release 5-Version kann Release 4-, Release 3- und Release 2-Daten verwenden, mit Ausnahme der Daten auf Linux-Systemen; Release 2-Daten müssen zunächst in Release 5 migriert werden.
Beachten Sie bei der Aktualisierung von Message Queue auf Release 5 Folgendes:
- Message Queue config.properties-Dateien früherer Versionen können verwendet werden. Sie können diese Dateien in einem anderen Verzeichnis speichern und die darin enthaltenen Eigenschaftseinstellungen für die Konfiguration des Message Queue-Brokers der Release 5-Version verwenden.
- Any persistent Message Queue data—messages, destinations, durable subscriptions—is automatically converted, if necessary, to Release 5 Message Queue data when starting up a broker for the first time. Vorhandene Ziele werden beispielsweise gegebenenfalls in Release 5 Message Queue-Ziele konvertiert, wobei die vorhandenen Attributswerte beibehalten und für neue Attribute Standardwerte verwendet werden.
- Wenn Sie Message Queue Release 2-Broker und Message Queue Release 5-Broker zusammen in einem Cluster verwenden, muss der Master-Broker ein Message Queue Release 2-Broker sein (in jedem Fall der ältere); das Cluster wird als Message Queue Release 2-Cluster ausgeführt.
Kompatibilität der verwalteten Objekte
Die verwalteten Message Queue-Objekte der Release 5-Version sind mit den verwalteten Objekten der Release 3- und Release 4-Version identisch. Manche der verwalteten Objekte der Release 3-Version wurden jedoch im Vergleich zu Vorgängerversionen umbenannt oder durch neue Attribute erweitert. Beachten Sie daher beim Aktualisieren von Release 2 Message Queue auf Release 5 Folgendes:
- Sie können denselben Objektspeicher und dieselben verwalteten Objekte, die Sie in Release 2 erstellt haben, verwenden. Es wird jedoch empfohlen, die verwalteten Objekte in Release 5 zu migrieren. Die Administrationskonsole (imqadmin) und das ObjectManager-Befehlszeilendienstprogramm (imqobjmgr) wandelt beim Aktualisierungsvorgang die verwalteten Release 2-Objekte in verwaltete Release 5-Objekte um.
- Die Release 5-Client-Runtime sucht nach Release 2-verwalteteten Objekten, erstellt Instanzen von diesen Objekten und wandelt die Objekte um, sodass diese von Release 5-Clients verwendet werden können. Hierdurch werden jedoch keine verwalteten Release 2-Objekte konvertiert, die sich in dem Objektspeicher befinden, von dem aus die Suche durchgeführt wurde.
- Vorhandene Release 2-Clients (Anwendungen und/oder Komponenten), d. h. Clients, die nicht erst nach verwalteten Objekten suchen, sondern diese direkt instanziieren, sind mit Release 5 kompatibel. Wenn die Clients jedoch die neuen verwalteten Objektattribute verwenden sollen, müssen diese neu geschrieben werden (Informationen zu verwalteten Objektattributen finden Sie in Kapitel 16 im Message Queue 3.7 UR1 Administration Guide unter http://docs.sun.com/doc/819-4467). (Um anzuzeigen, welche Message Queue Release 2-Attribute in Release 5 umbenannt wurden, führen Sie eine Neukompilierung durch. Die alten Namen können weiterhin verwendet werden.)
- Skripte, die Java-Clients starten und verwaltete Objektattributwerte mithilfe von Befehlszeilenoptionen festlegen, sind mit Release 5 kompatibel. Wenn die Skripte jedoch die neuen verwalteten Objektattribute verwenden sollen, müssen diese neu geschrieben werden (Informationen zu verwalteten Objektattributen finden Sie in Kapitel 16 im Message Queue 3.7 UR1 Administration Guide unter http://docs.sun.com/doc/819-4467).
Kompatibilität des Administrations-Tools
Da in Release 3 neue Befehle und neue Verwaltungsfunktionen hinzugefügt wurden, funktionieren die Release 5-Administrationstools (die Administrationskonsole und das Befehlszeilen-Dienstprogramm) nur mit Release 3-, Release 4- und Release 5-Brokern. Sämtliche Release 2-Befehle und -Befehlsoptionen werden jedoch weiterhin unterstützt.
Clientkompatibilität
Release 3- und Release 4-Clients sind vollständig mit Message Queue Release 5 kompatibel. Bei der Aktualisierung von Release 2 auf Release 5 sollten Sie jedoch hinsichtlich der Java-Clients folgende Kompatibilitätsaspekte berücksichtigen:
- Ein Release 5-Broker unterstützt Release 2-Clients (jedoch ohne zusätzliche Release 5-Funktionen).
- Ein Release 5-Java-Client kann eine Verbindung zu einem Release 2-Broker herstellen (jedoch ohne zusätzliche Release 5-Funktionen).
- C-Client-Programme werden mit einer Enterprise Edition-Lizenz oder einer Testlizenz der Platform Edition von Release 2-, Release 3- oder Release 4-Brokern unterstützt.
Aktualisierung der Release 2-Version von Message Queue
In diesem Abschnitt wird die vollständige Aktualisierung von Message Queue von Java ES Release 2 auf Java ES Release 5 beschrieben:
Aufgaben vor der Aktualisierung
Bevor Sie mit der Aktualisierung der Message Queue-Software beginnen, führen Sie die folgenden Aufgaben durch:
Aktuelle Versionsinformationen überprüfen
Um die Version und Ausgabe von Message Queue auf Ihrem System zu ermitteln, starten Sie den Message Queue-Broker mit der Option -version:
imqbrokerd -version
Message Queue-Abhängigkeiten aktualisieren
Es wird grundsätzlich empfohlen, alle Java ES-Komponenten auf einem Computersystem (und in einer Netzwerkumgebung) auf Java ES Release 5 zu aktualisieren. Für Message Queue bestehen nur zu ein paar gemeinsam genutzten Komponenten zwingende Aktualisierungsabhängigkeiten.
Wenn Sie die Message Queue-Abhängigkeiten aktualisieren, sollten Sie dies in der unten angegebenen Reihenfolge vornehmen, bevor Sie Message Queue aktualisieren. Überspringen Sie dabei die bereits aktualisierten Abhängigkeiten.
- Gemeinsam genutzte Komponenten. Anweisungen zur Aktualisierung von gemeinsam genutzten Java ES-Komponenten auf Release 5 finden Sie in Chapter 2, "Aktualisieren der gemeinsam genutzten Java ES-Komponenten").
- Sun Cluster (keine zwingende Abhängigkeit). Anweisungen zur Aktualisierung von Sun Cluster auf Release 5 finden Sie in Chapter 3, "Sun Cluster-Software".
- Directory Server (keine zwingende Abhängigkeit). Anweisungen zur Aktualisierung von Directory Server auf Release 5 finden Sie in Chapter 5, "Directory Server".
- Java DB (keine zwingende Abhängigkeit). Sie müssen Java DB Release 5 neu installieren, wenn Sie Message Queue aktualisieren.
- Webcontainer-Software (keine zwingende Abhängigkeit). Anweisungen zur Aktualisierung von Webserver und Anwendungsserver finden Sie in Chapter 7, "Webserver" bzw. Chapter 11, "Anwendungsserver".
Sichern Message Queue
Wenn Sie eine Aktualisierung durchführen, ist es stets empfehlenswert, Anwendungsdaten in einer Produktionsumgebung zu sichern. Unter Solaris OS werden dynamische Daten im folgenden Verzeichnis gespeichert:
/var/imq/instances/instanceName.Weitere Informationen zu anderen Betriebssystemen finden Sie im Message Queue 3.7 UR1 Administration Guide unter http://docs.sun.com/doc/819-4467.
Aktualisieren der Release 2-Version von Message Queue (Solaris)
Bei der Aktualisierung von Message Queue-Software auf Java ES Release 5 wird das Skript mqupgrade verwendet, mit dem die Release 5-Pakete installiert werden.
So führen Sie die Aktualisierung durch
- Halten Sie sämtliche derzeit ausgeführten Message Queue-Client-Anwendungen an.
Wenn Message Queue in einer Anwendungsserver-Umgebung verwendet wird, beenden Sie Anwendungsserver ebenfalls.
- Halten Sie sämtliche ausgeführten Broker an. Sie werden zur Eingabe des Admin-Benutzernamens und des zugehörigen Passworts aufgefordert:
imqcmd shutdown bkr [-b hostName:port]
- Wenn Sie dynamische Daten, das Flatfile-Benutzer-Repository Message Queue und die der jeweiligen Broker-Instanz zugeordnete Message Queue-Zugriffssteuerungsdatei nicht beibehalten möchten, entfernen Sie diese Daten mit folgendem Befehl:
imqbrokerd -name instanceName -remove instance
Andernfalls werden die dynamischen Daten und Konfigurationsinformationen beibehalten und für Release 5 Message Queue verwendet.
- Melden Sie sich als Root-Benutzer an.
su -
- Wechseln Sie in das Tools-Verzeichnis der Java ES Release 5-Verteilung.
Unter Solaris SPARC:
cd Solaris_sparc/Product/message_queue/ToolsUnter Solaris x86:
cd Solaris_x86/Product/message_queue/Tools- Führen Sie das Skript mqupgrade aus.
- Starten Sie das Skript.
./mqupgrade
Mithilfe des Skripts mqupgrade werden installierte Message Queue-Komponenten aufgelistet.
- Geben Sie y (ja) ein, um die Message Queue-Komponenten zu aktualisieren.
Mithilfe des Skripts mqupgrade werden installierte Lokalisierungsdateien ermittelt und aufgelistet.
Wenn die Message Queue-Komponenten nicht aktualisiert werden sollen, geben Sie n (nein) ein. Mithilfe des Skripts mqupgrade wird der Vorgang beendet, ohne dass Message Queue-Komponenten aktualisiert werden.
- Geben Sie y (ja) ein, um Lokalisierungsdateien zu aktualisieren.
Vom mqupgrade-Skript wird eine Ausgabe an die Protokolldatei gesendet, die sich hier befindet:
/var/sadm/install/logs/Message_Queue_upgrade_'date'.log
Aktualisieren der Release 2-Version von Message Queue (Linux)
Die Aktualisierung von Release 2 Message Queue auf Release 5 auf der Linux-Plattform ist dadurch kompliziert, dass Java ES Release 2 nur auf RHEL 2.1 unterstützt wird, Java ES Release 5 jedoch nicht auf RHEL 2.1 unterstützt wird. Daher ist eine duale Aktualisierung erforderlich: Sowohl das Betriebssystem als auch Message Queue müssen aktualisiert werden. Siehe Duale Aktualisierungen: Java ES und Betriebssystem-Software
Bei der Basisvorgehensweise wird zuerst das Linux Betriebssystem aktualisiert, anschließend werden sämtliche Message Queue-Abhängigkeiten und zuletzt Message Queue aktualisiert.
Die Aktualisierung von Message Queue Release 2 auf Release 5 beinhaltet einen Schritt für die Datenmigration, der bei Solaris-Systemen erforderlich ist, und zwar die Migration von Broker-Instanzdaten in das entsprechende Release 5-Verzeichnis. Wenn Sie Ihre Release 2-Daten bei der Aktualisierung auf Release 5 beibehalten möchten, führen Sie die Migration mit dem Migrationstool mqmigrate von Message Queue durch.
Um eine Aktualisierung von Release 2 auf Release 5 durchzuführen, folgen Sie den Anweisungen unter Aktualisieren der Release 2-Version von Message Queue (Solaris). Führen Sie jedoch das Skript mqmigrate (Step 6) wie folgt aus, bevor Sie das Skript mqupgrade (Step 7) ausführen:
- Halten Sie sämtliche derzeit ausgeführten Message Queue-Client-Anwendungen an.
- Halten Sie sämtliche ausgeführten Broker an. Sie werden zur Eingabe des Admin-Benutzernamens und des zugehörigen Passworts aufgefordert:
imqcmd shutdown bkr [-b hostName:port]
- Wenn Sie dynamische Daten, das Flatfile-Benutzer-Repository Message Queue und die der jeweiligen Broker-Instanz zugeordnete Message Queue-Zugriffssteuerungsdatei nicht beibehalten möchten, entfernen Sie diese Daten mit folgendem Befehl:
imqbrokerd -name instanceName -remove instance
Andernfalls werden die dynamischen Daten und Konfigurationsinformationen beibehalten und für Release 5 Message Queue verwendet.
- Melden Sie sich als Root oder Superuser an.
su -
- Wechseln Sie in das Tools-Verzeichnis der Java ES Release 5-Verteilung.
cd Linux_x86/Product/message_queue/Tools
- Migrieren Sie Broker-Instanzdaten mithilfe dieses Befehls:
./mqmigrate
Das Skript mqmigrate verschiebt die Konfigurationsdaten der Release 2-Broker-Instanz in das entsprechende Verzeichnis der Release 4-Version.
- Führen Sie das Skript mqupgrade aus.
- Starten Sie das Skript.
./mqupgrade
Mithilfe des Skripts mqupgrade werden installierte Message Queue-Komponenten aufgelistet.
- Geben Sie y (ja) ein, um die Message Queue-Komponenten zu aktualisieren.
Mithilfe des Skripts mqupgrade werden installierte Lokalisierungsdateien ermittelt und aufgelistet.
Wenn die Message Queue-Komponenten nicht aktualisiert werden sollen, geben Sie n (nein) ein. Mithilfe des Skripts mqupgrade wird der Vorgang beendet, ohne dass Message Queue-Komponenten aktualisiert werden.
- Geben Sie y (ja) ein, um Lokalisierungsdateien zu aktualisieren.
Vom mqupgrade-Skript wird eine Ausgabe an die Protokolldatei gesendet, die sich hier befindet:
/var/sadm/install/logs/Message_Queue_upgrade_'date'.log
Installation des Kompatibilitätspakets (Linux)
Wenn Sie über Skripte verfügen, die vom Speicherort der installierten Release 5-Dateien abhängen, oder Ihre Release 2-Client-Anwendungen solche Skripte enthalten, müssen Sie das Paket sun-mq-compat installieren. Das Paket enthält Symlinks von den Speicherorten der Release 2-Dateien zu den Speicherorten der Release 5-Dateien.
Das sun-mq-compat-Paket befindet sich im nachfolgenden Verzeichnis, in das Sie die Java ES Release 5-Verteilung entzippt haben.
Linux_x86/Product/message_queue/Packages
So installieren Sie das sun-mq-compat-Paket
Überprüfen der Message Queue-Aktualisierung
Überprüfen Sie nach Durchführung des Aktualisierungsverfahrens, ob die Aktualisierung erfolgreich war, indem Sie den Message Queue-Broker mit der Option -version starten.
Der Befehl gibt die Java ES-Versionsnummer sowie die Message Queue-spezifische Versionsnummer zurück.
Aufgaben nach der Aktualisierung
Wenn Sie das HTTP-Tunneling-Servlet verwenden, um Unterstützung für den HTTP-Verbindungsdienst bereitzustellen, wurde das Servlet bei der Message Queue-Aktualisierung von Release 2 auf Release 5 aktualisiert. Das heißt, Sie müssen das Servlet nach der Aktualisierung von Message Queue auf Release 5 erneut bereitstellen. Weitere Informationen zur HTTP-Unterstützung finden Sie im Message Queue 3.7 UR1 Administration Guide unter http://docs.sun.com/doc/819-4467.
Sie müssen darüber hinaus mithilfe der Administrationskonsole (imqadmin) die verwalteten Release 2-Objekte in die Release 5-Versionen migrieren und/oder führen Sie mit dem ObjectManager-Befehlszeilendienstprogramm (imqobjmgr) eine Aktualisierung durch.
Aufheben der Aktualisierung
Die Aktualisierung von Message Queue von Release 2 auf Release 5 wird zurzeit nicht unterstützt. Das hierfür angewendete Verfahren entspräche normalerweise dem Zurücksetzen der Release 5-Aktualisierung auf Release 4 (siehe Aufheben der Aktualisierung). Da jedoch die Java ES-Produktregistrierung durch die Aktualisierung von Message Queue von Release 2 auf Release 5 nicht aktualisiert wird, kann Message Queue Release 2 vom Java ES-Installationsprogramm nicht neu installiert werden.
Um dieses Problem zu umgehen, wenden Sie sich an die Sun Services.
Aktualisierung mehrerer Instanzen
Um ein Message Queue-Cluster zu aktualisieren, in dem mehrere Broker zusammenarbeiten, um einen skalierbaren Meldungsdienst bereitzustellen, können Sie ein Rolling Upgrade durchführen, bei dem der Cluster online bleibt, während die einzelnen Message Queue-Instanzen nacheinander von Release 2 auf Release 5 aktualisiert werden. Beachten Sie bei der Aktualisierung eines Clusters die folgenden zwei Bedingungen:
Andernfalls handelt es sich um ein unkompliziertes Verfahren: Sie beenden, aktualisieren und starten die einzelnen Broker nacheinander neu, bis alle Broker aktualisiert sind.