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. Estas expressões utilizam a lógica Booleana para declarar quais mensagens devem ser entregues a um cliente, como por exemplo, 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 propriedades para propriedades do 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.
Propriedade do seletor | Descrição |
PropertySelector | OrderValue > 100.00 Esta cadeia é utilizada diretamente conforme mostrada. |
TimeStamp | BETWEEN 1057576423231 AND 10575788993265 As mensagens colocadas apenas entre estes dois tempos de Java (em que o tempo de Java são milissegundos desde 01 de janeiro de 1970 ) são entregues ao nó JMSInput. Neste caso, a cadeia gerada é prefixada com o identificador JMSTimestamp. |
Modo de Entrega | PERSISTENT Esta configuração significa que apenas as mensagens marcadas pelo remetente como sendo PERSISTENT devem ser entregues ao nó JMSInput. Neste caso, a cadeia gerada é prefixada com o identificador JMSDeliveryMode. |
Priority | >= 5 AND <= 8 Esta configuração significa que apenas as mensagens marcadas pelo remetente como tendo uma prioridade 5, 6, 7 ou 8 devem ser entregues ao nó JMSInput. Neste caso, a cadeia gerada é prefixada com o identificador JMSPriority. |
ID da Mensagem | > WMBRK123456 Esta configuração retorna mensagens com um ID de Mensagem maior do que o valor especificado. Neste caso, a cadeia gerada é prefixada com o identificador JMSMessageID. |
Entregue Novamente | FALSE Esta configuração significa que as mensagens que não foram entregues novamente devem ser recebidas pelo nó. Neste caso, a cadeia gerada é prefixada com o identificador JMSRedlivered. |
ID de Correlação | = WMBRKABCDEFG Esta configuração retorna mensagens cujo ID de Correlação é igual ao valor WMBRKBABCDEFG. Nesse caso, a cadeia gerada é prefixada com o identificador JMSCorrelationID. |