Um seletor de mensagem permite que um consumidor JMS seja mais seletivo sobre as mensagens que ele recebe de um tópico ou fila específica.
Um seletor de mensagem utiliza propriedades de mensagem e cabeçalhos como critérios em expressões condicionais. Essas expressões utilizam a lógica booleana para declarar quais mensagens devem ser entregues a um cliente, como o nó JMSInput.
A tabela a seguir demonstra a construção de um seletor de mensagem. Inclui um identificador, como o cabeçalho JMSPriority ou uma propriedade controlada por aplicativo myProperty1. A cadeia do seletor deve especificar um operador seguido por um literal.
Elemento | Valores Válidos |
Identificadores |
|
Operadores | AND, OR, LIKE, BETWEEN, =, <>, <, >, <=, >=, IS NULL, IS NOT NULL |
Literais |
|
O nó JMSInput fornece uma cadeia de formatações livre PropertySelector, para especificar seletores que filtram ou incluem propriedades do aplicativo. O nó também possui atributos para propriedades de cabeçalho específicas, em que o identificador é implícito e gerado pelo nó. Para os seletores de cabeçalho, a parte do operador e do literal da cadeia deve ser especificada.
Se mais de um seletor for especificado, o nó gerará uma cadeia de seletor composta, em que as cadeias de seletores individuais são concatenadas com o operador AND e cada parte da cadeia do seletor é agrupada com parênteses.
Atributo do Seletor | Descrição |
PropertySelector | OrderValue > 100.00 Esta cadeia é utilizada diretamente conforme mostrada. |
TimeStamp | BETWEEN 1057576423231 AND 10575788993265 Somente as mensagens que são colocadas entre esses dois Tempos Java (em que o tempo Java é milissegundos desde 01 de janeiro de 1970 ) são entregues ao nó JMSInput. Nesse caso, a cadeia gerada é prefixada com o identificador JMSTimestamp. |
Modo de Entrega | PERSISTENT Isso significa que somente mensagens marcadas pelo emissor como sendo PERSISTENT devem ser entregues ao nó JMSInput. Nesse caso, a cadeia gerada tem como prefixo o identificador JMSDeliveryMode. |
Priority | >= 5 AND <= 8 Isso significa que somente as mensagens marcadas pelo emissor como tendo uma prioridade 5, 6, 7 ou 8 devem ser entregues ao nó JMSInput. Nesse caso, a cadeia gerada é prefixada com o identificador JMSPriority. |
ID da Mensagem | > WMBRK123456 Isso retornará mensagens cujo ID de Mensagem é maior do que o valor especificado. Nesse caso, a cadeia gerada é prefixada com o identificador JMSMessageID. |
Entregue Novamente | FALSE Isso significa que mensagens que não foram entregues novamente devem ser recebidas pelo nó. Nesse caso, a cadeia gerada é prefixada com o identificador JMSRedlivered. |
ID de Correlação | = WMBRKABCDEFG Isso retorna mensagens cujo ID de Correlação é igual ao valor WMBRKBABCDEFG. Nesse caso, a cadeia gerada é prefixada com o identificador JMSCorrelationID. |