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

Adición de números de secuencia a mensajes

Puede añadir números de secuencia a los mensajes que entran en un flujo de mensajes utilizando el nodo Secuencia.

Antes de empezar:

Lea el tema de concepto sobre Secuencias de mensajes.

El nodo Secuencia asigna un número de secuencia que aumenta de forma monotónica para cada mensaje de entrada que llega al nodo. Como cada mensaje llega al nodo Secuencia, el número de secuencia se incrementa y se almacena con el mensaje en la ubicación especificada por la propiedad Vía de acceso para almacenar el número de secuencia. La asignación de números de secuencia continúa hasta que termina la secuencia, según se especifica en la propiedad Definición de fin de secuencia .

Puede dividir los mensajes de entrada en grupos de secuencia independientes, basados en un identificador definido en el mensaje. Cada grupo tiene un identificador de grupo separado y la secuencia de mensajes en cada grupo se gestiona independientemente.

El nodo Secuencia asigna un número de secuencia a cada mensaje del grupo de secuencia y no se asigna el número de secuencia siguiente del grupo hasta que se haya terminado de procesar el mensaje actual del grupo (confirmándolo o restituyéndolo). De esta forma se asegura de que la secuencia se mantiene para el grupo cuando hay varias hebras en el flujo de mensajes.

Si necesita guardar el mensaje con el número de secuencia que se le acaba de asignar (por ejemplo, si necesita guardar el mensaje en WebSphere MQ para su proceso en otro flujo ) y no hay un espacio adecuado en el mensaje para guardar el número de secuencia, puede añadir una cabecera MQRFH2 al mensaje antes del nodo Secuencia y establecer el número de secuencia en un campo de la carpeta usr.

Varios grupos de secuencia pueden gestionarse independientemente, en paralelo, y se conserva el estado del grupo de secuencia cuando el intermediario se reinicia.

Los pasos siguientes muestran cómo crear un flujo de mensajes que añada un número de secuencia a cada mensaje de un grupo de secuencia.

  1. Cree un flujo de mensajes que contenga un nodo MQInput, un nodo Secuencia y un nodo MQOutput.
  2. Conecte el terminal de salida del nodo MQInput al terminal de entrada de un nodo Secuencia.
  3. Conecte el terminal de salida del nodo Secuencia al terminal de entrada de un nodo MQOutput.
    Flujo de mensajes con nodos MQInput, Sequence y MQOutput.
  4. En el nodo MQInput, especifique el origen de los mensajes de entrada para el nodo estableciendo la propiedad Nombre de cola (en el separador Básicas) en el nombre de una cola de WebSphere MQ, de la que el nodo MQInput recupera mensajes. Por ejemplo: SEQ.TASK1.IN1.
  5. Establezca las propiedades siguientes del nodo Secuencia:
    1. En el separador Básicas, establezca las siguientes propiedades:
      • Establezca la propiedad Vía de acceso para almacenar el número de secuencia en la ubicación del mensaje donde se debe establecer el número de secuencia. Por ejemplo, $OutputBody/doc/seq. El número de secuencia también se establece en el entorno local, con la variable LocalEnvironment.Sequence.Number.
      • Establezca la propiedad Vía de acceso de identificador de grupo de secuencia en la ubicación del identificador de grupo de secuencia del mensaje. Por ejemplo, $InputBody/doc/grp. El número de secuencia también se establece en el entorno local, con la variable LocalEnvironment.Sequence.Group.
      • Establezca la propiedad Definición de inicio secuencia en Literal con el valor inicial adecuado; por ejemplo, 0.

        Aunque el número de secuencia inicial debe especificarse con un número literal, el valor se puede alterar temporalmente en el entorno local con la variable LocalEnvironment.Sequence.StartOfSequenceNumber.

        El mensaje de inicio de secuencia se indica en el entorno local mediante la variable LocalEnvironment.Sequence.Start, que tiene un valor booleano.

      • Establezca la propiedad Definición de fin de secuencia a uno de los siguientes valores:
        • Automático con el valor de tiempo de espera adecuado; por ejemplo 60. Este valor especifica que el grupo de secuencia se cierra automáticamente cuando la cola de mensajes del nodo ha estado vacía durante 60 segundos.
        • Literal con el valor adecuado; por ejemplo 100. Este valor especifica que el grupo de secuencia se cierra cuando se procesa el mensaje con el número de secuencia 100.
        • Predicado con la expresión XPATH adecuada; por ejemplo, $InputBody/doc/endFlag. Este valor especifica que el grupo de secuencia se cierra cuando el predicado $InputBody/doc/endFlag se evalúa a True ($InputBody/doc/endFlag=True).

        El mensaje de fin de secuencia se indica en el entorno local mediante la variable LocalEnvironment.Sequence.End, que tiene un valor booleano.

    2. En el separador Avanzado, establezca la propiedad Modalidad de persistencia en No persistente. Seleccione Persistente si desea que la secuencia se conserve si el gestor de colas se reinicia.
  6. En el nodo MQOutput, establezca la propiedad Nombre de cola (en el separador Básicas) con el nombre de la cola MQ de WebSphere al que el nodo MQOutput envía los mensajes. Por ejemplo: SEQ.TASK1.OUT1.
  7. Guarde el flujo de mensajes.
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 | bc28041_