JMS-Nachrichtenselektor

Ein Nachrichtenselektor ermöglicht einem JMS-Konsumenten eine selektivere Auswahl hinsichtlich der zu empfangenden Nachrichten zu einem bestimmten Thema oder aus einer bestimmten Warteschlange.

Ein Nachrichtenselektor verwendet Nachrichteneigenschaften und Header als Kriterien in Bedingungsausdrücken. Diese Ausdrücke deklarieren unter Verwendung der booleschen Logik, welche Nachrichten an einen Client (z. B. den JMSEmpfangsknoten) gesendet werden sollen.

In der folgenden Tabelle ist der Aufbau eines Nachrichtenselektors dargestellt. Er besteht aus einer Kennung wie beispielsweise dem Header JMSPriority oder einer anwendungsgesteuerten Eigenschaft myProperty1. Die Selektorenzeichenfolge muss einen Operator gefolgt von einem Literal angeben.

Element Gültige Werte
Kennungen
  • Verweise auf Eigenschaften oder Headerfelder (z. B. JMSPriority, myProperty1)
  • Die folgenden Werte sind nicht möglich: NULL, TRUE, FALSE, NOT, AND, OR, BETWEEN, LIKE, IN, IS
Operatoren

AND, OR, LIKE, BETWEEN, =, <>, <, >, <=, >=, IS NULL, IS NOT NULL

Literale
  • Die beiden Booleschen Literale TRUE und FALSE
  • Genaue Zahl-Literale ohne Dezimalzeichen. Beispiele: +25, -399, 40
  • Näherungszahl-Literale. Dabei kann die Exponentialschreibweise oder eine Dezimalzahl verwendet werden. Beispiel: -21.4E4, 5E2, +34.4928

Der JMSEmpfangsknoten stellt für die Angabe von Selektoren eine freie Formatzeichenfolge (PropertySelector) bereit. Diese Selektoren filtern Anwendungseigenschaften oder schließen diese ein. Darüber hinaus verfügt der Knoten über Attribute für bestimmte Headereigenschaften, bei denen die ID implizit ist und vom Knoten generiert wird. Für die Header-Selektoren müssen der Operator- und Literal-Bereich der Zeichenfolge angegeben werden.

Werden mehrere Selektoren angegeben, generiert der Knoten eine kombinierte Selektorenzeichenfolge, bei der die einzelnen Selektorenzeichenfolgen durch den Operator AND verknüpft sind und jeder Bereich der Selektorenzeichenfolge in Klammern gesetzt ist.

Es folgen Beispiele für die einzelnen Selektorenattribute:
Selektorenattribut Beschreibung
PropertySelector OrderValue > 100.00

Diese Zeichenfolge wird genau wie dargestellt verwendet.

TimeStamp BETWEEN 1057576423231 AND 10575788993265

Nur Nachrichten, die zwischen diesen beiden Java-Zeitangaben liegen (dabei ist die Java-Zeitangabe seit dem 1. Januar 1970 in Millisekunden definiert), werden an den JMSEmpfangsknoten zugestellt. In diesem Fall wird der generierten Zeichenfolge die ID JMSTimestamp als Präfix vorangestellt.

Zustellmodus PERSISTENT

Dies bedeutet, dass nur Nachrichten, die vom Absender als PERSISTENT markiert wurden, an den JMSEmpfangsknoten zugestellt werden sollen. In diesem Fall wird der generierten Zeichenfolge die ID JMSDeliveryMode als Präfix vorangestellt.

Priorität >= 5 AND <= 8

Dies bedeutet, dass nur Nachrichten, die vom Absender mit der Priorität 5, 6, 7 oder 8 markiert wurden, an den JMSEmpfangsknoten zugestellt werden sollen. In diesem Fall wird der generierten Zeichenfolge die ID JMSPriority als Präfix vorangestellt.

Nachrichten-ID > WMBRK123456

Dies bedeutet, dass nur Nachrichten zurückgegeben werden, deren Nachrichten-ID größer als der angegebene Wert ist. In diesem Fall wird der generierten Zeichenfolge die ID JMSMessageID als Präfix vorangestellt.

Erneut zugestellt FALSE

Dies bedeutet, dass nur Nachrichten vom Knoten empfangen werden, die nicht nicht erneut zugestellt wurden. In diesem Fall wird der generierten Zeichenfolge die ID JMSRedlivered als Präfix vorangestellt.

Korrelations-ID = WMBRKABCDEFG

Dies bedeutet, dass nur Nachrichten zurückgegeben werden, deren Korrelations-ID dem Wert WMBRKBABCDEFG entspricht. In diesem Fall wird der generierten Zeichenfolge die ID JMSCorrelationID als Präfix vorangestellt.

Zugehörige Konzepte
JMS-Transaktionalität
Zugehörige Verweise
JMS-Eigenschaften für Anwendungskommunikationsmodelle
Eigenschaften der JMS-Nachrichtendomäne
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac24876_