Os destinos JMS que fornecem mensagens para um nó de entrada ou recebem mensagens de um nó de saída podem ser coordenados pelo ponto de sincronização como parte de uma transação coordenada por XA do fluxo de mensagens.
Transações Envolvendo o Coordenador do Ponto de Sincronização
Neste diagrama, as mensagens são consumidas de uma fila por um nó JMSInput e produzidas em uma fila JMS por um nó JMSOutput. Os nós estão conectados e em sessão em um provedor JMS. Qualquer nó de entrada do fluxo de mensagens pode informar o Coordenador do Ponto de Sincronização externo quando uma transação do fluxo de mensagens é iniciada e finalizada e se algum recurso que foi afetado pelo fluxo deve ser confirmado ou recuperado.
O Coordenador de Ponto de Sincronização (sync-point coordinator) envia pedidos compatíveis com XA/Open a todos os gerenciadores de recursos participantes para informar a eles da preparação. Todas as alterações são confirmadas ou revertidas. Gerenciadores de recursos, por exemplo, o WebSphere MQ, o DB2 e qualquer provedor JMS compatível com XA podem participar de uma transação coordenada por XA.
O Coordenador de Ponto de Sincronização externo é o WebSphere MQ nos sistemas operacionais diferentes do z/OS, e RRS (Resource Recovery Services) no z/OS.
No z/OS, o único provedor JMS que é suportado é o IBM® WebSphere MQ Java™ Client, e o único modo de transporte suportado para esse cliente é o modo BIND.
Nós que usam o transporte JMS, como os nós JMS e SOAP, podem participar de uma transação coordenada por XA apenas se o provedor JMS ao qual se conectarem suportar a interface XA/Open por meio da Classe JMS XAResource. Um provedor JMS de exemplo é o WebSphere MQ Java Client.
Você pode especificar um connection factory genérico (recoverXAQCF) para recuperação de transações coordenadas por XA.
Transações Pendentes
As transações pendentes podem ocorrer quando um gerenciador de recursos não responde a uma chamada do gerenciador de ponto de sincronização, onde a chamada deve confirmar ou retroceder recursos. Durante a inicialização do gerenciador de filas do WebSphere MQ do intermediário, uma etapa de recuperação inicial é realizada para assegurar que quaisquer transações pendentes sejam resolvidas antes que os fluxos de mensagens do intermediário comecem a processar nova entrada. Um provedor JMS que participa das transações globais do intermediário é incluído nessa etapa de recuperação.
Em sistemas operacionais diferentes de z/OS, WebSphere MQ requer que uma tarefa de administração seja transportada antes da implementação. Essa tarefa registra um componente do intermediário, que é uma biblioteca compartilhada, no gerenciador de filas atribuindo a biblioteca compartilhada a um arquivo de chave.
Quando o gerenciador de filas WebSphere MQ do intermediário é inicializado, ele carrega o arquivo de chave. O arquivo de chave redireciona as chamadas de transação XA/Open do Coordenador de Ponto de Sincronização para o Provedor JMS. Isso assegura que os recursos JMS que participam da transação possam ser coordenados em sincronização com outros gerenciadores de recursos envolvidos na mesma transação.
É necessária configuração adicional para ativar o suporte a transações coordenadas por XA para os nós que usam o transporte JMS; consulte Configurando os Nós JMS e SOAP para Suportar Transações Coordenadas por XA.