Coordenação de Acesso aos Recursos One-phase Commit e Two-phase Commit Compatíveis na Mesma Transação

O suporte ao último participante permite a utilização de um recurso com capacidade de consolidação em uma única fase com um número qualquer de recursos com capacidade de consolidação em duas fases na mesma transação global. É possível ter várias interações que envolvam o recurso de confirmação de uma fase na mesma transação, mas apenas um recurso desse tipo pode estar envolvido.

Na confirmação da transação, os recursos two-phase commit são preparados primeiro utilizando o protocolo two-phase commit e, se for bem-sucedido, o recurso one-phase commit será, então, chamado para confirmação. Os recursos two-phase commit são confirmados ou recuperados, dependendo da resposta do recurso one-phase commit.

Nota: Se a transação global estiver distribuída entre diversos servidores de aplicativos que estiverem todos em execução no WebSphere Application Server versão 6.1 ou posterior, poderá explorar o último suporte de participante para coordenar um recurso apto para one-phase commit em qualquer número de recursos aptos para two-phase commit na mesma transação em um número limitado de cenários.
  • O cenário principal é quando o provedor de recursos de consolidação em uma fase é acessado no processo do servidor de aplicativos (o servidor "raiz da transação") no qual a transação foi iniciada.

    Nesse cenário, o suporte ao último participante permite coordenar um recurso compatível com one-phase commit e um número qualquer de recursos compatíveis com two-phase commit na mesma transação.

  • Se o provedor de recursos de consolidação em uma fase for acessado em um servidor de aplicativos diferente (um servidor "subordinado da transação") daquele no qual a transação foi iniciada; por exemplo, como resultado de uma chamada transacional em uma interface EJB remota onde a implementação EJB acessa um provedor de recursos de consolidação em uma fase.

    Nesse cenário, a transação geralmente não pode ser consolidada. Para poder consolidar (como parte da transação global) um recurso de consolidação em uma fase listado em um servidor subordinado da transação, o serviço de transação deve delegar a responsabilidade de coordenação da raiz de transação para o servidor subordinado. Isso ocorre apenas se nenhum outro recurso foi registrado com o servidor raiz da transação.

O suporte ao último participante apresenta um maior risco de um resultado heurístico para a transação. Ou seja, o gerenciador de transações não pode se assegurar que todos os recursos foram concluídos na mesma direção (consolidados ou revertidos). Por este motivo, para ativar um aplicativo para coordenar o acesso a recursos compatíveis com one-phase e two-phase commit na mesma transação, você deve configurar o aplicativo para aceitar o risco heurístico, ou seja, o risco elevado de um resultado heurístico.

Ocorre um resultado heurístico se o serviço de transação (JTS) não receber resposta do fluxo de consolidação em uma fase no recurso de consolidação em uma fase. Nesta situação, o serviço de transações não pode determinar se as mudanças no recurso de one-phase commit foram confirmadas ou recuperadas e, dessa forma, não podem acionar confiavelmente o resultado correto da transação global nos outros recursos de two-phase commit.

É possível configurar o serviço de transações para um servidor de aplicativos para aceitar o risco heurístico, ou pode configurar aplicativos individualmente para aceitar o risco heurístico. É possível configurar os aplicativos individualmente quando eles são montados ou após a implementação.

É possível configurar o serviço de transação para um servidor de aplicativos para indicar se deve ou não registrar que está prestes a consolidar o recurso de consolidação em uma fase. Isso não reduz o risco heurístico, mas assegura que qualquer falha e subseqüente recuperação do servidor de aplicativos durante a fase de consolidação em uma fase ocorra com conhecimento de que o recurso de consolidação em uma fase foi ou não solicitado para consolidação.
  • Se o recurso de consolidação em uma fase foi solicitado para consolidação, um resultado heurístico será relatado no log de atividades.
  • Se o recurso de consolidação em uma fase não foi solicitado para consolidação, a transação será revertida consistentemente.

Exceções de transação que envolvem recursos one-phase e two-phase commit

As exceções que podem ser emitidas por transações que envolvem recursos one-phase e two-phase commit são iguais àquelas que podem ser emitidas por transações que envolvem apenas recursos two-phase commit.

As exceções que podem ocorrer são listadas nas informações de referência da interface de programação de aplicativos (API) no centro de informações do WebSphere Application Server.


Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cla_ovrvw
Nome do arquivo: cla_ovrvw.html