Selector de mensajes JMS

Un selector de mensajes permite a un consumidor de JMS ser más selectivo con los mensajes que recibe de un tema o una cola en particular.

Un selector de mensajes utiliza cabeceras y propiedades de mensaje como criterios en las expresiones condicionales. Estas expresiones utilizan lógica booleana para declarar qué mensajes se deben entregar a un cliente como, por ejemplo, el nodo JMSInput.

La tabla siguiente muestra la construcción de un selector de mensajes. Éste consta de un identificador, por ejemplo la cabecera JMSPriority, o una propiedad controlada por aplicación myProperty1. La serie de caracteres de selector debe especificar un operador seguido de un literal.

Elemento Valores válidos
Identificadores
  • Referencia de campo de cabecera o propiedad (por ejemplo JMSPriority, myProperty1)
  • Los valores siguientes no son posibles: NULL, TRUE, FALSE, NOT, AND, OR, BETWEEN, LIKE, IN, IS
Operadores

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

Literales
  • Los dos literales booleanos, TRUE y FALSE
  • Literales de número exacto que no tienen coma decimal; por ejemplo +25, -399, 40
  • Literales de número aproximado. Estos literales pueden utilizar la notación científica o decimal; por ejemplo -21.4E4, 5E2, +34.4928

El nodo JMSInput proporciona una serie de caracteres de formato libre Selector de propiedad, para especificar selectores que filtran o incluyen propiedades de aplicación. El nodo también tiene propiedades para propiedades de cabecera específicas, donde el identificador es implícito y generado por el nodo. Para los selectores de cabecera, se deben especificar el operador y la parte de literal de la serie de caracteres.

Si se especifica más de un selector, el nodo genera una serie de caracteres de selector compuesta, donde las series de caracteres de selector individuales se concatenan con el operador AND y cada parte de serie de caracteres de selector se pone entre paréntesis.

A continuación se muestran ejemplos para cada propiedad de selector:
Propiedad de selector Descripción
Selector de propiedad OrderValue > 100,00

Esta serie de caracteres se utiliza directamente como se muestra.

Indicación de la hora BETWEEN 1057576423231 AND 10575788993265

Los mensajes que se transfieren únicamente entre estas dos horas Java (donde la hora Java son milésimas de segundo desde el 01 de enero de 1970) se entregan al nodo JMSInput. En este caso, a la serie de caracteres generada se le pone el identificador JMSTimestamp como prefijo.

Modalidad de entrega PERSISTENT

Este valor indica que sólo los mensajes marcados por el emisor como persistentes (PERSISTENT) se deben entregar al nodo JMSInput. En este caso, la serie que se genera tiene como prefijo el identificador JMSDeliveryMode.

Prioridad >= 5 AND <= 8

Este valor indica que únicamente los mensajes marcados por el emisor con la prioridad 5, 6, 7 u 8, deben entregarse al nodo JMSInput. En este caso, a la serie de caracteres generada se le pone el identificador JMSPriority como prefijo.

ID de mensaje > WMBRK123456

Este valor devuelve mensajes con un ID de mensaje mayor que el valor especificado. En este caso, a la serie de caracteres generada se le pone el identificador JMSMessageID como prefijo.

Reentregado FALSE

Este valor indica que el nodo debe recibir los mensajes que no se han reentregado. En este caso, a la serie de caracteres generada se le pone el identificador JMSRedlivered como prefijo.

ID de correlación = WMBRKABCDEFG

Este valor devuelve mensajes cuyo ID de correlación es igual al valor WMBRKBABCDEFG. En este caso, a la serie de caracteres generada se le pone el identificador JMSCorrelationID como prefijo.

Conceptos relacionados
Transacciones JMS
Referencia relacionada
Propiedades JMS para modelos de comunicación de aplicaciones
Propiedades de dominio de mensajes JMS
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. Reservados todos los derechos.
Última actualización : 2009-02-16 14:30:37

ac24876_