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

Inicio de una secuencia de mensajes

El inicio de una secuencia de mensajes viene determinada por la propiedad Definición de inicio de secuencia en los nodos Resequence y Secuencia.

Utilización de un nodo Resequence

Cuando se utiliza el nodo Resequence para reordenar los mensajes en un flujo de mensajes, se utiliza la propiedad Definición de inicio de secuencia en el nodo Resequence para definir cómo se iniciará la secuencia de mensajes reordenada. Puede especificar el número de inicio de secuencia de una de las siguientes formas:

Como un número literal
Seleccione Literal para especificar un número de secuencia literal, que puede ser cualquier valor numérico positivo o negativo dentro del rango de -9223372036854775807 a 9223372036854775807. Cuando llega un mensaje con el número de secuencia especificado, se identifica como el primer mensaje de la secuencia y los mensajes se propagan.
Utilizando el menor número recibido
Seleccione Automático y especifique el tiempo (en segundos) durante el cual el nodo recopila mensajes hasta identificar el mensaje que contiene el número de secuencia menor. Cuando se ha determinado el número menor, ese número de secuencia pasa a ser el primero de la secuencia de mensajes.
Por ejemplo, suponga que tiene un nodo Resequence con las siguientes propiedades:
  • Propiedad Vía de acceso al número de secuencia con el valor /doc/seq
  • Propiedad Vía de acceso al identificador del grupo de secuencia con el valor /doc/grp
  • Propiedad Definición de inicio de secuencia establecida en Automático con el valor 5. Este valor significa que, para todo nuevo grupo, el nodo Resequence recopila mensajes durante 5 segundos antes de determinar el número de inicio de secuencia.
  • Propiedad Fin de definición de secuencia establecida en Automático con el valor 60. Este valor significa que, para todo nuevo grupo, el nodo Resequence espera 60 segundos antes de determinar el número de fin de secuencia.
El nodo Resequence recibe los siguientes mensajes:
<doc><grp>a<grp><seq>5</seq></doc>
<doc><grp>a<grp><seq>4</seq></doc>
<doc><grp>a<grp><seq>3</seq></doc>
<doc><grp>a<grp><seq>2</seq></doc>
<doc><grp>b<grp><seq>0</seq></doc>
<doc><grp>b<grp><seq>2</seq></doc>
En este punto, el período automático para el inicio de secuencia finaliza (5 segundos) y, a continuación, se reciben los siguientes mensajes:
<doc><grp>a<grp><seq>6</seq></doc>
<doc><grp>b<grp><seq>3</seq></doc>
Para el grupo a, los siguientes mensajes se propagan al terminal de salida transcurridos 5 segundos:
<doc><grp>a<grp><seq>2</seq></doc>
<doc><grp>a<grp><seq>3</seq></doc>
<doc><grp>a<grp><seq>4</seq></doc>
<doc><grp>a<grp><seq>5</seq></doc>
<doc><grp>a<grp><seq>6</seq></doc>
Para el grupo b, el siguiente mensaje se propaga al terminal de salida transcurridos 5 segundos:
<doc><grp>b<grp><seq>0</seq></doc>
No se producen más mensajes hasta que se excede el tiempo de espera y, entonces, se propagan los siguientes mensajes al terminal de caducidad (Expire):
<doc><grp>b<grp><seq>2</seq></doc>
<doc><grp>b<grp><seq>3</seq></doc>
Utilizando el predicado establecido en el nodo Resequence
Seleccione Predicado y especifique una expresión XPath para calcular si el mensaje es el primero de la secuencia. El predicado se evalúa a True o False y se siguen recopilando mensajes mientras la expresión se evalúa a False. Cuando la expresión de un mensaje se evalúa a True, indica que el mensaje es el primero de la secuencia.
Por ejemplo, podría especificar la siguiente expresión XPath:
/Employee/EmpStartSeq="10"
Cuando el campo del mensaje de entrada EmpStartSeq contiene el valor 10, el predicado de inicio de secuencia se evalúa a True y el mensaje se identifica como el primero de la secuencia.
<Employee>
 <EmpStartSeq>10</EmpStartSeq>
</Employee>
Generalmente, la expresión XPath se evalúa a un Booleano; sin embargo, si se devuelven otros tipos de datos, el predicado se determina de la siguiente forma:
Tabla 1.
Tipo de datos devueltos True False
Boolean (booleano) True False
Numeric (numérico) Cualquier valor distinto de cero 0 o 0.0
String (serie) Cualquier serie que coincida con true (no sensible a mayúsculas y minúsculas) Cualquier serie que no coincida con true (no sensible a mayúsculas y minúsculas)
NodeSet (Conjunto de nodos) Nunca Siempre

Cuando un mensaje evalúa la expresión a True (y, por tanto, se identifica como el inicio de la secuencia), el nodo comprueba que el mensaje tenga el número de secuencia menor recopilado hasta ese momento. Si se encuentran mensajes con números de secuencia más bajos, se genera una excepción.

Cuando el primer mensaje que se evalúa a true se ha procesado satisfactoriamente, no se comprueban las expresiones XPath de los mensajes subsiguientes. Si llega un mensaje con un número de secuencia menor que el mensaje que se ha identificado como el inicio de la secuencia, se genera una excepción.

Utilizando un nodo Secuencia

Cuando se utiliza el nodo Secuencia para añadir números de secuencia a los mensajes de un flujo de mensajes, se utiliza la propiedad Definición de inicio de secuencia para especificar un número literal que se debe utilizar como número de inicio de secuencia. Su valor puede ser cualquier entero positivo o negativo dentro del rango de -9223372036854775807 a 9223372036854775807.

El nodo Secuencia asigna un número de secuencia que aumenta de forma monotónica para cada mensaje de entrada que llega al nodo, empezando por el número de secuencia que ha definido en la propiedad Definición de inicio de secuencia. Sin embargo, este valor se puede alterar temporalmente con el valor del campo StartOfSequenceNumber en LocalEnvironment del mensaje de entrada. Por ejemplo: InputLocalEnvironment.Sequence.StartOfSequenceNumber = 10.

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 conceptoTema de concepto | Versión 8.0.0.5 | bc28022_