Se você desejar que o processamento do fluxo de mensagens seja coordenado com outros recursos, será necessário configurar as propriedades dos dois nós no fluxo de mensagens e do próprio fluxo de mensagens.
Antes de começar:
Para concluir esta tarefa, você deve ter concluído a seguinte tarefa:
Um fluxo de mensagens coordenado deve ser executado em uma única transação, que é iniciada quando uma mensagem é recebida por um nó de entrada e pode ser consolidada ou revertida quando todo o processamento estiver concluído. Também é possível controlar como os erros no banco de dados são manipulados pelo nó que interage com o banco de dados.
Para configurar o fluxo de mensagens e os nós:
Você pode definir a propriedade Transaction para os seguintes valores:
Para que todo o processamento do fluxo de mensagens seja coordenado, será necessário selecionar esse valor.
Para misturar nós com transacionalidade Automática e Consolidada no mesmo fluxo de mensagens em que os nós operam no mesmo banco de dados externo, você deve utilizar conexões ODBC separadas: uma para os nós que não deverão ser consolidados até a conclusão do fluxo de mensagens e uma para os nós que deverão ser consolidados imediatamente. Caso contrário, os nós consolidados imediatamente também farão com que todas as operações realizadas pelos nós Automáticos anteriores também sejam consolidadas.
Se você definir mais de uma conexão ODBC, poderão ocorrer problemas de travamento no banco de dados. Em especial, se um nó com transacionalidade Automatic realizar uma operação, como INSERT ou UPDATE, que cause o travamento de um objeto do banco de dados (como uma tabela), e um nó seguinte tentar acessar esse objeto do banco de dados utilizando uma conexão ODBC diferente, ocorrerá um travamento (congelamento) infinito.
O segundo nó aguarda pela liberação do travamento do primeiro, mas o primeiro nó não consolidará suas operações e liberará seu travamento até que seja concluído o fluxo de mensagens; isso nunca ocorrerá porque o segundo nó está aguardando pela liberação do travamento do banco de dados do primeiro nó.
Essa situação não pode ser detectada por nenhuma rotina de revogação de congelamento automático do DBMS, porque as duas operações estão interferindo entre si indiretamente, utilizando o intermediário.
Existem duas maneiras para evitar esse tipo de problema de travamento:
Para obter informações relativas a quais objetos do banco de dados serão travados por determinadas operações e como configurar o parâmetro de tempo limite do banco de dados, consulte a documentação do produto do banco de dados.
A tabela abaixo fornece um resumo das medidas tomadas em resposta às definições de propriedades específicas para os nós de entrada e de saída.
Persistência da Mensagem 1 | Transaction Mode do Nó Input | Transaction Mode do Nó MQOutput ou MQReply | O Fluxo de Mensagens é Coordenado Globalmente |
---|---|---|---|
Sim | Sim | Automático | Sim |
Não | Sim | Automático | Sim |
Sim | Não | Automático | Não |
Não | Não | Automático | Não |
Sim | Automático | Automático | Sim |
Não | Automático | Automático | Não |
Qualquer 2 | Qualquer 2 | Sim | Sim |
Qualquer 2 | Qualquer 2 | Não | Não |
Notes:
|
O padrão em cada nó de entrada é Sim, o que significa que as mensagens que chegam são processadas sob o ponto de sincronização. Além disso, as mensagens enviadas para o nó de saída são entregues sob o ponto de sincronização. Você poderá alterar esse comportamento se o nó de saída for um nó MQOutput ou MQReply e se os dois possuírem uma propriedade Modo de Transação.
Se você definir o Transaction Mode em um nó de entrada como para Automático, as mensagens de entrada serão processadas sob o ponto de sincronização apenas se estiverem definidas como persistentes. As mensagens enviadas para o nó MQOutput serão entregues sob o ponto de sincronização, a menos que você altere explicitamente o Modo de Transação no nó MQOutput.
No z/OS, as transações são sempre coordenadas globalmente. A definição da propriedade coordinatedTransaction para um fluxo de mensagens é ignorada.A coordenação é sempre fornecida por RRS.
Conceitos relacionados
Fluxos de Mensagem
Tarefas relacionadas
Acessando Bancos de Dados em Fluxos de Mensagens
Configurando Fluxos de Mensagens Coordenados
Tratando Erros em Fluxos de Mensagens
Editando Propriedades Configuráveis
Referências relacionadas
Bancos de Dados Suportados
Nós Internos
Avisos |
Marcas |
Downloads |
Biblioteca |
Suporte |
Feedback
![]() ![]() |
ac00393_ |