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 |
|
Operatori | AND, OR, LIKE, BETWEEN, =, <>, <, >, <=, >=, IS NULL, IS NOT NULL |
Carattere letterale |
|
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.
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. |