Tipos de mensaje JMS

JMS define seis tipos de interfaz de mensaje: un tipo de mensaje base y cinco subtipos. Los tipos de mensaje se definen de acuerdo con el tipo de carga útil del mensaje, donde la carga útil es el cuerpo de un mensaje que incluye el contenido. JMS sólo especifica la interfaz y no especifica la implementación. Esto permite la implementación específica de proveedor y el transporte de mensajes al mismo tiempo que se utiliza una interfaz común.

La tabla siguiente describe los seis tipos de mensaje:
Tipo de mensaje Descripción
Message Clase base. Este tipo de mensaje se utiliza para la notificación de sucesos y no tiene carga útil.
BytesMessage La carga útil se almacena como una matriz de bytes. Este tipo de mensaje es útil para intercambiar datos en el formato nativo de una aplicación y cuando se utiliza JMS como transporte entre dos sistemas, donde el cliente JMS no conoce el tipo de carga útil de mensaje.
TextMessage Los datos se almacenan como una serie de caracteres. Este tipo de mensaje es útil para intercambiar mensajes de texto simples y para datos de tipo carácter más complejos, por ejemplo documentos XML.
StreamMessage Un mensaje de corriente de datos es una secuencia de tipos Java primitivos. El objeto de mensaje hace el seguimiento del orden y de los tipos de estos primitivos en la corriente de datos. Se aplican las normas de conversión formales; por ejemplo, se genera una excepción si una aplicación JMS intenta leer un valor doble como un valor corto. Consulte Especificación Java Message Service, versión 1.1 para obtener una lista completa de las normas de conversión.
21ABCDEFGH32.345 es un ejemplo de una carga útil StreamMessage. Consta de los tres campos siguientes:
  • un entero, 21
  • una serie de caracteres, ABCDEFGH
  • un número flotante, 32,345

Si se conoce la estructura de datos, se puede utilizar el método genérico readObject() para devolver el objeto siguiente de la corriente de datos. Si se conoce la estructura de los datos, el cliente JMS puede ser específico sobre el tipo de objeto al que se está accediendo.

MapMessage La carga útil de un mensaje de correlación (MapMessage) se almacena como un conjunto de parejas de nombre-valor. El nombre se define como una serie de caracteres y se escribe el valor. El mensaje de correlación es útil para entregar datos con clave que pueden cambiar de un mensaje al siguiente.

NumberOfCopies:5 es un ejemplo de carga útil de mensaje de correlación, donde NumberOfCopies es la clave y 5 es el valor.

Se puede acceder a los datos utilizando getMapNames(), que devuelve un objeto de enumeración Java. Es posible reiterar el mensaje de correlación utilizando hasMoreElements() para recuperar las parejas de nombre-valor correlacionadas.

ObjectMessage El mensaje de objeto contiene un objeto Java serializable como carga útil. Es útil para intercambiar objetos Java.
Referencia relacionada
Estructura de mensaje JMS
Representación de mensajes a través del transporte JMS
Mensaje JMS como entrada
Mensaje JMS para salida
Objetos administrados JNDI
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ac24862_