JMS-Nachrichtentypen

JMS definiert sechs Nachrichtenschnittstellentypen; einen Basisnachrichtentyp und fünf untergeordnete Typen. Die Nachrichtentypen werden je nach Art der Nachricht Nutzdaten definiert. Diese Nutzdaten bestehen aus dem Hauptteil der Nachricht, indem sich der Inhalt befindet. JMS gibt nur die Schnittstelle und nicht die Implementierung an. Auf diese Weise können Nachrichten unter Verwendung einer gemeinsamen Schnittstelle herstellerspezifisch implementiert und transportiert werden.

In der folgenden Tabelle werden die sechs Nachrichtentypen beschrieben:
Nachrichtenart Beschreibung
Nachricht Die Basisklasse. Dieser Nachrichtentyp wird für die Ereignisbenachrichtigung verwendet und verfügt über keine Nutzdaten.
BytesMessage (Byte-Nachricht) Die Nutzdaten werden als Byte-Feldgruppe gespeichert. Dieser Nachrichtentyp ist beim Austausch von Daten in einem nativen Format einer Anwendung hilfreich, und wenn JMS als Transportmethode zwischen zwei Systemen verwendet wird und der JMS-Client keine Kenntnis des Nachrichten-Nutzdatentyps hat.
TextMessage (Textnachricht) Die Daten werden als Zeichenfolge gespeichert. Dieser Nachrichtentyp ist beim Austausch von einfachen Textnachrichten und komplexeren Zeichendaten (beispielsweise XML-Dokumente) hilfreich.
StreamMessage (Datenstromnachricht) Eine Datenstromnachricht ist eine Folge primitiver Java-Typen. Das Nachrichtenobjekt überwacht die Reihenfolge und Typen dieser primitiven Werte innerhalb des Datenstroms. Es gelten formale Konvertierungsregeln; so wird beispielsweise eine Ausnahmebedingung ausgegeben, wenn eine JMS-Anwendung versucht, einen DOUBLE-Wert als SHORT-Wert zu lesen. Die Java Message Service Specification, Version 1.1 enthält eine vollständige Liste der Konvertierungsregeln.
21ABCDEFGH32.345 ist ein Beispiel für StreamMessage-Nutzdaten. Sie bestehen aus den folgenden drei Feldern:
  • Eine Integer, 21
  • Eine Zeichenfolge, ABCDEFGH
  • Eine Gleitkommazahl, 32.345

Falls die Datenstruktur unbekannt ist, kann die generische Methode readObject() verwendet werden, um das nächste Objekt im Datenstrom zurückzugeben. Wenn die Struktur der Daten bekannt ist, kann der JMS-Client spezifische Angaben zu der Objektart machen, auf die zugegriffen wird.

MapMessage (Zuordnungsnachricht) Die Nutzdaten einer Zuordnungsnachricht werden als Gruppe von Name/Wert-Paaren gespeichert. Der Name wird als Zeichenfolge definiert, und der Wert wird eingegeben. Die Zuordnungsnachricht ist bei der Zustellung verschlüsselter Daten hilfreich, die sich von einer Nachricht zur nächsten ändern können.

NumberOfCopies:5 ist ein Beispiel für Nutzdaten einer Zuordnungsnachricht. Dabei ist NumberOfCopies der Schlüssel, und 5 ist der Wert.

Auf die Daten kann mit Hilfe von getMapNames() zugegriffen werden; dadurch wird ein Java-Aufzählungsobjekt zurückgegeben. Die Zuordnungsnachricht kann durchlaufen werden, indem hasMoreElements() für den Abruf der zugeordneten Name/Wert-Paare verwendet wird.

ObjectMessage (Objektnachricht) Die Objektnachricht verfügt über ein serialisierbares Java-Objekt als Nutzdaten. Sie ist beim Austausch von Java-Objekten hilfreich.
Zugehörige Verweise
JMS-Nachrichtenstruktur
Darstellung von Nachricht über das JMS-Transportprotokoll
JMS-Nachricht als Eingabe
JMS-Nachricht für Ausgabe
Von JNDI verwaltete Objekte
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac24862_