WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Secuencias de mensajes, escenario 1

Puede cambiar la secuencia de los mensajes recibidos de WebSphere MQ, para que se propaguen en el orden correcto utilizando un número de secuencia definido en un mensaje XML.

Antes de empezar:

Lea el tema de concepto sobre Secuencias de mensajes.

En esta tarea de ejemplo, la secuencia se define como que empieza en el número de secuencia 0 (que es el predeterminado) y finaliza en el número de secuencia 8. El flujo de mensajes se configura de modo que los mensajes pueden llegar desordenados pero no se pueden propagar desordenados, aunque uno de los números de secuencia no llegue.

Los pasos siguientes muestran cómo escribir un flujo de mensajes que pueda recibir el documento XML de WebSphere MQ, reordenar los mensajes en base a un número de secuencia en un mensaje XML (en este ejemplo, se utiliza la vía de acceso $Root/XMLNSC/Doc/SeqNo) y escribirlo en una cola de WebSphere MQ:

  1. Cree un flujo de mensajes denominado Resequence_Task1, que contenga un nodo MQInput, un nodo Resequence y un nodo MQOutput. Para obtener más información sobre cómo realizar esta operación, consulte Crear un flujo de mensajes.
  2. Conecte el terminal de salida del nodo MQInput al terminal de entrada de un nodo Resequence.
  3. Conecte el terminal de salida del nodo Resequence al terminal de entrada de un nodo MQOutput.
    Flujo de mensajes con nodos MQInput, Resequence y MQOutput.
  4. Establezca las propiedades siguientes del nodo MQInput:
    1. En el separador Básicas, establezca la propiedad Detalles de la conexión en RESEQUENCE_TASK1_IN1.
    2. En el separador Análisis de mensaje de entrada, establezca la propiedad Dominio de mensaje en XMLNSC.
  5. En el nodo Resequence, establezca las siguientes propiedades en el separador Básicas:
    1. Establezca la propiedad Vía de acceso al número de secuencia a $Root/XMLNSC/Doc/SeqNo
    2. Establezca la propiedad Definición de fin de secuencia al valor Literal con el valor 8.
  6. En el nodo, establezca la propiedad nombre de Cola (en el separador Básicas) en RESEQUENCE_TASK1_OUT1. MQOutput
  7. Guarde el flujo de mensajes.

Proceso de mensajes en el flujo de mensajes:

Esta sección describe la forma en que el nodo Resequence procesa los mensajes que entran en el flujo de mensajes.

  1. Llegan los siguientes mensajes a la cola RESEQUENCE_TASK1_IN1 de WebSphere MQ:
    <Doc><SeqNo>0</SeqNo></Doc>,<Doc><SeqNo>1</SeqNo></Doc>,<Doc><SeqNo>2</SeqNo></Doc>,
    <Doc><SeqNo>3</SeqNo></Doc>,<Doc><SeqNo>4</SeqNo></Doc>,<Doc><SeqNo>5</SeqNo></Doc>,
    <Doc><SeqNo>6</SeqNo></Doc>,<Doc><SeqNo>7</SeqNo></Doc>,<Doc><SeqNo>8</SeqNo></Doc>,
  2. El nodo Resequence recibe en primer lugar el mensaje con el número de secuencia 0. El nodo Resequence crea un nuevo grupo de secuencia para gestionar el proceso de reordenación; el nuevo grupo de secuencia es un grupo predeterminado porque no se ha definido ningún grupo de secuencia en el mensaje. El mensaje (con número de secuencia 0) es el primero de la secuencia, por lo que se propaga al terminal de salida.
  3. A continuación, el nodo Resequence recibe el resto de mensajes hasta el número de secuencia 8 incluido y los propaga en el orden en que han llegado. Cada mensaje se almacena antes de ser propagado y se utiliza una transacción distinta para propagar mensajes en sentido descendente desde el nodo Resequence.
  4. Cuando se procesa el mensaje que contiene el número de secuencia 8, se cierra el grupo de secuencia. Si más tarde llega algún otro mensaje del mismo grupo, hace que se cree un nuevo grupo.
  5. Llegan los siguientes mensajes a la cola RESEQUENCE_TASK1_IN1:
    <Doc><SeqNo>8</SeqNo></Doc>,<Doc><SeqNo>7</SeqNo></Doc>,<Doc><SeqNo>6</SeqNo></Doc>,
    <Doc><SeqNo>5</SeqNo></Doc>,<Doc><SeqNo>4</SeqNo></Doc>,<Doc><SeqNo>3</SeqNo></Doc>,
    <Doc><SeqNo>2</SeqNo></Doc>,<Doc><SeqNo>1</SeqNo></Doc>,<Doc><SeqNo>0</SeqNo></Doc>,
  6. Primero, el nodo Resequence recibe el mensaje que contiene el número de secuencia 8. Entonces el nodo Resequence crea un nuevo grupo de secuencia (predeterminado). El mensaje es el último de la secuencia, así que no se propaga sino que se almacena internamente.
  7. A continuación, el nodo Resequence recibe el resto de los mensajes incluyendo el número de secuencia 0. Se almacenan todos los mensajes y no se propaga ninguno hasta que se recibe el primer número de la secuencia (en este caso, el número de secuencia 0).
  8. Cuando se recibe el mensaje con el número de secuencia 0, se propaga por el flujo de mensajes, seguido de los demás mensajes en orden, hasta que se propaga el mensaje final (número de secuencia 8). En este punto, el grupo de secuencia se cierra de nuevo.
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:00:54


Tema de tareaTema de tarea | Versión 8.0.0.5 | bc28024_