Un flujo de mensajes se ejecuta en una sola transacción, que se inicia cuando un nodo de entrada recibe datos y se puede confirmar o restituir cuando se ha completado todo el proceso.
El modo en que los nodos individuales y el flujo de mensajes participan en las transacciones depende de la forma de diseñar y desarrollar el flujo de mensajes, y del nivel de configuración adicional que se lleve a cabo:
Cuando haya finalizado el diseño y el desarrollo del flujo de mensajes, puede desplegar el archivo BAR en el intermediario o los intermediarios en los que desea que se ejecute el flujo de mensajes. No obstante, si ha configurado flujos de mensajes para transacciones coordinadas globalmente, es posible que deba llevar a cabo configuración adicional. Antes de ejecutar el flujo de mensajes, asegúrese (o solicite al administrador del sistema que lo haga) de que el entorno del intermediario, el gestor de transacciones y los gestores de recursos participantes estén bien configurados para dar soporte a transacciones coordinadas. Para obtener información detallada sobre lo que puede necesitar, consulte Configuración de la coordinación global de transacciones (confirmación en dos fases).
Si el entorno del intermediario, el gestor de transacciones y los gestores de recursos externos no están configurados correctamente para la coordinación global, las transacciones de flujo de mensajes no estarán coordinadas globalmente.
Puede configurar los nodos en el flujo de mensajes para determinar cómo participa en la transacción del flujo de mensajes el trabajo realizado por cada nodo. La mayoría de los nodos para los que es importante la transaccionalidad tienen una o más propiedades que puede configurar para dictar el comportamiento. Por lo tanto, puede decidir para cada nodo concreto si participará en la transacción de flujo de mensajes o si operará de forma independiente. En general, estas propiedades incluyen una opción Automática, de modo que los nodos subsiguientes del flujo asuman las características establecidas por el nodo de entrada.
Los nodos que dan soporte a transportes que no pueden participar en transacciones pueden tener otras propiedades que determinen lo que hace el intermediario cuando se produce una anomalía en el flujo de mensajes. Por ejemplo, el nodo FileInput tiene un conjunto de propiedades Reintento que puede establecer para determinar el comportamiento anómalo.
Unos pocos nodos que interactúan con recursos externos no proporcionan propiedades; generalmente estos nodos se incluyen en las transacciones de flujo de mensajes, aunque existen algunas excepciones; debe consultar la sección que describe las propiedades y cómo definirlas para cada nodo que va a incluir en el flujo para asegurarse de que ha comprendido qué acción se ha llevado a cabo.
Si configura un nodo de modo que no participe en la transacción de flujo de mensajes, las acciones que lleva a cabo se comprometen, o retrotraen, cuando el nodo sale. No tiene lugar ninguna otra acción cuando el propio flujo se completa.
Para configurar el comportamiento del flujo de mensajes estableciendo las propiedades del nodo:
Una vez que haya configurado el flujo de mensajes, deberá añadirlo a un archivo BAR para poder desplegarlo. Cuando lo añada a un archivo BAR, el flujo de mensajes se compila y las propiedades adicionales estarán disponibles para su configuración.
La propiedad más importante en lo que respecta a transacciones en sistemas distribuidos es Transacción coordinada. De forma predeterminada, esta propiedad no está seleccionada, lo que significa que el flujo de mensajes está coordinado parcialmente y el intermediario confirma o retrotrae la transacción de flujo de mensajes. Si selecciona esta propiedad, el nodo de entrada llama al gestor de transacciones externas WebSphere MQ para el proceso de confirmaciones y retrotracciones.
Esta propiedad se ignora cuando el flujo de mensajes se despliega en un intermediario que se ejecuta en un sistema z/OS.
Para configurar las propiedades del flujo de mensajes: