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 usam a lógica Booleana para declarar quais mensagens são 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 |
|
Os nós JMSInput e JMSReceive fornecem uma sequência de formatações livre PropertySelector, para especificar seletores que filtram ou incluem propriedades do aplicativo. Esses nós também possuem propriedades 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.
Propriedade do seletor | Descrição |
---|---|
PropertySelector | OrderValue > 100.00 Esta cadeia é utilizada diretamente conforme mostrada. No nó JMSInput, essa propriedade é configurada pelo campo Propriedade do Aplicativo. |
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 mensagens marcadas pelo emissor como tendo uma prioridade 5, 6, 7 ou 8 são entregues para o 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 reentregues são recebidas pelo nó. Neste caso, a sequência gerada é prefixada com o identificador JMSRedelivered. |
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. |