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. 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
  • 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. 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 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.

A seguir estão exemplos para cada um dos atributos do seletor:
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.

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
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ac24876_