Transações de Fluxos de Mensagens

Um fluxo de mensagens pode ter um dos dois estilos:
Fluxos de Mensagens Coordenados
Asseguram que todas as atualizações de recursos sejam confirmadas ou recuperadas juntas em uma única transação.
Fluxos de Mensagens Não Coordenados
Permitem que as atualizações de recursos ocorram de maneira independente; as atualizações não são afetadas pelo êxito ou falha geral do fluxo de mensagens.

Fluxos de Mensagens Coordenados

Você pode configurar um fluxo de mensagens que inclui interação com um banco de dados externo ou outro recurso recuperável para que todo seu o processamento seja coordenado em uma única transação global. Esta coordenação assegura que todo o processamento seja concluído com êxito ou que nenhum processamento seja concluído. A transação será confirmada (se todo o processamento for bem-sucedido) ou revertida (se pelo menos uma parte do processamento não for bem-sucedida). Assim, todos os recursos afetados (filas, bancos de dados etc.) são mantidos em um estado consistente e a integridade de dados é preservada.

As atualizações feitas por um fluxo de mensagens coordenado são confirmadas quando o fluxo processa a mensagem de entrada com êxito. As atualizações serão restauradas se ambas as seguintes condições forem atendidas:
  • Todo nó no fluxo emite uma exceção que não é capturada por um nó diferente do nó de entrada
  • O terminal Catch do nó de entrada não está conectado

Para configurar um fluxo de mensagens como coordenado, configure a propriedade Coordenado no fluxo de mensagens.

Para alguns nós de entrada, como MQInput ou SCADAInput, configure a propriedade Modo de Transação nos nós no fluxo como Automático. A opção Automático torna as mensagens parte da transação global e marca o fluxo de mensagens como transacional, caso a mensagem de entrada seja persistente, ou não coordenado, caso a mensagem de entrada não seja persistente. Os nós subseqüentes no fluxo que definem a propriedade Modo de Transação como Automático serão incluídos na transação global se o fluxo for marcado transacional pelo nó de entrada.

A coordenação de transação dos fluxos de mensagens é fornecida nos sistemas distribuídos pelo WebSphere MQ, e nos sistemas z/OS pelo RRS. Os fluxos de mensagens são sempre globalmente coordenados no z/OS, independentemente da definição da propriedade Coordenado do fluxo de mensagens.

Fluxos de Mensagens Não Coordenados

Fluxos não coordenados são fluxos para os quais a propriedade Coordenado não está configurada. As atualizações nos recursos que são utilizados por um fluxo não coordenado são gerenciadas por gerenciadores de recursos separados. Alguns gerenciadores de recursos, como o WebSphere MQ, permitem que atualizações sejam feitas de modo não transacional ou como parte de uma transação de recurso específico. Outros gerenciadores de recursos, como gerenciadores de banco de dados, sempre utilizam uma transação específica de recurso. Transação de recurso específico é aquela com escopo limitado aos recursos pertencentes a um único gerenciador de recursos, como um gerenciador de filas ou de banco de dados.

Transações de recurso específico normalmente são utilizadas quando apenas um tipo de recurso recuperável é utilizado em um fluxo. Um exemplo desse fluxo é um que contém um nó MQInput e MQOutput, mas não acessa nenhum dos bancos de dados. Não utilize transações de recurso específico quando mais de um recurso existir e a integridade de dados tiver de ser mantida.

As atualizações feitas em um recurso que é acessado de modo não transacional são confirmadas imediatamente. Um nó MQInput configurado para ser não transacional remove mensagens da fila imediatamente; se o fluxo falhar, as mensagens serão perdidas.

Configure a propriedade Modo de Transação como Automático para tornar alguns nós de entrada (como MQInput ou SCADAInput) parte de uma transação, dependendo da persistência da mensagem de entrada. Se a mensagem de entrada for persistente, as mensagens se tornarão parte da transação, e o fluxo será marcado como transacional. Se a mensagem não for persistente, o fluxo será marcado como não transacional.

A amostra a seguir demonstra a utilização de transações coordenadas globalmente e as diferenças no fluxo de mensagens quando as atualizações de banco de dados são coordenadas (o fluxo principal) e quando não são (o fluxo de erros). Você pode visualizar amostras apenas quando utilizar o centro de informações integrado ao Message Brokers Toolkit.
Conceitos relacionados
Visão Geral de Fluxos de Mensagens
Tarefas relacionadas
Criação de um Fluxo de Mensagens
Definindo o Conteúdo do Fluxo de Mensagens
Configurando Fluxos de Mensagens Coordenados Globalmente
Tratando Erros em Fluxos de Mensagens
Referências relacionadas
Nós Internos
Conexões de Banco de Dados para Fluxos de Mensagens Coordenados
Suporte ao Banco de Dados para Fluxos de Mensagens Coordenados
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:11:37

ac00645_