Mensajes de WebSphere MQ Everyplace

Los mensajes de WebSphere MQ Everyplace incluyen objetos Java derivados de la clase base MQeFields, a diferencia de los mensajes de WebSphere MQ que se definen como matrices de bytes con una cabecera de mensaje y un cuerpo de mensaje.

Cuando WebSphere MQ Everyplace se comunica con un intermediario, una de dos subclases de MQeFields se utiliza para crear objetos de mensaje de WebSphere MQ Everyplace:

Los objetos derivados de estas dos clases se colocan en la cola puente de WebSphere MQ indicada en el nodo MQeInput. Cada clase de mensaje produce distintos comportamientos y cada uno tiene distintas ventajas, según las situaciones, como se describe a continuación. Puede encontrar información detallada sobre cómo utilizar estas dos clases así como los campos y métodos disponibles en WebSphere MQ Mobile Transport.

MQeMsgObject

WebSphere MQ Everyplace habitualmente utiliza la clase MQeMsgObject para almacenar los mensajes que se transfieren a las colas de WebSphere MQ Everyplace y se leen de las mismas. El servidor de WebSphere MQ Everyplace dentro de WebSphere Business Integration Event Broker da soporte a este tipo de mensaje.

La clase MQeMsgObject no tiene formato. En lugar de tener atributos fijos, puede crear sus propios atributos. Esto permite que contenga casi todos los tipos de objetos que puedan almacenarse dentro de Java. Al pasar esta información a un intermediario, este plantea un problema porque el MQMD dentro de WebSphere Business Integration Event Broker sí tiene formato y, por lo tanto, no puede formatearse fácilmente.

Si esta clase se transfiere a una cola puente especificada dentro del nodo de entrada, todos los campos predefinidos dentro del mensaje se colocan en el MQMD. Todos los demás campos no soportados dentro de un MQMD se colocan en la parte d de carga útil del mensaje. Esto permite reconstruir el mensaje si uno de los nodos dentro del flujo de mensajes (principalmente el nodo MQeOutput) lo devuelve a WebSphere MQ Everyplace. No tiene la desventaja de que la parte de carga útil del mensaje no puede analizarse dentro del intermediario, aunque significa que puede utilizar campos de WebSphere MQ Everyplace especiales, como pic.

MQeMbMsgObject

La clase MQeMbMsgObject se ha adaptado específicamente para pasar mensajes de WebSphere MQ en WebSphere Business Integration Event Broker. Un mensaje construido a partir de MQeMbMsgObject sólo pasa en el flujo de mensajes los campos que son compatibles con el intermediario.

Esto significa que se puede analizar y, por lo tanto manipular, la carga útil. Para así poderla almacenar en una base de datos. Sin embargo, no puede utilizar determinados campos de WebSphere MQ Everyplace especiales, comopic. Todos los campos no definidos suministrados dentro de este mensaje no se pasan a WebSphere Business Integration Event Broker. Por consiguiente, si este mensaje se vuelve a direccionar a la cola de WebSphere MQ Everyplace, los campos no reconocidos ya no estarán en el mensaje.

Conceptos relacionados
WebSphere MQ Mobile Transport
Colas de WebSphere MQ Everyplace
Interacción entre WebSphere MQ Everyplace y un intermediario

Referencia relacionada
Nodo MQeInput
Nodo MQeOutput
WebSphere MQ Mobile Transport