Versionshinweise zu Sun GlassFish Message Queue 4.4

Kapitel 1 Versionshinweise

Version 4.4

Teilenr. 821-0889-05

Diese Versionshinweise enthalten wichtige Informationen, die zum Zeitpunkt der Veröffentlichung von Sun GlassFish Message Queue 4.4 verfügbar waren. Hier finden Sie u. a. Informationen zu neuen Funktionen, Verbesserungen und bekannten Problemen. Lesen Sie dieses Dokument, bevor Sie Message Queue 4.4 verwenden.

Diese Versionshinweise enthalten auch Informationen über die Versionen 4.3, 4.2, 4.1 und 4.0 von Message Queue. In Neue Funktionen in Message Queue 4.2, Neue Funktionen in Message Queue 4.1 und Neue Funktionen in Message Queue 4.0 finden Sie Informationen zu den neuen Funktionen in diesen Versionen.

Die neueste Ausgabe dieser Versionshinweise wird auf der Sun GlassFish Message Queue-Dokumentations-Website unter http://docs.sun.com/coll/1307.7 bereitgestellt. Besuchen Sie diese Website vor der Installation und Konfiguration Ihrer Software und später regelmäßig, um stets die neuesten Versionshinweise und Produktdokumentationen verfügbar zu haben.

In diesen Versionshinweisen werden die folgenden Themen behandelt:

Diese Dokumentation nimmt Bezug auf URLs zu Produkten von Drittanbietern und bietet weitere relevante Informationen.

Sun ist nicht für die Verfügbarkeit der in diesem Dokument erwähnten Websites anderer Hersteller verantwortlich. Sun haftet nicht für den Inhalt oder Werbung auf diesen Websites oder für die auf diesen Websites angebotenen Produkte und Materialien. Sun übernimmt keine Verantwortung oder Haftung für tatsächliche oder angebliche Schäden oder Verluste, die im Zusammenhang mit den auf diesen Websites angebotenen Informationen, Waren oder Dienstleistungen entstanden sind.

Änderungsprotokoll der Versionshinweise

In der folgenden Tabelle sind die Datumsangaben zu den 4.x-Versionen von Message Queue sowie die in diesem Dokument enthaltenen Änderungen bei den einzelnen Versionen aufgeführt.

Tabelle 1–1 Änderungsprotokoll

Datum 

Beschreibung der Änderungen 

Oktober 2009 

Veröffentlichung dieses Dokuments für Message Queue 4.4. Ergänzt durch neue Funktionen für diese Version. 

Mai 2009 

Erste Ausgabe dieses Dokuments für Message Queue 4.4 Beta. Ergänzt durch neue Funktionen für diese Version. 

Dezember 2008 

Veröffentlichung dieses Dokuments für Message Queue 4.3. Ergänzt durch neue Funktionen für diese Version. 

August 2008 

Veröffentlichung dieses Dokuments für Message Queue 4.2. Ergänzt durch neue Funktionen für diese Version. 

September 2007 

Dritte Ausgabe dieses Dokuments für Message Queue 4.1. Ergänzt durch eine Beschreibung der Unterstützung für Java Enterprise System Monitoring Framework, korrigierte C-Anschlüsse, Fehlerkorrekturen und andere Funktionen. 

April 2007 

Zweite Ausgabe dieses Dokuments für Message Queue 4.1 Beta. Fügt eine Hochverfügbarkeitsfunktion hinzu. 

Januar 2007 

Erste Ausgabe dieses Dokuments für Message Queue 4.1 Beta. Fügt eine Beschreibung der JAAS-Unterstützung hinzu. 

Mai 2006 

Erste Ausgabe dieses Dokuments für Message Queue 4.0. 

Info zu Message Queue 4.4

Sun GlassFish Message Queue ist ein leistungsfähiger Nachrichtendienst, der ein zuverlässiges, asynchrones Messaging gemäß JMS 1.1 (Java Messaging Specification) bietet. Zusätzlich stellt Message Queue Funktionen bereit, die über JMS hinausgehen, um den Anforderungen großer Bereitstellungen im Unternehmensbereich gerecht zu werden.

Message Queue 4.4 ist eine Unterversion der Version 2.1.1 von Sun GlassFish Application Server. Daher ist kein separates Message Queue 4.4-Paket vorhanden, das heruntergeladen und installiert werden kann.

Message Queue 4.4 - Unterstützte Plattformen und Komponenten

In diesem Abschnitt werden folgende Themen in Bezug auf die für Message Queue 4.4 geltenden Systemvoraussetzungen behandelt:

Unterstütze Betriebssystemplattformen

Message Queue 4.4 wird auf den Betriebssystemplattformen Solaris, Linux, Windows und AIX unterstützt. In Tabelle 1–2 finden Sie die unterstützten Versionen dieser Plattformen. Die für die einzelnen Plattformen geltenden Hardware-Anforderungen finden Sie im Sun GlassFish Message Queue 4.4 Installation Guide.

Tabelle 1–2 Unterstützte Plattformversionen

Plattform 

Unterstützte Versionen 

Solaris 

Solaris 9 (SunOS 5.9), alle Aktualisierungen (SPARC, x86)

Solaris 10 (SunOS 5.10), alle Aktualisierungen (SPARC, x86, x64)

Linux 

Red Hat Enterprise Linux Advanced Server 3.0, 4.0, 5.0, alle Aktualisierungen, 32– und 64–Bit-Versionen (x86, x64)

Red Hat Enterprise Linux Enterprise Server 3.0, 4.0, 5.0, alle Aktualisierungen, 32– und 64–Bit-Versionen (x86, x64)

AIX 

AIX 6.1 

Windows 

Windows Vista 

Windows XP Professional, SP2 ( x86) [Keine Unterstützung für Home, Tablet PC oder Media Center Edition]

Windows 2000 Advanced Server, SP4 (x86) [Keine Unterstützung für Professional oder Server Edition]

Windows Server 2003, Standard und Enterprise Edition, SP2, 32– und 64–Bit-Versionen (x86, x64) [Keine Unterstützung für Web oder Small Business Server Edition]

Windows Server 2008 Standard und Enterprise Editions, SP2, 32- und 64-Bit-Versionen (x86, x64)

Unterstützung der Systemvirtualisierung

Bei der Systemvirtualisierung handelt es sich um eine Technologie, mit der mehrere Instanzen eines Betriebssystems auf einer gemeinsam genutzten Hardware unabhängig voneinander ausgeführt werden können. Auf der Funktionsebene erkennt die auf einem Betriebssystem in einer virtualisierten Umgebung bereitgestellte Software im Allgemeinen nicht, dass die zugrunde liegende Plattform virtualisiert wurde. Sun testet seine Sun Java System-Produkte auf ausgewählten Systemvirtualisierungs- und Betriebssystemkombinationen, um sicherzustellen, dass diese Produkte in virtualisierten Umgebungen mit zulässiger Größe und Konfiguration weiterhin so arbeiten wie auf nicht virtualisierten Systemen. Weitere Informationen über die Unterstützung von Sun für Sun Java System-Produkte in virtualisierten Umgebungen finden Sie unter http://download.oracle.com/820-4651.

Komponentenabhängigkeiten

Neben den plattformspezifischen Anforderungen hängt Message Queue 4.4 auch von bestimmten Grundkomponenten ab, die installiert sein müssen, damit Message Queue-Clients entwickelt und ausgeführt werden können. In Tabelle 1–3 werden diese Komponenten beschrieben. Andere Versionen oder Herstellerimplementierungen können auch verwendet werden. Diese sind jedoch von Sun Microsystems nicht getestet und werden daher nicht offiziell unterstützt.


Hinweis –

Mit dem Message Queue-Installationsprogramm für die Plattformen Solaris, Linux und Windows können Sie ein(e) bestehende(s) JDK/JRE auswählen oder die JDK-Version (1.5.0_15) installieren.


Tabelle 1–3 Erforderliche Unterstützungskomponenten

Komponente 

Unterstützt 

Unterstützte Versionen [nur Produktversionen von Sun Microsystems]

Java Runtime Environment (JRE)

Message Queue-Broker- und Verwaltungswerkzeuge 

J2SETM Runtime Environment 1.5.0_15 oder höher

JavaTM SE Runtime Environment 1.6.0_10

Java Software Development Kit (JDK), Standard Edition

Java-Client-Entwicklung und -Einsatz 

J2SETM Development Kit 1.5.0_15 oder höher

Java SE Development Kit 1.6.0_10

In Tabelle 1–4 finden Sie zusätzliche Komponenten, die Sie installieren können, um weitere Unterstützung für Message Queue-Clients bereitzustellen. Möglicherweise benötigen Sie nicht alle aufgeführten Komponenten. Wenn Sie beispielsweise keinen C-Client schreiben, benötigen Sie den C-Compiler, die C++-Laufzeitbibliothek, NSPR und NSS nicht.

Tabelle 1–4 Optionale Unterstützungskomponenten

Komponente 

Unterstützt 

Unterstützte Versionen 

Anwendungsserver 

HTTP/HTTPS

Sun GlassFish Application Server Enterprise Edition, Version 9.1 .1 (GlassFish Enterprise Server 2.1) 

Web Server 

HTTP/HTTPS

Sun GlassFish Web Server Enterprise Edition, Version 7.0, Update 3 

Datenbank 

JDBC-basierter Datenspeicher 

HADB, Version 4.4.3–6

Java DB (Apache Derby), Version 10.4

MySQL Community/Enterprise Edition, Version 5.0 

Oracle 9i, 10g und 11g 

postgreSQL, Version 8.1 


Hinweis –

Die PointBase-Datenbank wird nicht mehr unterstützt.


Hochverfügbare Datenbank 

Hochverfügbarkeits-Broker- Cluster 

HADB, Version 4.4.3–6

MySQL Cluster Edition, Version 5.0 

Oracle 10g und 11g 

Lightweight Directory Access Protocol-(LDAP-) Verzeichnisserver

Message Queue – Benutzer-Reposiory und verwaltete Objekte 

Sun GlassFish Directory Server, Version 6.0 

Java Naming and Directory Interface (JNDI)

Unterstützung für verwaltete Objekte und LDAP-Benutzer-Repository

JNDI Version 1.2.1

LDAP Service Provider, Version 1.2.2

File System Service Provider, Version 1.2 Beta 3 [Nur Unterstützung für verwaltete Objekte; unterstützt für Entwicklung und Tests, nicht jedoch für die Bereitstellung in einer Produktionsumgebung]

C-Compiler und kompatible C++-Runtime-Bibliothek 

Message Queue-C-Clients 

Solaris: Sun Studio, Version 11 oder höher, C++-Compiler mit Standardmodus und C-Compiler

Linux: gcc/g++, Version 3.2.3

Windows: Microsoft Windows Visual C++, Version 6.0 SP3

Netscape Portable Runtime (NSPR)

Message Queue-C-Clients 

Version 4.7 [Gebündelt als gemeinsam genutztes Paket im Download-Bundle]

Network Security Services (NSS)

Message Queue-C-Clients 

Version 3.11.9

Neue Funktionen in Message Queue 4.4 und aktuellen Versionen

Die neuen Funktionen in Message Queue 4.4 und vorhergehende Versionen in der Message Queue 4.x-Familie sind in folgenden Abschnitten beschrieben:

Neue Funktionen in Message Queue 4.4

Message Queue 4.4 ist eine Unterversion, die eine Anzahl von Funktionserweiterungen und Fehlerkorrekturen enthält. Dieser Abschnitt enthält eine Beschreibung neuer Funktionen in dieser Version:

JMS-Brückendienst

Da JMS kein Wire-Protokoll zur Kommunikation zwischen Brokern und Clients festlegt, verwendet jeder JMS-Provider (einschließlich Message Queue) ein eigenes, proprietäres Protokoll. Dies verhindert die Interoperabilität zwischen JMS-Providern.

Der JMS-Brückendienst in Message Queue 4.4 schließt diese Lücke, indem er einem Message Queue-Broker ermöglicht, seine Ziele den Zielen externer JMS-Provider zuzuordnen. Dadurch kann der Message Queue-Broker mit Clients des externen JMS-Providers kommunizieren.

Der JMS-Brückendienst unterstützt die Zuordnung von Zielen in externen JMS-Providern, die folgende Voraussetzungen erfüllen:

Viele Open Source- und kommerzielle JMS-Provider erfüllen diese Voraussetzungen. Dadurch wird der JMS-Brückendienst zu einer wirkungsvollen Möglichkeit zur Integration von Message Queue in eine vorhandene Messaging-Umgebung, in der andere JMS-Provider verwendet werden.

Weitere Informationen zum JMS-Brückendienst finden Sie unter:

STOMP-Brückendienst

Wie bereits erwähnt legt JMS kein Wire-Protokoll zur Kommunikation zwischen Brokern und Clients fest. Das Open Source-Projekt STOMP (Streaming Text Oriented Messaging Protocol) unter http://stomp.codehaus.org definiert ein einfaches Wire-Protokoll, das in beliebiger Sprache geschriebene Clients zur Kommunikation mit beliebigen Messaging-Providern, die das STOMP-Protokoll unterstützten, nutzen können.

Message Queue 4.4 bietet diese Unterstützung mithilfe des STOMP-Brückendiensts. Der Dienst ermöglicht einem Message Queue-Broker die Kommunikation mit STOMP-Clients.

Weitere Informationen über den STOMP-Brückendienst finden Sie in folgenden Dokumenten:

Zusätzliche Erweiterungen

Message Queue 4.4 bietet außerdem die folgenden zusätzlichen Erweiterungen:

Neue Universal Message Service-Funktionen (UMS)

Der UMS bietet jetzt Funktionen, die auf HTTP GET basieren:

Eine Übersicht über UMS erhalten Sie in Universal Message Service (UMS). Die Dokumentation zur UMS-API finden Sie unter https://mq.dev.java.net/4.3-content/ums/protocol.html. Programmierbeispiele in mehreren Sprachen finden Sie unter https://mq.dev.java.net/4.3-content/ums/examples/README.html.

Unterstützung für IPS-Pakete

Message Queue wird nun mit dem quelloffenen Image Packaging System (IPS), das auch als pkg(5)-System bezeichnet wird, verpackt und zur Verteilung bereitgestellt. Diese Verpackungsmethode ermöglicht die Integration von Message Queue in Sun GlassFish Enterprise Server 2.1.1.

Neue Funktionen in Message Queue 4.3

Message Queue 4.3 war eine Unterversion, die eine Reihe von Funktionserweiterungen und Fehlerkorrekturen enthielt. Dieser Abschnitt enthält eine Beschreibung neuer Funktionen in dieser Version:

Universal Message Service (UMS)

Mit Message Queue 4.3 wird ein neuer Universal Messaging Service (UMS) und eine Messaging-API eingeführt, die den Zugriff auf Message Queue über ein beliebiges HTTP-fähiges Gerät ermöglicht. Auf diese Art können fast alle Anwendungen miteinander kommunizieren und von der Zuverlässigkeit und garantierten Zustellung durch JMS-Messaging profitieren. Außerdem bietet UMS eine erweiterte Skalierbarkeit für JMS-Messaging, wodurch die Anzahl der Messaging-Clients internetähnliche Ausmaße erreichen kann.

Architektur

Die grundlegende UMS-Architektur wird in der folgenden Abbildung gezeigt:

Abbildung 1–1 UMS-Architektur

Abbildung, die den UMS als Schnittstelle zwischen Clients ohne JMS und einem JMS-Provider zeigt.

Der UMS, der auf einem Webserver ausgeführt wird, ist sprachneutral und plattformunabhängig. Der UMS dient als Schnittstelle zwischen einer Client-Anwendung ohne JMS und einem JMS-Provider. Er empfängt Meldungen, die mithilfe der UMS-API versendet werden, wandelt sie in JMS-Meldungen um und erzeugt sie am Ziel im JMS-Provider mithilfe des nativen Protokolls des Providers. Ebenso empfängt er Nachrichten von den Zielen im JMS-Provider, wandelt sie in Text oder SOAP-Nachrichten um und sendet sie entsprechend den über die UMS-API angegebenen Anforderungen an Clients ohne JMS.

Die einfache, sprachunabhängige, protokollbasierte UMS-API unterstützt sowohl webbasierte als auch nicht webbasierte Anwendungen und kann mit Skript- und Programmiersprachen verwendet werden. Die API wird in zwei Stilen angeboten: als einfache Messaging-API, die ein Protokoll des Typs Representational State Transfer (REST) verwendet, und als XML-Messaging-API, die das Protokoll in einen SOAP-Nachrichten-Header einbettet. In beiden Fällen erfordert jedoch die API nur eine einfache HTTP-Anforderung zum Senden oder Empfangen einer Nachricht.

Die Einfachheit und Flexibilität der UMS-API bedeutet, dass AJAX, .NET, Python, C, Java und viele andere Anwendungen Textnachrichten und/oder SOAP-Nachrichten (mit Anhang) an JMS-Ziele senden oder von JMS-Zielen empfangen können. Beispielsweise können Python-Anwendungen mit .NET-Anwendungen, das iPhone mit Java-Anwendungen usw. kommunizieren.

Für Message Queue 4.3 unterstützt der UMS nur Message Queue als JMS-Provider.

Weitere Funktionen

Der UMS kann nicht nur wie oben beschrieben als einfache Schnittstelle verwendet werden. Er unterstützt Client-Sitzungen mit und ohne Status. Der UMS behält den Sitzungsstatus für die Client-Anwendung über mehrere Dienstanforderungen hinweg bei, wenn dies vom Client gefordert wird. Der UMS kann eine Container-verwaltete Authentifizierung nutzen und/oder zur Authentifizierung von Clients mithilfe des Message Queue-Brokers konfiguriert werden. Der UMS unterstützt außerdem Transaktionen und ermöglicht Client-Anwendungen das Übernehmen und Zurücksetzen von mehreren Dienstanforderungen als einzelne atomare Einheit.

Da der UMS eine große Anzahl von Clients über eine einzelne Verbindung mit dem Message Queue-Broker unterstützen kann, entlastet er die Verbindungsdienste des Brokers und ermöglicht maximale Skalierbarkeit. Außerdem kann die UMS-Kapazität durch horizontale Skalierung erhöht werden und ermöglicht so ein internetähnliches Messaging-Aufkommen.

Aufgrund der Einfachheit der protokollbasierten UMS-API sind auf der Client-Seite keine Client-Bibliotheken erforderlich. Dadurch kann die API zukünftig für zusätzliche JMS-Funktionen ohne Upgrade der Client-Anwendungen erweitert werden.

Verwenden von UMS

Um den UMS zu verwenden, stellen Sie ihn in einem Webcontainer bereit, der Servlet 2.4 oder höhere Spezifikationen unterstützt. Starten Sie den Message Queue-Broker, erstellen Sie die gewünschten Ziele und schreiben Sie eine Messaging-Anwendung, die die UMS-API zum Senden oder Empfangen von Nachrichten verwendet.

Die im Rahmen von Message Queue 4.3 bereitgestellte UMS-Datei imqums.war wird, abhängig von der Plattform, an einem der folgenden Speicherorte installiert:

Sie können die .war-Datei bei Bedarf umbenennen.

Tabelle 1–5 Speicherort der Datei imqums.war

Plattform 

Speicherort von imqums.war

Solaris 

/usr/share/lib/imq

Linux 

/opt/sun/mq/share/lib

AIX 

IMQ_HOME/lib

Windows 

IMQ_HOME\lib

Nachdem Sie die Datei imqums.war in einem Webcontainer unter localhost:port bereitgestellt haben, finden Sie die UMS-Dokumentation unter:

http://localhost:port/imqums

Andernfalls steht Ihnen folgende UMS-Dokumentation zur Verfügung:

Unterstützte Webcontainer

UMS wird gegenwärtig auf folgenden Webcontainern unterstützt:

Unterstützung der AIX-Plattform

Message Queue 4.3 bietet Pakete für die AIX-Plattform und ein entsprechendes Installationsprogramm.

Die AIX-Implementierung von Message Queue unterstützt folgende Software:

Installationsanweisungen finden Sie in Kapitel 4, AIX Installation in Sun GlassFish Message Queue 4.4 Installation Guide.

Auf der AIX-Plattform werden Message Queue-Dateien in einem einzigen Message Queue-Ausgangsverzeichnis, IMQ_HOME, installiert. IMQ_HOME gibt das Verzeichnis mqInstallHome/mq an, wobei mqInstallHome dem Ausgangsverzeichnis der Installation entspricht, das Sie bei der Installation des Produkts angeben (standardmäßig home-directory /MessageQueue).

Daraus ergibt sich die gleiche Message Queue-Verzeichnisstruktur wie bei der Windows-Plattform (siehe Abschnitt zu Windows in Anhang A, Platform-Specific Locations of Message Queue Data in Sun GlassFish Message Queue 4.4 Administration Guide).

Die Message Queue-Unterstützung für die AIX-Plattform schließt die Unterstützung der Message Queue C-API ein. Anweisungen zum Erstellen und Kompilieren von C-Anwendungen auf der AIX-Plattform finden Sie unter XREF.

Neues Zip-basiertes Installationsprogramm

Mit Message Queue 4.3 wird ein neues Installationsprogramm eingeführt, das eine Zip-basierte Verteilung im Gegensatz zur Verteilung in Form von nativen Paketen ermöglicht. Das Programm installiert die .zip-Pakete für Message Queue auf der AIX-Plattform.

Das neue Installationsprogramm extrahiert die .zip-Dateien für Message Queue in alle Verzeichnisse, auf die Sie Schreibzugriff besitzen. (Sie benötigen keine root-Berechtigung.) Es ermöglicht außerdem das Registrieren Ihrer Message Queue-Installation bei Sun Connection.

Um die Größe der Download-Bundles zu reduzieren, ist die Java Runtime nicht mehr in der zip-basierten Verteilung enthalten (auf den meisten Sites ist sie bereits vorhanden). Deshalb muss für den Befehl installer ein JDK oder eine JRE angegeben werden, entweder über die Umgebungsvariable JAVA_HOME oder über die Befehlszeile mithilfe der Option -j. Beispiel:

$ installer -j JDK/JRE-Pfad

Dabei entspricht JDK/JRE-Pfad dem Pfad des JDK oder der JRE.

Erweiterte Plattformunterstützung

Die folgende aktualisierte Plattformunterstützung wird für Message Queue 4.3 zertifiziert:

Zusätzliche Erweiterungen

Message Queue 4.3 bietet außerdem die folgenden zusätzlichen Erweiterungen:

Neue Verzeichnisstruktur für Windows-Plattform

Die installierte Verzeichnisstruktur für Message Queue auf der Windows-Plattform wurde im Vergleich zu früheren Versionen geändert und an diejenige der AIX-Plattform angepasst. Diese Verzeichnisstruktur wird zukünftig auch für die Solaris- und Linux-Plattformen verwendet. Dies ermöglicht mehrere Installationen auf einem einzelnen Computer und die automatische Aktualisierung von Message Queue über Sun Connection, einem von Sun gehosteten Dienst, mit dem Sie Sun-Hardware und -Software aufzeichnen, organisieren und warten können (siehe Unterstützung des Installationsprogramms für Sun Connection-Registrierung).

Neue Broker-Eigenschaften

Die nachfolgend beschriebenen neuen Eigenschaften sind bei der Konfiguration eines Brokers verfügbar:

Tabelle 1–6 Broker-Weiterleitungs- und Zustellungseigenschaften

Eigenschaft 

Typ 

Standardwert 

Beschreibung 

imq.transaction.producer.maxNumMsgs

Integer 

1000

Die maximale Anzahl von Nachrichten, die der Produzent in einer einzelnen Transaktion verarbeiten kann. Es wird empfohlen, einen Wert unter 5000 festzulegen, um eine Überlastung der Ressourcen zu verhindern. 

imq.transaction.consumer.maxNumMsgs

Integer 

100

Die maximale Anzahl von Nachrichten, die der Konsument in einer einzelnen Transaktion verarbeiten kann. Es wird empfohlen, einen Wert unter 1000 festzulegen, um eine Überlastung der Ressourcen zu verhindern. 

imq.persist.jdbc.connection.limit

Integer 

5

Die maximale Anzahl von Verbindungen zur Datenbank, die geöffnet werden können. 

Verbesserungen der JMX Administration-API

Der JMX-API wurden ein neues Attribut und neue Schlüssel für zusammengesetzte Datumsangaben hinzugefügt:

Weitere Informationen finden Sie in Kapitel 3, Message Queue MBean Reference in Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients.

Auflisten dauerhafter Abonnements für Platzhalter-Abonnenten

Der Befehl zum Auflisten dauerhafter Abonnements:

list dur [-d Themenname]

wurde erweitert, sodass die Angabe des Themennamens optional ist. Wenn kein Thema angegeben wird, listet der Befehl die dauerhaften Abonnements für alle Themen auf (auch diejenigen, für die Platzhalter-Namenskonventionen verwendet wurden).

Neue Funktionen in Message Queue 4.2

Message Queue 4.2 war eine Unterversion, die eine Reihe neuer Funktionen, einige Funktionserweiterungen und Fehlerkorrekturen enthielt. In diesem Abschnitt werden die neuen Funktionen in der Version 4.2 beschrieben und weitere Referenzen angegeben:

Informationen zu den neuen Funktionen in den Versionen Message Queue 4.1 und 4.0 finden Sie in Neue Funktionen in Message Queue 4.1 bzw. Neue Funktionen in Message Queue 4.0.

Mehrere Ziele für einen Herausgeber bzw. Abonnenten

Ab Message Queue 4.2 kann ein Herausgeber Nachrichten an mehrere Themenziele veröffentlichen und ein Abonnent kann Nachrichten von mehreren Themenzielen konsumieren. Diese Fähigkeit wird erreicht, indem ein Themenzielname mit Platzhalterzeichen verwendet wird, der für mehrere Ziele steht. Durch die Verwendung dieser symbolischen Namen können die Administratoren bei Bedarf zusätzliche Themenziele erstellen, die dem Benennungsschema mit Platzhaltern entsprechen. Die hinzugefügten Ziele werden automatisch bei Veröffentlichungen durch Herausgeber und beim Konsum durch Abonnenten berücksichtigt. (Bei Abonnenten sind Themen mit Platzhalterzeichen üblicher als bei Herausgebern.)


Hinweis –

Diese Funktion gilt nicht für Warteschlangenziele.


Eine Beschreibung des Formats der symbolischen Themenzielnamen und Verwendungsbeispiele erhalten Sie in Supported Topic Destination Names in Sun GlassFish Message Queue 4.4 Administration Guide.

Schemavalidierung von XML-Payload-Meldungen

Diese in Message Queue 4.2 eingeführte Funktion ermöglicht die Validierung des Inhalts einer Text-XML-Nachricht (keine Objektnachrichten) anhand eines XML-Schemas an der Stelle, an der die Nachricht an den Broker gesendet wird. Der Speicherort des XML-Schemas (XSD) wird als Eigenschaft eines Message Queue-Ziels angegeben. Wenn kein XSD-Speicherort angegeben wurde, wird die DTD-Deklaration innerhalb des XML-Dokuments zur Durchführung der DTD-Validierung verwendet. (XSD-Validierung, die Datentyp und Wertebereichsvalidierung beinhaltet, ist strenger als DTD-Validierung.)

Informationen zur Verwendung dieser Funktion finden Sie in Schemavalidierung von XML-Payload-Meldungen.

C-API-Unterstützung für verteilte Transaktionen

Gemäß dem verteilten Transaktionsmodell von X/Open beruht die Unterstützung für Transaktionen auf einem Manager für verteilte Transaktionen, der die von einer oder mehreren Ressourcenmanagern durchgeführten Vorgänge aufzeichnet und verwaltet. In Message Queue 4.2 unterstützt die Message Queue C-API die XA-Schnittstelle (zwischen einem Manager für verteilte Transaktionen und Message Queue als XA-konformen Ressourcenmanager). Dies ermöglicht Message Queue C-API-Clients, die in einer Umgebung ausgeführt werden, in der verteilte Transaktionen verarbeitet werden (wie beispielsweise BEA Tuxedo), sich an verteilten Transaktionen zu beteiligen.

Diese Unterstützung für verteilte Transaktionen besteht aus folgenden neuen C-AP-Funktionen (und neuen Parametern und Fehlercodes), die zur Implementierung der XA-Schnittstellenspezifikation verwendet werden:

MQGetXAConnection()
MQCreateXASession()

Wenn eine C-Client-Anwendung im Kontext einer verteilten Transaktion verwendet werden soll, muss sie mithilfe von MQGetXAConnection() eine Verbindung herstellen und mithilfe von MQCreateXASession() eine Sitzung für Produktion und Konsum von Nachrichten erstellen. Starten, Übernehmen und Zurücksetzen von verteilten Transaktionen wird durch APIs verwaltet, die vom Manager für verteilte Transaktionen bereitgestellt werden.

Einzelheiten zur Verwendung der verteilten Transaktionsfunktionen finden Sie in Working With Distributed Transactions in Sun GlassFish Message Queue 4.4 Developer’s Guide for C Clients.

Message Queue 4.2 bietet Programmierungsbeispiele, die auf dem Tuxedo-Transaktionsmanager beruhen. Informationen zur Verwendung dieser Beispielprogramme finden Sie in Distributed Transaction Sample Programs in Sun GlassFish Message Queue 4.4 Developer’s Guide for C Clients.


Hinweis –

Die verteilte Transaktionsfunktionalität wird auf Solaris, Linux und Windows-Plattformen unterstützt. Bislang ist sie jedoch nur für die Solaris-Plattform zertifiziert.


Unterstützung des Installationsprogramms für Sun Connection-Registrierung

Das Message Queue-Installationsprogramm wurde erweitert und ermöglicht die Registrierung von Message Queue bei Sun Connection, einem von Sun gehosteten Dienst, mit dem Sie Sun-Hardware und -Software aufzeichnen, organisieren und warten können.

Im Rahmen der Message Queue-Installation können Sie Message Queue bei Sun Connection registrieren lassen. Informationen zur installierten Message Queue, wie beispielsweise Release-Version, Hostname Betriebssystem, Installationsdatum und ähnliche grundlegende Informationen werden sicher an die Sun Connection-Datenbank übertragen. Dere Sun Connection-Inventardienst kann Sie bei der Organisation Ihrer Hard- und Software von Sun unterstützen, während der Aktualisierungsdienst Sie über die aktuellsten Sicherheitsfixes, empfohlene Updates und Funktionserweiterungen informieren kann.

Einzelheiten zum Registrieren von Message Queue bei Sun Connection finden Sie im Sun GlassFish Message Queue 4.4 Installation Guide.

Unterstützung für MySQL-Datenbank

Ab Message Queue 4.2 werden MySQL-Datenbanken als JDBC-basierte Datenspeicher unterstützt. MySQL Cluster Edition kann als JDBC-Datenbank für einen eigenständigen Broker verwendet werden, und MySQL Cluster Edition kann als hochverfügbarer gemeinsam genutzter Datenspeicher verwendet werden, der für ein erweitertes Broker-Cluster benötigt wird. Informationen zur Konfiguration von Message Queue zur Verwendung von MySQL finden Sie in Configuring a JDBC-Based Data Store in Sun GlassFish Message Queue 4.4 Administration Guide und in Enhanced Broker Cluster Properties in Sun GlassFish Message Queue 4.4 Administration Guide.

Zusätzliche Erweiterungen

Zusätzlich zu den oben beschriebenen Funktionen schließt Message Queue 4.2 folgende Erweiterungen ein:

Neue Funktionen in Message Queue 4.1

Message Queue 4.1 war eine Unterversion, die eine Reihe neuer Funktionen, einige Funktionserweiterungen und Fehlerkorrekturen enthielt. In diesem Abschnitt werden die neuen Funktionen in der Version 4.1 beschrieben und weitere Referenzen für Ihre Verwendung angegeben:

Informationen zu den in Message Queue 4.0 hinzugefügten Funktionen finden Sie unter Neue Funktionen in Message Queue 4.0.

Hochverfügbarkeits-Broker-Cluster

Ab Message Queue 4.1 ist ein neues, erweitertes Broker-Cluster verfügbar. Im Vergleich zu einem konventionellen Broker-Cluster, das nur Nachrichtendienst-Verfügbarkeit bietet (wenn ein Broker ausfällt, ist ein anderer Broker verfügbar, um den Nachrichtendienst bereitzustellen), bietet das erweiterte Broker-Cluster auch Daten-Verfügbarkeit (wenn ein Broker ausfällt, stehen seine persistenten Nachrichten und Statusdaten einem anderen Broker zur Verfügung, der sie verwenden kann, um die Nachrichtenzustellung zu übernehmen).

Die Hochverfügbarkeitsimplementierung ab Message Queue 4.1 verwendet einen gemeinsam genutzten JDBC-basierten Datenspeicher: Anstatt dass jedes Broker-Cluster seinen eigenen persistenten Datenspeicher besitzt, verwenden alle Broker im Cluster dieselbe JDBC-konforme Datenbank. Wenn ein bestimmter Broker ausfällt, übernimmt ein anderer Broker innerhalb des Clusters die Nachrichtenzustellung für den ausgefallenen Broker. Dabei verwendet der Failover-Broker Daten und Statusinformationen aus dem gemeinsam genutzten Datenspeicher. Messaging-Clients des ausgefallenen Brokers stellen eine neue Verbindung zum Failover-Broker her, der ununterbrochenen Nachrichtendienst bietet.

Der freigegebene JDBC-basierte Speicher, der in der Message Queue 4.1-Hochverfügbarkeitsimplementierung verwendet wurde, muss ebenfalls hochverfügbar sein. Wenn Sie keine hochverfügbare Datenbank besitzen oder wenn eine unterbrechungsfreie Nachrichtenzustellung für Sie nicht von hoher Wichtigkeit ist, können Sie weiterhin konventionelle Cluster verwenden, die Dienstverfügbarkeit ohne Datenverfügbarkeit bieten.

Um ein erweitertes Message Queue 4.1-Broker-Cluster zu konfigurieren, geben Sie für jeden Broker im Cluster folgende Broker-Eigenschaften an:

Um die Implementierung mit dem erweiterten Broker-Cluster verwenden zu können, müssen Sie folgende Schritte ausführen:

  1. Installieren einer hochverfügbaren Datenbank

  2. Installieren der .jar-Datei des JDBC-Treibers

  3. Erstellen des Datenbankschemas für den hochverfügbaren persistenten Datenspeicher

  4. Festlegen der Hochverfügbarkeitseigenschaften für jeden Broker im Cluster

  5. Starten der einzelnen Broker im Cluster

Eine Beschreibung der Konzepte des erweiterten Broker-Clusters und ein Vergleich mit konventionellen Clustern finden Sie in Kapitel 4, Broker Clusters in Sun GlassFish Message Queue 4.4 Technical Overview. Die Vorgehensweise und Referenzinformationen zu erweiterten Broker-Clustern finden Sie in Kapitel 10, Configuring and Managing Broker Clusters in Sun GlassFish Message Queue 4.4 Administration Guide und in Cluster Configuration Properties in Sun GlassFish Message Queue 4.4 Administration Guide.

Wenn Sie eine hochverfügbare Datenbank zusammen mit Message Queue 4.0 verwendet haben und nun zu einem erweiterten Broker-Cluster wechseln möchten, können Sie mit dem Datenbank-Manager-Dienstprogramm (imqdbmgr) die Konvertierung in einen gemeinsam genutzten persistenten Datenspeicher durchführen. Weitere Informationen zu Bekannten Problemen und Einschränkungen finden Sie unter Broker-Cluster.

JAAS-Unterstützung

Neben den dateibasierten und den LDAP-basierten integrierten Authentifizierungsmechanismen wurde in Message Queue 4.1 auch die Unterstützung für den Java Authentication and Authorization Service (JAAS), aufgenommen, sodass Sie einen externen Authentifizierungsmechanismus mit dem Broker verbinden können, um Message Queue-Clients zu authentifizieren.

Eine Beschreibung der Informationen, die ein Broker einem JAAS-konformen Authentifizierungsdienst zur Verfügung stellt und eine Erläuterung der Konfiguration des Brokers zur Verwendung eines solchen Diensts finden Sie in Using JAAS-Based Authentication in Sun GlassFish Message Queue 4.4 Administration Guide.

Formatänderung für persistenten Datenspeicher

In Message Queue 4.1 wurde der JDBC-basierten Datenspeicher dahingehend geändert, dass erweiterte Broker-Cluster unterstützt werden. Aus diesem Grund wird das Format des JDBC-basierten Datenspeichers auf Version 410 erhöht. Die Formatversionen 350, 370 und 400 und werden automatisch zu Version 410 migriert.

Beachten Sie, dass das Format des dateibasierten persistenten Datenspeichers auf Version 370 verbleibt, da daran keine Änderungen vorgenommen wurden.

Broker-Umgebungs-Konfiguration

Die Eigenschaft IMQ_DEFAULT_EXT_JARS wurde in die Umgebungskonfigurationsdatei von Message Queue 4.1, imqenv.conf, aufgenommen. Sie können diese Eigenschaft festlegen, um die Pfadnamen externer .jar-Dateien anzugeben, die beim Start des Brokers in CLASSPATH aufgenommen werden sollen. Wenn Sie diese Eigenschaft verwenden, um den Speicherort von externen .jar-Dateien anzugeben, müssen Sie diese Dateien nicht mehr in das Verzeichnis lib/ext kopieren. Externe .jar-Dateien können sich auf JDBC-Treiber oder JAAS-Anmeldemodule beziehen. Die folgende Beispieleigenschaft gibt den Speicherort von JDBC-Treibern an.

IMQ_DEFAULT_EXT_JARS=/opt/SUNWhadb4/lib/hadbjdbc4.jar:/opt/SUNWjavadb/derby.jar

Unterstützung für Java ES Monitoring Framework

In Message Queue 4.1 wurde Unterstützung für das Sun Java Enterprise System (Java ES) Monitoring Framework aufgenommen, mit dem Java ES-Komponenten mithilfe einer üblichen grafischen Oberfläche überwacht werden können. Diese Oberfläche wird durch die webbasierte Sun Java System Monitoring Console implementiert. Administratoren können mit der Konsole Leistungsstatistiken anzeigen, Regeln für die automatische Überwachung erstellen und Alarme bestätigen. Wenn Sie Message Queue gemeinsam mit anderen Java ES-Komponenten ausführen, ist es möglicherweise praktischer, eine einzige Oberfläche zur Verwaltung all dieser Komponenten zu verwenden.

Informationen zur Verwendung des Java ES Monitoring Framework zur Überwachung von Message Queue finden Sie unter XREF.

Erweiterte Transaktionsverwaltung

Zuvor konnte ein Administrator nur für Transaktionen mit dem Status PREPARED ein Rollback ausführen. Das heißt, dass beim nicht ordnungsgemäßen Beenden einer Sitzung, die Teil einer verteilten Transaktion war, für die Transaktion ein Status beibehalten wurde, der nicht durch einen Administrator bereinigt werden konnte. In Message Queue 4.1 können Sie mit dem Befehlsdienstprogramm (imqcmd) Transaktionen bereinigen (durch ein Rollback zurücksetzen), die folgende Statuswerte aufweisen: STARTED, FAILED, INCOMPLETE, COMPLETE und PREPARED.

Um zu ermitteln, ob für eine bestimmte Transaktion ein Rollback durchgeführt werden kann (insbesondere, wenn diese nicht den Status PREPARED aufweist), bietet das Befehlsdienstprogramm zusätzliche Daten als Teil der imqcmd query txn-Ausgabe: Es gibt die ID der Verbindung an, mit der die Transaktion gestartet wurde, sowie den Zeitpunkt, an dem die Transaktion erstellt wurde. Mithilfe dieser Informationen kann ein Administrator ermitteln, ob für die Transaktion ein Rollback durchgeführt werden muss. Im Allgemeinen sollte der Administrator ein zu frühes Rollback für eine Transaktion vermeiden.

Feste Ports für C-Clientverbindungen

In Message Queue 4.1 können C-Clients nun ebenso wie Java-Clients eine Verbindung mit einem festen Broker-Anschluss herstellen und müssen nicht mehr eine Verbindung zu einem Anschluss herstellen, der dynamisch vom Portmapper-Dienst des Brokers zugewiesen wurde. Feste Anschlussverbindungen sind nützlich, wenn Sie versuchen, eine Firewall zu überwinden, oder wenn Sie den Portmapper-Dienst aus einem anderen Grund umgehen müssen.

Zur Konfiguration einer festen Anschlussverbindung müssen Sie sowohl den Broker als auch die Laufzeit des C-Client (beide Enden der Verbindung) konfigurieren. Wenn Sie Ihren Client z. B. über ssljms mit Anschluss1756 verbinden möchten, führen Sie die folgenden Schritte aus.


Hinweis –

Die Verbindungseigenschaft MQ_SERVICE_PORT_PROPERTY wurde durch Backporting auf Message Queue 3.7 Update 2 übertragen.


Neue Funktionen in Message Queue 4.0

Message Queue 4.0 war eine Unterversion, die auf die Unterstützung von Application Server 9 PE beschränkt war. Sie beinhaltete einige neue Funktionen sowie einige Funktionserweiterungen und Fehlerbehebungen. Dieser Abschnitt enthält eine Beschreibung neuer Funktionen in dieser Version:


Achtung – Achtung –

Eine der kleinen, jedoch wichtigen Änderungen, die mit Version 4.0 eingeführt wurden, ist die Tatsache, dass die Befehlszeilenoption nun nicht mehr zur Angabe eines Passworts verwendet werden kann. Ab dieser Version müssen Sie alle Passwörter in einer Datei speichern, wie in Veraltete Passwortoption beschrieben, oder Sie bei Aufforderung eingeben.


Unterstützung für die JMX Administration-API

Für die Konfiguration und Überwachung von Message Queue-Brokern wurde in Übereinstimmung mit der JMX-Spezifikation (Java Management Extensions) eine neue API hinzugefügt. Mithilfe dieser API haben Sie die Möglichkeit, Broker-Funktionen programmatisch in einer Java-Client-Anwendung zu konfigurieren und zu überwachen. In früheren Versionen von Message Queue war der Zugriff auf diese Funktionen ausschließlich über die Administrationsdienstprogramme der Befehlszeile oder die Administrationskonsole möglich.

Weitere Informationen finden Sie im Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients.

Protokollierung zur Client-Laufzeit

In Message Queue 4.0 wurde Unterstützung für Client-Laufzeitprotokollierung von verbindungs- und sitzungsbezogenen Ereignissen eingeführt.

Weitere Informationen zur Client-Laufzeitprotokollierung und ihrer Konfiguration finden Sie im Java Dev Guide auf Seite 137.

Verbindungsereignisbenachrichtigungs-API

In Message Queue 4.0 wurde eine Ereignisbenachrichtigungs-API eingeführt, mit der die Client-Laufzeit eine Anwendung über Änderungen im Verbindungsstatus informieren kann. Verbindungsereignisbenachrichtigungen ermöglichen es einem Message Queue-Client, das Schließen und erneute Verbinden von Ereignissen zu überwachen und dem Benachrichtigungstyp und Verbindungsstatus entsprechende Aktionen auszuführen. Wenn es beispielsweise zu einem Failover kommt und der Client mit einem anderen Broker erneut verbunden wird, wird in einer Anwendung möglicherweise der Transaktionsstatus bereinigt, um mit einer neuen Transaktion fortzufahren.

Informationen zu Verbindungsereignissen und zum Erstellen einer Ereignisüberwachungsfunktion finden Sie im Java Dev Guide auf Seite 96.

Erweiterungen der Broker-Administration

In Message Queue 4.0 wurden ein neuer Unterbefehl und mehrere Befehlsoptionen zum Befehlsdienstprogrammm (imqcmd) hinzugefügt, um es Administratoren zu ermöglichen, einen Broker stillzulegen (zu inaktivieren), einen Broker nach einem angegebenen Zeitraum herunterzufahren, eine Verbindung zu vernichten oder Java-Systemeigenschaften (z. B. Verbindungsbezogene Eigenschaften) festzulegen.

Vollständige Informationen über die Syntax des Befehls imqcmd finden Sie in Kapitel 16, Command Line Reference in Sun GlassFish Message Queue 4.4 Administration Guide.

Anzeigen von Informationen zu einem JDBC-basierten Datenspeicher

In Message Queue 4.0 wurde ein neuer Unterbefehl query zum Datenbank-Manager-Dienstprogramm, imqdbmgr, hinzugefügt. Dieser Unterbefehl wird zum Anzeigen von Informationen zu einem JDBC-basierten Datenspeicher (u. a. Datenbankversion, Datenbankbenutzer und ob die Datenbanktabellen erstellt wurden) verwendet.

Im Folgenden finden Sie ein Beispiel für die Informationen, die über diesen Befehl angezeigt werden.


imqdbmgr query

[04/Oct/2005:15:30:20 PDT] Using plugged-in persistent store:
        version=400
        brokerid=Mozart1756
        database connection url=jdbc:oracle:thin:@Xhome:1521:mqdb
        database user=scott
Running in standalone mode.
Database tables have already been created.

JDBC-Anbieter-Unterstüztung

In Message Queue 4.0 wird nun Apache Derby Version 10.1.1 als JDBC-basierter Datenspeicheranbieter unterstützt.

Formatänderungen für persistenten Datenspeicher

Message Queue 4.0 führte Änderungen am JDBC-basierten Datenspeicher zur Optimierung und zur Unterstützung zukünftiger Erweiterungen ein. Aus diesem Grund wurde das Format des JDBC-basierten Datenspeichers auf Version 400 erhöht. Beachten Sie, dass die Version des dateibasierten Datenspeichers Version 370 bleibt, da daran keine Änderungen vorgenommen wurden.

Zusätzliche Nachrichteneigenschaften

Message Queue 4.0 fügte zwei neue Eigenschaften hinzu, die für alle Nachrichten festgelegt werden, die in die Warteschlange für nicht zugestellte Nachrichten eingestellt werden.

SSL-Unterstützung

Ab Message Queue 4.0 ist der Standardwert für die Werkseinstellung der Clientverbindung imqSSLIsHostTrusted auf false gesetzt. Wenn die Anwendung jedoch von dem vorherigen Standardwert true abhängt, müssen Sie die Eigenschaft neu konfigurieren und ausdrücklich auf true setzen.

Möglicherweise vertrauen Sie dem Host, wenn der Broker so konfiguriert ist, dass er selbst signierte Zertifikate verwendet. In diesem Fall sollten Sie zusätzlich zur Angabe, dass die Verbindung einen SSL-basierten Verbindungsdienst verwenden soll (über die imqConnectionType-Eigenschaft), die Eigenschaft imqSSLIsHostTrusted auf "true" setzen.

Um Clientanwendungen sicher auszuführen, wenn der Broker selbst signierte Zertifikate verwendet, verwenden Sie beispielsweise einen ähnlichen Befehl wie den folgenden.

java -DimqConnectionType=TLS 
      -DimqSSLIsHostTrusted=true ClientAppName

Um das Befehlsdienstprogramm (imqcmd) sicher zu verwenden, wenn der Broker selbstignierte Zertifikate verwendet, müssen Sie einen Befehl wie den folgenden (zur Auflistung der Konnectorservices) verwenden.

imqcmd list svc -secure -DimqSSLIsHostTrusted=true

In zukünftigen Versionen veraltete Funktionen

Die folgenden Funktionen sind in zukünftigen Versionen veraltet:

In Message Queue 4.4 und aktuellen Versionen behobene Fehler

Message Queue 4.4 beinhaltet neue Fehlerkorrekturen und berücksichtigt auch Fehler, die in den vorhergehenden Versionen der Message Queue 4.x-Familie behoben wurden.

In den folgenden Abschnitten werden Fehler aufgeführt, die in den jeweiligen Versionen behoben wurden:

In Message Queue 4.4 behobene Fehler

In der folgenden Tabelle sind die in Message Queue 4.4 behobenen Fehler aufgelistet.

Tabelle 1–7 In Message Queue 4.4 behobene Fehler

Fehler 

Beschreibung 

6242247 

MQ-Cluster mit Masterbroker wird gestartet und reagiert nicht, wenn beide Broker sich auf demselben Gerät befinden und denselben Namen haben. 

6760937 

Broker stellt keine neue Verbindung mit der Datenbank nach einem Neustart her. 

6765410 

Wenn der Masterbroker lokale Interessen zwei Mal sendet, tritt ein Ausnahmefehler auf und der Slave meldet, dass das dauerhafte Abonnement bereits aktiv ist. 

6796506 

Remote-Nachricht mit dem Status PREPARED wird nach dem Rollback nicht erneut zugestellt, wenn ein Timeout beim Empfang der Remote-Antwort mit dem Status PREPARE auftritt. 

6821639 

NPE bei Rollback-/Übernahmetransaktion während AS-Wiederherstellung für MQRA-DIRECT-Modus. 

6836364 

Platzhalter-Abonnent empfängt Remote-Nachricht nicht, wenn deren Thema vor dem Abonnenten erstellt wurde. 

6836749 

HA(JCAPS):ack in Speicherausnahme bei Empfang nach Rollback eines dauerhaften Abonnements und anschließender Übergabe einer Nachricht. 

6858905 

ConcurrentModificationException für Consumer.destroyConsumer. 

In Message Queue 4.3 behobene Fehler

In der folgenden Tabelle sind die in Message Queue 4.3 behobenen Fehler aufgelistet.

Tabelle 1–8 In Message Queue 4 behobene Fehler 3

Fehler 

Beschreibung 

6634033 

Cluster-Protokoll gibt den Wert von imqConsumerFlowLimit nicht an Remote-Broker weiter, wenn ein Client erstellt wird.

6713012 

Wenn das Löschen eines Konsumenten auf einem Broker in einem Cluster und der Neustart eines Remote-Brokers auf den gleichen Zeitpunkt fallen, kann dies dazu führen, dass einige Nachrichten nicht zugestellt werden. 

6727555 

In der Broker-Protokollmeldung "Max bytes per msg exceeded" (Maximale Bytezahl pro Nachricht überschritten) sind die tatsächliche Größe der Nachricht und der Wert für max bytes per message vertauscht.

6737404 

Die JMX-Metrik muss die Anzahl der Nachrichten angeben, die von den Zielen (Themen und Warteschlangen) gesendet wurden, jedoch den Konsumenten noch zugestellt werden müssen. 

6740568 

Broker gibt einen Ausnahmefehler aus, wenn zu viele Nachrichten in einer einzigen Transaktion konsumiert werden. 

6758524 

Der Befehl zum Auflisten der dauerhaften Abonnements (imqcmd list dur -d "foo.*") akzeptiert keine Platzhalterzeichen im Zielnamen.

6758952 

Die Einstellung imq.portmapper.hostname=localhost führt dazu, dass Broker keine Verbindung zu einem Cluster herstellen können.

6758817 

Die Einstellung imq.cluster.hostname=localhost (nicht empfohlen) führt dazu, dass Broker auf verschiedenen Geräten keine Verbindung zu einem Cluster herstellen können.

In Message Queue 4.2 behobene Fehler

In der folgenden Tabelle sind die in Message Queue 4.2 behobenen Fehler aufgelistet.

Tabelle 1–9 In Message Queue 4.2 behobene Fehler

Fehler 

Beschreibung 

6581592 

Wenn das Installations- bzw. Deinstallationsprogramm im Textmodus ausgeführt wird (installer –t ), wird auf der Zusammenfassungsseite zwar das Verzeichnis mit den Protokoll-/Zusammenfassungsdateien angezeigt, die Namen dieser Dateien werden jedoch nicht aufgelistet.

6585911 

Auf dem Bildschirm zur JDK-Auswahl des Installationsprogramms ist die JRE fälschlicherweise mit dem Installationsprogramm gebündelt und wird zur Ausführung des Installationsprogramms verwendet. 

6587112 

Auf der Zusammenfassungsseite des Installationsprogramms werden bei Multi-Byte-Gebietsschemata bedeutungslose Zeichen angezeigt. 

6587127 

Wenn bei der Ausführung des Installationsprogramms durch Verweis auf eine Antwortdatei (installer -a filename -s) die Antwortdatei nicht vorhanden ist, sind die Fehlermeldungen inkonsistent und unkar.

6590969 

Lässt das DN-Benutzernamensformat bei der Client-Verbindungsauthentifizierung zu. 

6594381 

Installation von Message Queue 4.1-Lokalisierungs-RPMs (erfolgt bei Aktivierung des Kontrollkästchens "Mehrsprachige Message Queue-Pakete installieren+++" im Bildschirm Mehrsprachige Pakete+++) schlägt fehl, wenn ältere Versionen von Message Queue-Lokalisierungs-RPMs im System vorhanden sind. 

6599144 

Bei der Deisnstallation von Message Queue 4.2 reagieren bei Java SE 6 der Begrüßungsbildschirm und das Deinstallationsprogramm nicht mehr und die Bildschirme erscheinen leer und grau, unter Java SE 5 funktionieren sie jedoch.  

6615741 

Nachrichten, die in einer transaktionalen Konsumentensitzung zugestellt werden, die in einem Rollback zurückgesetzt wird werden nicht erneut zugestellt, wenn der ursprüngliche Konsument die Sitzung vor dem Rollback geschlossen hat. 

6629922 

Behandlungsroutine für verteilte Transaktionen stellt Nachricht an inaktiven Konsumenten nicht in richtiger Reihenfolge erneut zu. 

6635130 

Broker informiert Produzent nicht über nicht-persistente Nachrichten, die die Produktion wieder aufnehmen, nachdem eine Pause erfolgte, da da beim Ziel Grenzwerte für Arbeitsspeicher oder Nachrichten erreicht wurden. 

6641117 

Nachrichten, die in einer transaktionalen Konsumentensitzung zugestellt werden, die in einem Rollback zurückgesetzt wird werden nicht erneut zugestellt, wenn der ursprüngliche Konsument die Sitzung nach dem Rollback geschlossen hat. 

6683897 

Der Zusammenfassungsbildschirm des Message Queue-Installationsprogramms meldet in einen Konfigurationsfehler, dass das Installationsprogramm auf einigen Computern nicht in /dev/sterr schreiben kann, obwohl die Konfiguration erfolgreich durchgeführt worden zu sein scheint.

6684069 

In Broker-Clustern, bei denen eine große Anzahl an Nachrichten in einer Konsumententransaktion an einen Remote-Client zugestellt werden, schlägt die Übernahmetransaktion (Commit) fehl. 

6688935 

Standardwert für Portmapper-Lesezeitüberschreitung ist zu klein. 

6695238 

C-Client-Anwendungen können keine Verbindung zu einem Broker herstellen, der an einem Speicherort installiert ist, dessen Pfad Leerzeichen enthält. 

6710168 

Konsument konsumiert keine Nachrichten mehr, wenn das Ziel zweimal angehalten wird, ohne dass eine Wiederaufnahme zwischen den Pausen erfolgt. 

6710169 

JMX-Vorgang ConsumerManagerMonitor.getConsumerInfo gibt als Bestätigungsmodus stets SESSION_TRANSACTED aus.

In Message Queue 4.1 behobene Fehler

In der folgenden Tabelle sind die in Message Queue 4.1 behobenen Fehler aufgelistet.

Tabelle 1–10 In Message Queue 4.1 behobene Fehler

Fehler 

Beschreibung 

6381703 

Transaktionale Remote-Nachrichten können zweifach übermittelt werden, wenn der Broker neu gestartet wird, von dem diese Nachrichten stammen. 

6388049 

Nicht abgeschlossene verteilte Transaktion kann nicht bereinigt werden. 

6401169 

Für die Übergabe- und Rollback-Optionen für imqcmd wird keine Bestätigungsaufforderung angezeigt. 

6473052 

Standard für automatisch erstellte Warteschlangen sollte Round Robin sein. (MaxNumberConsumers = -1).

6474990 

Broker-Protokoll zeigt ConcurrentModificationException für imqcmd list dst-Befehl.

6487413 

Speicherleck, wenn Verhalten bei Begrenzungen REMOVE_OLDEST oder REMOVE_LOWER_PRIORITY ist.

6488340 

Broker reagiert nicht, und Client wartet auf Antwort zur Bestätigung. 

6502744 

Broker beachtet nicht das Standardlimit von 1000 Nachrichten in der Warteschlange für nicht zugestellte Nachrichten. 

6517341 

Die Client-Laufzeit muss die Logik für die Verbindungswiederherstellung verbessern, sobald der Client mit einem erweiterten Broker-Cluster verbunden ist, indem dem Client ermöglicht wird, die Verbindung unabhängig vom Wert der Eigenschaft imqReconnectEnabled wiederherzustellen.

6528736 

Automatischer Windows-Startdienst (imqbrokersvc) stürzt während des Startvorgangs ab.

6561494 

Nachrichten werden an den falschen Konsumenten zugestellt, wenn beide eine Sitzung teilen. 

6567439 

Produzierte Nachrichten in einer PREPARED-Transaktion werden nicht ordnungsgemäß zugestellt, wenn diese nach dem Neustart des Brokers gesendet werden.

Behobene Probleme in Message Queue 4.0

In der folgenden Tabelle sind die in Message Queue 4.0 behobenen Probleme aufgelistet.

Tabelle 1–11 Behobene Probleme in Message Queue 4.0

Fehlernummer 

Beschreibung 

4986481 

In Message Queue 3.5 kann sich die aufgerufene Session.recover-Methode im Modus für die automatische Neuverbindung aufhängen.

4987325 

Erneut versendetes Flag war für die neu versendeten Nachrichten auf false gesetzt, nachdem die Session.recover-Methode aufgerufen wurde.

6157073 

Ändern der neue Verbindungsmeldung, um die Anzahl an Verbindungen mit dem Dienst zusätzlich zur Gesamtzahl der Verbindungen hinzuzufügen. 

6193884 

Message Queue gibt unleserliche Nachrichten im syslog von Länderinformationen aus, die für Nachrichten keine ASCII-Zeichen verwenden. 

6196233 

Nachrichtenauswahl mithilfe von JMSMessageID funktioniert nicht.

6251450 

ConcurrentModificationException für connectList während Clusterbeendigung.

6252763 

java.nio.BufferOverflowException in java.nio.HeapByteBuffer.putLong/Int .

6260076 

Erste Nachrichtenveröffentlichung nach Start bei Verwendung von Oracle-Speicher erfolgt langsam.  

6260814 

Auswahlverarbeitung auf JMSXUserID wird immer als false ausgewertet.

6264003 

Der Warteschlangenbrowser zeigt Nachrichten an, die Bestandteil von Transaktionen sind, die noch nicht verarbeitet wurden. 

6271876 

Verbindungsdatensteuerung arbeitet nicht ordnungsgemäß, wenn ein Verbraucher mit nicht verarbeiteten Nachrichten geschlossen wird. 

6279833 

Message Queue sollte nicht zulassen, dass zwei Broker dieselben JDBC-Tabellen verwenden. 

6293053 

Master-Broker wird nicht ordnungsgemäß gestartet, wenn die IP-Adresse des Systems geändert wird, es sei denn, der Speicher wurde geleert (mithilfe von —reset store).

6294767 

Message Queue-Broker muss SO_REUSEADDR auf dem Netzwerksocket setzen, der geöffnet wird.

6304949 

ClientID-Eigenschaft für TopicConnectionFactory kann nicht festgelegt werden.

6307056 

Dastxn-Protokoll führt zu einem Leistungsengpass.

6320138 

Message Queue C-API kann den Namen einer Warteschlange für einen Reply-To-Header nicht ermitteln.  

6320325 

Der Broker wählt unter Solaris gelegentlich JDK 1.4 anstelle JDK 1.5, selbst wenn beide Versionen installiert sind.  

6321117 

Die Initialisierung eines Multibroker-Clusters führt zu einer java.lang.NullPointerException .

6330053 

Der JMS-Client gibt java.lang.NoClassDefFoundError zurück, wenn eine Transaktion vom Abonnenten übergeben wird.

6340250 

Unterstützung für MESSAGE-Typ in C-API.

6351293 

Unterstützung für Apache Derby-Datenbank hinzufügen.  

Dokumentationsaktualisierungen in Message Queue 4.4

Dieser Abschnitt enthält Informationen zu Dokumentationsaktualisierungen in Message Queue 4.4:

Kompatibilitätsprobleme

In diesem Abschnitt werden bekannte Kompatibilitätsprobleme in Bezug auf Message Queue 4.4 beschrieben.

Schnittstellenstabilität

Sun GlassFish Message Queue verwendet zahlreiche Schnittstellen, die sich mit der Zeit ändern können. Eine Klassifizierung der Schnittstellen nach ihrer Stabilität finden Sie in Anhang B, Stability of Message Queue Interfaces in Sun GlassFish Message Queue 4.4 Administration Guide. Je stabiler eine Schnittstelle, desto weniger wahrscheinlich ist eine Änderung in den nachfolgenden Produktversionen.

Mögliche Probleme hinsichtlich der nächsten Hauptversion von Message Queue

Die nächste Hauptversion von Message Queue umfasst eventuell Änderungen, die eine Inkompatibilität mit den aktuellen Message Queue-Client-Anwendungen verursachen können. Diese Informationen werden im Interesse einer vollständigen Offenlegung angegeben.

Änderungen am Message Queue 4.4-Dokumentationssatz

Der Message Queue 4.4-Dokumentationssatz enthält Aktualisierungen für den Message Queue 4.3-Dokumentationssatz, wie unten beschrieben:

Technischer Überblick

In Sun GlassFish Message Queue 4.4 Technical Overview werden neue Funktionen in Message Queue 4.4 beschrieben.

Installations- und Upgradeinformationen

Im Sun GlassFish Message Queue 4.4 Installation Guide wird die Installation von Message Queue auf der AIX-Plattform beschrieben.

Administration Guide

Im Sun GlassFish Message Queue 4.4 Administration Guide werden kleinere Fehlerkorrekturen, Unterstützung für die AIX-Plattform und geänderte Vorgehensweisen für die Verwaltung von Broker-Clustern und das Konvertieren von konventionellen Clustern in erweiterte Cluster beschrieben.

Developer's Guide for Java Clients

Im Sun GlassFish Message Queue 4.4 Developer’s Guide for Java Clients wurden die neuen Versionsnummern aufgenommen. Darüber hinaus wurden keine Änderungen vorgenommen.

Developer’s Guide for C Clients

Im Sun GlassFish Message Queue 4.4 Developer’s Guide for C Clients wurden Informationen zum Erstellen von C-Client-Anwendungen auf der AIX-Plattform aufgenommen.

Developer's Guide for JMX Clients

Im Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients werden die Erweiterungen der JMX-API beschrieben.

Bekannte Probleme und Beschränkungen

In diesem Abschnitt werden die bekannten Probleme mit Message Queue 4.4 aufgeführt. Die folgenden Produktbereiche werden besprochen:

Eine Liste der aktuellen Fehler, deren Status und Umgehungsmöglichkeiten finden Sie als Mitglied der Java Developer Connection™ in der Bug Parade auf der Java Developer Connection-Website. Prüfen Sie die Informationen auf dieser Seite, bevor Sie einen neuen Fehler melden. Auch wenn nicht alle Message Queue-Fehler aufgelistet sind, ist diese Seite ein guter Ausgangspunkt, wenn Sie feststellen möchten, ob ein Problem bekannt gegeben wurde.

http://bugs.sun.com/bugdatabase/index.jsp


Hinweis –

Die Mitgliedschaft bei der Java Developer Connection ist kostenlos, es ist jedoch eine Registrierung erforderlich. Auf der Sun Java-Webseite wird beschrieben, wie Sie Mitglied bei der Java Developer Connection werden.


Wenn Sie einen neuen Fehler melden oder eine Funktionsanfrage einreichen möchten, senden Sie eine E-Mail an imq-feedback@sun.com.

Installationsprobleme

In diesem Abschnitt werden die Installationsprobleme zu Message Queue Version 4.4 beschrieben.

Produktregistrierung und Java ES

Message Queue 4.4 wird wie Message Queue 4.2 und 4.1 von einem relativ neuen Installationsprogramm installiert, das auch zur Installation und Aktualisierung der gemeinsam genutzten Komponenten von Java Enterprise System (Java ES) dient, die von Message Queue benötigt werden, z. B. JDK, NSS, JavaHelp usw.

Das neue Message Queue-Installationsprogramm und das ältere Java ES-Installationsprogramm, das zur Installation früherer Message Queue-Versionen verwendet wurden, verwenden nicht dieselbe Produktregistrierung. Wenn eine Message Queue-Version, die mit dem Java ES-Installationsprogramm installiert wurde, entfernt und dann Message Queue 4.4 mithilfe des Message Queue-Installationsprogramms installiert wird, ist der Status der Java ES-Produktregistrierung möglicherweise inkonsistent. Dies hat zur Folge, dass beim Ausführen des Java ES-Deinstallationsprogramms eventuell Message Queue 4.4 und die benötigten gemeinsamen Komponenten versehentlich entfernt werden, obwohl sie nicht von diesem Programm installiert wurden.

Zur Aktualisierung der Message Queue-Software, die mit dem JES-Installationsprogramm installiert wurde, gehen Sie am besten wie folgt vor.

  1. Entfernen Sie Message Queue sowie die gemeinsam genutzten Komponenten mit dem Java ES-Deinstallationsprogramm.

  2. Installieren Sie Message Queue 4.4 mit dem Message Queue-Installationsprogramm.

Installation auf allen Plattformen

Diese Probleme betreffen die Installation auf allen Plattformen.

Installation unter Windows

Wenn Sie Message Queue unter Windows installieren, sollten Sie die folgenden Einschränkungen beachten.

Installation unter Solaris

Installation unter Linux

Die folgenden Probleme betreffen die Installation auf einer Linux-Plattform:

Versionsanomalien im Installationsprogramm

Die Anzeige der Message Queue-Versionsinformationen im Installationsprogramm ist nicht transparent. (Fehler 6586507)

Solaris-Plattform

Bei der Solaris-Plattform können Sie aus der folgenden Tabelle die vom Installationsprogramm angezeigte Message Queue-Version bestimmen.

Tabelle 1–12 Übersetzung der Versionszeichenfolge

Vom Installation unter Solaris OS angezeigte Version 

Zugehörige Message Queue-Version 

4.3.0.0 

4.3 

4.2.0.0 

4.2 

4.1.0.2 

4.1 Patch 2 

4.1.0.1 

4.1 Patch 1 

4.1.0.0 

4.1 

3.7.2.1 

3.7 UR2 Patch 1 

3.7.0.2 

3.7 UR2 

3.7.0.1 

3.7 UR1 

3.6.0.0 

3.6 

3.6.0.4 

3.6 SP4 

3.6.0.3 

3.6 SP3 

3.6.0.2 

3.6 SP2 

3.6.0.1 

3.6 SP1 


Hinweis –

Für Patch-Versionen für 3.6 SP4 (z. B. 3.6 SP4 Patch 1) werden im Installationsprogramm dieselben Zeichenfolgen für die Versionen angezeigt. Sie müssen den Befehl imqbrokerd -version ausführen, um die genaue Version zu bestimmen.


Linux-Plattform

Unter der Linux-Plattform weist die vom Installationsprogramm angezeigte Versionsnummer folgendes Format auf.

majorReleaseNumber.minorReleaseNumber-someNumber

Zum Beispiel könnte sie 3.7–22 lauten. Dies gibt lediglich an, dass es sich um eine der 3.7-Versionen handelt, jedoch nicht, um welche genau. Zur Ermittlung der installierten Message Queue-Version müssen Sie folgenden Befehl ausführen:

imqbrokerd -version

Lokalisierungsprobleme

Die folgenden Probleme beziehen sich auf die Lokalisierung.

Veraltete Passwortoption

In Vorgängerversionen von Message Queue konnten Sie die Option —p oder —password verwenden, um ein Passwort für die folgenden Befehle interaktiv anzugeben: imqcmd, imqbrokerd und imdbmgr. Mit Version 4.0 wurden diese Optionen verworfen.

Stattdessen können Sie eine Passwortdatei erstellen, die die relevanten Passwörter angibt, und mit der Befehlsoption -passfile auf die Passwortdatei verweisen oder einfach ein Passwort eingeben, wenn Sie von dem Befehl dazu aufgefordert werden.

Eine Passwortdatei kann mindestens eins der im Folgenden aufgelisteten Passwörter enthalten.

Im folgenden Beispiel ist in der Passwortdatei als Passwort für die JDBC-Datenbank abracadabra festgelegt.

imq.persist.jdbc.mysql.password=abracadabra

Passwortdateien können auf folgende Weisen verwendet werden:

Administration/Konfiguration

Die folgenden Probleme beziehen sich auf die Administration und Konfiguration von Message Queue.

Broker-Probleme

Die nachfolgend beschriebenen Probleme beziehen sich auf den Message Queue-Broker.

Broker-Cluster

Folgende Probleme betreffen Broker-Cluster.

JMX-Probleme

Auf der Windows-Plattform gibt die getTransactionInfo-Methode der Überwachungs-MBean für den Transaktionsmanager Transaktionsinformationen zurück, die eine falsche Transaktionserstellungszeit enthalten. (Fehler 6393359)

Umgehung: Verwenden Sie stattdessen die getTransactionInfoByID-Methode der Überwachungs-MBean für den Transaktionsmanager.

SOAP-Unterstützung

Sie sollten zwei Probleme in Verbindung mit der SOAP-Unterstützung beachten.

Dateien für Neuverteilung

Sun GlassFish Message Queue 4.4 enthält die folgenden Dateisätze, die Sie verwenden und im Binärformat verteilen können:

fscontext.jar

jaas.jar

imq.jar

jms.jar

imqjmx.jar

libmqcrt.so (HPUX)

imqxm.jar

libmqcrt.so (UNIX)

imqums.war

mqcrt1.dll (Windows)

Außerdem können Sie die Dateien LICENSE und COPYRIGHT ebenfalls neu verteilen.

Eingabehilfen für Personen mit Behinderungen

Um Eingabehilfen zu erhalten, die seit der Veröffentlichung dieses Dokuments auf den Markt gekommen sind, lesen Sie Abschnitt 508 der Produktbewertungen (bei Sun auf Anfrage erhältlich), um die für Sie geeignete Version zu ermitteln. Aktualisierte Versionen von Anwendungen finden Sie unter http://sun.com/software/javaenterprisesystem/get.html.

Informationen über das Engagement von Sun bezüglich Eingabehilfen von finden Sie unter http://sun.com/access.

Problemmeldungen und Feedback

Wenn Sie mit Sun GlassFish Message Queue Probleme haben, wenden Sie sich an die Kundenunterstützung von Sun. Dazu stehen Ihnen folgende Möglichkeiten zur Verfügung:

Damit wir Sie bestmöglich bei der Problembeseitigung unterstützen können, sollten Sie folgende Informationen zur Hand haben, wenn Sie unser Support-Team kontaktieren:

Sun GlassFish-Software-Forum

Unter der folgenden Adresse steht ein Sun GlassFish Message Queue-Forum zur Verfügung:

http://swforum.sun.com/jive/forum.jspa?forumID=24

Wir freuen uns über Ihre Teilnahme.

Java Technology Forum

Im Java Technology Forum finden Sie möglicherweise ein für Sie interessantes JMS-Forum.

http://forum.java.sun.com

Ihre Meinung ist gefragt

Sun bemüht sich um eine stetige Verbesserung der Dokumentationen und ist deshalb an Ihrer Meinung und Ihren Anregungen interessiert.

Zum Mitteilen Ihrer Kommentare rufen Sie http://docs.sun.com auf und klicken dort auf "Send Comments". Geben Sie auf dem Onlineformular den Namen und die Bestellnummer der Dokumentation an. Die Teilenummer ist eine sieben- bis neunstellige Zahl, die auf der Titelseite der Buches oder oben auf der Dokumentation angegeben ist. Der Titel des vorliegenden Buches lautet beispielsweise Versionshinweise, die Teilenummer lautet 821-0889-05.

Weitere Quellen von Sun

Nützliche Informationen über Sun GlassFish finden Sie unter den folgenden Internetadressen: