Los destinos JMS que proporcionan mensajes a un nodo de entrada, o reciben mensajes de un nodo de salida, se pueden coordinar por punto de sincronismo como parte de una transacción coordinada XA de flujo de mensajes.
Transacciones que incluyen el coordinador de punto de sincronismo
En este diagrama, un nodo JMSInput consume mensajes de una cola y un nodo JMSOutput produce mensajes en una cola JMS. Los nodos están conectados 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 solicitudes 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 XA pueden participar en una transacción coordinada XA.
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.
En z/OS, el único proveedor JMS que está soportado es IBM® WebSphere MQ Java™ Client, y la única modalidad de transporte soportada para ese cliente es la modalidad BIND.
Los nodos que utilizan el transporte JMS, como los nodos JMS y SOAP, pueden participar en una transacción coordinada XA sólo si el proveedor JMS al que se conectan da soporte a la interfaz XA/Open mediante la clase XAResource de JMS. Un ejemplo de proveedor JMS es WebSphere MQ Java Client.
Puede especificar una fábrica de conexiones 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 una configuración adicional para habilitar el soporte de transacciones coordinadas XA para los nodos que utilizan el transporte JMS; consulte Configuración de nodos JMS y SOAP como soporte a transacciones coordinadas XA.