Una salida de usuario es un software
personalizado proporcionado por el usuario, escrito en C, para hacer un
seguimiento de los datos que pasan a través de los flujos de mensajes.
Las funciones proporcionadas por el usuario pueden invocarse en puntos
específicos durante el ciclo de vida de un mensaje mientras pasa por
el flujo de mensajes ,y pueden invocar funciones de utilidad
para consultar información sobre el punto del flujo y el contenido del
mensaje ensamblado. La función del programa de utilidad también puede modificar determinadas partes del mensaje ensamblado.
Para obtener más información sobre cómo utilizar las rutinas de salida del usuario, consulte ¿Por qué utilizar una salida de usuario?.
Las rutinas de salida de usuario se pueden invocar cuando se producen uno o más de los sucesos siguientes:
- El final de una unidad de trabajo (UOW) o una transacción (COMMIT o ROLLBACK).
- Un mensaje pasa entre dos nodos.
- Un mensaje se pone en cola satisfactoriamente o se envía a un transporte en un nodo de salida, de respuesta o de solicitud.
- Un mensaje se extrae de la cola o se reciben en un nodo de entrada, de respuesta o de TimeoutNotification.
En el flujo de mensajes básico que se muestra aquí, puede hacer un seguimiento de los mensajes en tres niveles:
- Nivel de transacción
- Nivel de nodo
- Nivel de entrada o de salida
A nivel de transacción, puede hacer un seguimiento de los sucesos siguientes:
- Mensajes que se leen en el flujo
- Finalización de la transacción
A nivel de nodo, puede hacer un seguimiento de los sucesos siguientes:
- Un mensaje pasa de un nodo a otro
- Finalización del proceso para un nodo
En el nivel de entrada o de salida del mensaje, puede realizar un seguimiento de los sucesos siguientes:
- Mensajes que se leen en el flujo
- Mensajes que se graban del flujo
Por lo tanto, puede realizar el seguimiento de cinco tipos diferentes de sucesos, que tienen lugar en la secuencia siguiente:
- Un mensaje se extrae del origen de entrada (se lee en el flujo).
- Un mensaje se propaga al nodo para su proceso.
- Se envía un mensaje de solicitud al transporte del nodo de salida y se graba información de destino específica del transporte en "WrittenDestination" en el Entorno local.
- Proceso de nodo completado.
- El final de la transacción.