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, 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. Éstos 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 atributos para propiedades de cabecera específicas, donde el identificador es implícito y está 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 uno de los atributos de selector:
Atributo 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 ponen entre estas dos horas Java (donde la hora Java son milisegundos desde el 01 de enero de 1970) sólo 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

Esto significa que sólo los mensajes marcados por el emisor como persistentes (PERSISTENT) se deben entregar al nodo JMSInput. En este caso, a la serie de caracteres generada se le pone el identificador JMSDeliveryMode como prefijo.

Prioridad >= 5 AND <= 8

Esto significa que sólo los mensajes marcados por el emisor como con prioridad 5, 6, 7 u 8 se deben entregar al nodo JMSInput. En este caso, a la serie de caracteres generada se le pone el identificador JMSPriority como prefijo.

ID de mensaje > WMBRK123456

Esto devolverá mensajes cuyo ID de mensaje sea mayor que el valor especificado. En este caso, a la serie de caracteres generada se le pone el identificador JMSMessageID como prefijo.

Reentregado FALSE

Esto significa 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 JMSRedelivered como prefijo.

ID de correlación = WMBRKABCDEFG

Esto 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, 2006 Última actualización: 22/08/2006
ac24876_