Los destinos JMS que proporcionan mensajes a un nodo JMSInput o reciben mensajes de un nodo JMSOutput se pueden coordinar por punto de sincronismo como parte de una transacción global de flujo de mensajes.
Transacciones que incluyen el coordinador de punto de sincronismo
En este diagrama, un nodo JMSInput consume mensajes de un tema y un nodo JMSOutput produce dichos mensajes en una cola JMS. Los nodos se conectan a un proveedor JMS y están en sesión con dicho proveedor. Cualquier nodo de entrada de flujo de mensajes puede indicar al coordinador de punto de sincronismo externo cuándo se inicia y finaliza una transacción de flujo de mensajes y si los recursos que el flujo ha afectado se deben confirmar o restituir.
El coordinador de punto de sincronismo envía peticiones que cumplen con las normas de XA/Open a todos los gestores de recursos participantes para informarles que se preparen. Los cambios se confirman o se restituyen. Los gestores de recursos, por ejemplo, WebSphere MQ, DB2 y cualquier proveedor JMS que cumpla los estándares de XA pueden participar en una transacción global.
El coordinador de punto de sincronismo externo es WebSphere MQ en sistemas operativos que no sean z/OS, y RRS (Resource Recovery Services) en z/OS.
El nodo JMSInput y el nodo JMSOutput sólo pueden participar en una transacción global si el proveedor JMS al que se conectan soporta la interfaz XA/Open mediante la clase XAResource de JMS. WebSphere MQ Java Client es un ejemplo de proveedor JMS.
Puede especificar una fábrica de conexión genérica (recoverXAQCF) para la recuperación de transacciones coordinadas XA.
Transacciones dudosas
Se pueden producir transacciones dudosas cuando un gestor de recursos no responde a una llamada de un gestor de punto de sincronismo, cuando la llamada es para confirmar o restituir recursos. Durante el arranque del gestor de colas de WebSphere MQ del intermediario, se realiza un paso de recuperación inicial para asegurarse de que se resuelven las transacciones dudosas antes de que los flujos de mensajes de intermediario empiecen a procesar entrada nueva. En este paso de recuperación, se incluye un proveedor JMS que participe en las transacciones globales de intermediario.
En sistemas operativos que no sean z/OS, WebSphere MQ requiere que se realice una tarea de administración antes del despliegue. Esta tarea registra un componente de intermediario, que es una biblioteca compartida, con el gestor de colas, haciendo referencia a la biblioteca compartida en un archivo de conmutación.
Cuando se inicia el gestor de colas de WebSphere MQ del intermediario, carga el archivo de conmutación. El archivo de conmutación reenvía las llamadas de transacción XA/Open del coordinador de punto de sincronismo al proveedor JMS. Esto asegura que los recursos JMS que participan en la transacción se puedan coordinar en sincronización con otros gestores de recursos que están implicados en la misma transacción.
Es necesario realizar configuración adicional para habilitar el soporte de transacción global para los nodos JMSInput y JMSOutput; consulte Configuración de los nodos JMSInput y JMSOutput para dar soporte a transacciones globales.