Selettore del messaggio JMS

Un selettore di messaggio consente a un cliente JMS di essere più selettivo riguardo al messaggio che riceve da una coda o da un argomento particolare.

Un selettore di messaggio utilizza le intestazioni e le proprietà del messaggio come criteri in espressioni condizionali. Tali espressioni utilizzano logica booleana per dichiarare i messaggi da consegnare a un client, ad esempio il nodo JMSInput.

Nella tabella riportata di seguito viene descritta la costruzione di un selettore di messaggi. Comprende un identificativo, ad esempio l'intestazione JMSPriority o una proprietà controllata dell'applicazione myProperty1. E' necessario che la stringa del selettore specifichi un operatore seguito da un carattere letterale.

Elemento Valori validi
Identificativi
  • Il riferimento al campo dell'intestazione o della proprietà (ad esempio, JMSPriority e myProperty1).
  • Non è possibile utilizzare i valori seguenti: NULL, TRUE, FALSE, NOT, AND, OR, BETWEEN, LIKE, IN, IS.
Operatori

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

Carattere letterale
  • I due caratteri letterali booleani: TRUE e FALSE.
  • Caratteri letterali a numero esatto che non presentano punti decimali: ad esempio, +25, -399, 40.
  • Caratteri letterali a numero approssimativo. E' possibile utilizzare un decimale o un'annotazione scientifica: ad esempio, -21.4E4, 5E2, +34.4928.

Il nodo JMSInput fornisce una stringa a formato libero PropertySelector per specificare selettori che filtrano o comprendono le proprietà dell'applicazione. Il nodo dispone inoltre di attributi per proprietà di intestazione specifiche, dove l'identificativo è implicito e viene generato dal nodo. Per i selettori dell'intestazione, è necessario specificare la parte a carattere letterale e l'operatore della stringa.

Se viene specificato più di un selettore, il nodo genera una stringa di selettore composita, dove le stringhe di selettore individuali sono concatenate mediante l'operatore AND e ogni parte della stringa del selettore è compresa tra parentesi.

Di seguito vengono riportati degli esempi per ciascuno degli attributi di selettore.
Attributo di selettore Descrizione
PropertySelector OrderValue > 100.00

Questa stringa viene utilizzata direttamente come è visualizzata.

Data/Ora BETWEEN 1057576423231 AND 10575788993265

I messaggi immessi tra questi due soli valori temporali Java (il valore temporale Java è espresso in millisecondi dal primo gennaio 1970) vengono consegnati al nodo JMSInput. In tal caso, alla stringa generata viene aggiunto l'identificativo JMSTimestamp come prefisso.

Modalità di consegna PERSISTENT

Ciò significa che verranno consegnati al nodo JMSInput solo i messaggi contrassegnati dal mittente come PERSISTENT. In tal caso, alla stringa generata viene aggiunto l'identificativo JMSDeliveryMode come prefisso.

Priorità >= 5 AND <= 8

Ciò significa che verranno consegnati al nodo JMSInput solo i messaggi contrassegnati dal mittente con priorità 5, 6, 7 o 8. In tal caso, alla stringa generata viene aggiunto l'identificativo JMSPriority come prefisso.

ID messaggio > WMBRK123456

Verranno restituiti messaggi con un ID messaggio superiore al valore specificato. In tal caso, alla stringa generata viene aggiunto l'identificativo JMSMessageID come prefisso.

Riconsegnato FALSE

Ciò significa che verranno ricevuti dal nodo i messaggi che non sono stati riconsegnati. In tal caso, alla stringa generata viene aggiunto l'identificativo JMSRedlivered come prefisso.

ID di correlazione = WMBRKABCDEFG

Verranno restituiti messaggi con un ID di correlazione uguale al valore WMBRKBABCDEFG. In tal caso, alla stringa generata viene aggiunto l'identificativo JMSCorrelationID come prefisso.

Concetti correlati
Proprietà di transazione JMS
Riferimenti correlati
Proprietà per i modelli di comunicazione dell'applicazione
Proprietà del dominio messaggi JMS
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac24876_