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 JMSInput-Knoten) zugestellt werden.
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 |
|
Operatoren | AND, OR, LIKE, BETWEEN, =, <>, <, >, <=, >=, IS NULL, IS NOT NULL |
Literale |
|
Die Knoten JMSInput und JMSReceive stellen für die Angabe von Selektoren eine freie Formatzeichenfolge (PropertySelector) bereit. Diese Selektoren filtern Anwendungseigenschaften oder schließen diese ein. Darüber hinaus verfügen diese Knoten über Eigenschaften 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 Selektorzeichenfolge, bei der die einzelnen Selektorzeichenfolgen durch den Operator AND verknüpft sind und jeder Bereich der Selektorzeichenfolge in Klammern gesetzt ist.
Selektoreigenschaft | Beschreibung |
---|---|
PropertySelector | OrderValue > 100.00 Diese Zeichenfolge wird genau wie dargestellt verwendet. Im JMSInput wird diese Eigenschaft durch das Feld Anwendungseigenschaft konfiguriert. |
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 JMSInput-Knoten zugestellt. In diesem Fall wird der generierten Zeichenfolge die ID JMSTimestamp als Präfix vorangestellt. |
Zustellmodus | PERSISTENT Diese Einstellung bedeutet, dass nur Nachrichten, die vom Absender als PERSISTENT markiert wurden, an den JMSInput-Knoten zugestellt werden sollen. In diesem Fall wird der generierten Zeichenfolge die ID JMSDeliveryMode als Präfix vorangestellt. |
Priorität | >= 5 AND <= 8 Diese Einstellung bedeutet, dass nur Nachrichten, die vom Absender mit der Priorität 5, 6, 7 oder 8 markiert wurden, an den JMSInput-Knoten zugestellt werden. In diesem Fall wird der generierten Zeichenfolge die ID JMSPriority als Präfix vorangestellt. |
Nachrichten-ID | > WMBRK123456 Durch diese Einstellung werden Nachrichten zurückgegeben, 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 Diese Einstellung bedeutet, dass nur Nachrichten vom Knoten empfangen werden, die nicht erneut zugestellt wurden. In diesem Fall wird der generierten Zeichenfolge die ID JMSRedelivered als Präfix vorangestellt. |
Korrelations-ID | = WMBRKABCDEFG Diese Einstellung 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. |