Seletor de Mensagem JMS

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
  • Referência de campo de propriedade ou de cabeçalho (como JMSPriority, myProperty1)
  • Os seguintes valores não são possíveis: NULL, TRUE, FALSE, NOT, AND, OR, BETWEEN, LIKE, IN, IS
Operadores

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

Literais
  • Os dois literais Booleanos, TRUE e FALSE
  • Os literais de números exatos que não possuem ponto decimal; por exemplo, +25, -399, 40
  • Literais de número aproximado. Estes literais podem utilizar notação científica ou decimal; por exemplo, -21.4E4, 5E2, +34.4928

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.

A seguir estão exemplos de cada uma das propriedades do seletor:
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.

Conceitos relacionados
Transacionalidade JMS
Referências relacionadas
Propriedades JMS para Modelos de Comunicação de Aplicativos
Propriedades do Domínio de Mensagem JMS
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:11:55

ac24876_