Los flujos de mensajes se pueden beneficiar de las salidas de usuario.
El diagrama siguiente muestra cómo funciona una salida de usuario. Los sucesos numerados se describen después del diagrama.
El nodo MQInput se utiliza a modo de ejemplo, pero la función se aplica a todos los nodos de entrada, incluidos los nodos de entrada definidos por el usuario. Asimismo, los nodos Compute y MQOutput podrían sustituirse por nodos equivalentes.

- El mensaje se extrae de la cola del origen de entrada (se lee en el flujo).
Los nodos
incorporados y los nodos definidos por el usuario difieren ligeramente en el modo en que se invocan las salidas de
usuario. Para los nodos de entrada incorporados, la salida de usuario se invoca en cuanto los datos se han leído del
origen externo. Para los nodos
de entrada definidos por el usuario, la salida de usuario se invoca justo
antes de que el nodo propague el mensaje.
- El mensaje se propaga al nodo para su proceso.
- Proceso de nodo completado.
- La salida de usuario se invoca después de que la transacción se haya
completado, por lo que el proceso de la salida de usuario no forma parte
de esa transacción. La salida de usuario se invoca aunque el flujo no haya completado ningún proceso transaccional.
Cuando la propiedad de flujo de mensajes Cuenta de confirmaciones tiene un valor superior a uno, existen relaciones de "muchos a uno" entre los sucesos 1 y 4. Esta relación también existe
para algunos escenarios que son específicos del nodo de entrada concreto;
por ejemplo, cuando un nodo MQInput se configura con la propiedad Confirmar por grupo de mensajes seleccionada.
Puede escribir una salida de usuario para hacer un
seguimiento de uno o varios de estos sucesos. Para cada uno de estos
sucesos, hay disponibles los siguientes datos para la salida de usuario. Todo
acceso es de sólo lectura, a menos que se indique lo contrario:
- El mensaje de extrae de la cola:
- Corriente de bits
- Nodo de entrada
- Árbol de Entorno (lectura y grabación)
- El mensaje se propaga al nodo:
- Árbol de mensaje
- Árbol de Entorno local (lectura y grabación)
- Lista de excepciones
- Árbol de Entorno (lectura y grabación)
- Nodo de origen
- Nodo de destino
- Proceso de nodo completado:
- Árbol de mensajes
- Árbol de Entorno local (lectura y grabación)
- Lista de excepciones
- Árbol de Entorno (lectura y grabación)
- Nodo
- Nodo ascendente
- Excepción (si la hay)
- El final de la transacción:
- Nodo de entrada
- Excepción (si la hay)
- Árbol de Entorno (lectura y grabación)
Puede
registrar múltiples salidas de usuario y, si están registradas, se invocan
en un orden definido (consulte el Mandato mqsichangeflowuserexits).
Los cambios realizados por una salida de usuario en el mensaje ensamblado (el
mensaje y el entorno) son visibles para las salidas de usuario subsiguientes.
Cuando la
salida de usuario se invoca, puede consultar la siguiente información:
- Información sobre el flujo de mensajes:
- Nombre del flujo de mensajes
- Nombre del intermediario
- Nombre del gestor de colas del intermediario
- Nombre del grupo de ejecución
- Propiedad Cuenta de confirmaciones del flujo de mensajes
- Propiedad Intervalo de confirmación del flujo de mensajes
- Propiedad Transacción coordinada del flujo de mensajes
- Información sobre el nodo:
- Nombre de nodo
- Tipo de nodo
- Nombre de terminal
- Propiedades de nodo
La salida de usuario también puede realizar las tareas siguientes:
- Navegar y leer el mensaje ensamblado (Message,LocalEnvironment,ExceptionList)
- Navegar y leer o grabar el árbol de Entorno.
Puede registrar las salidas de usuario de forma dinámica, sin necesidad de volver a desplegar la configuración.