Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma transação é um objeto que define uma unidade lógica de trabalho. A transação está ativa desde que haja um identificador que referencia a transação e seja considerada ativa se a transação ainda não tiver sido confirmada ou revertida. Se uma transação for criada e todas as alças para ela tiverem sido fechadas antes de ocorrer uma confirmação ou reversão, a transação será revertida.
Considere o caso de um cliente transacional no modo de usuário que cria uma transação para definir o escopo de suas operações e, em seguida, executa atualizações em um ou mais gerenciadores de recursos. O seguinte ocorre:
O cliente chama a função CreateTransaction para criar a transação e recebe um identificador para essa transação como o valor retornado.
A transação pode ser aberta ou herdada por qualquer número de processos; cada processo está, portanto, envolvido na transação. A falha de qualquer um desses processos fará com que a transação seja anulada.
Essa transação ainda pode não ser persistente. Somente as transações que atingiram o estado preparado deverão ser recuperadas entre falhas do sistema se a transação usar o log de anulação presumida.
O cliente deve passar uma transação para o gerenciador de recursos explicitamente.
O cliente executa todas as operações transacionais com uma ou mais RMs, como sistemas de arquivos transacionados.
O cliente chama a função CommitTransaction.
O gerenciador de recursos recebe notificações da KTM para preparar e confirmar seus dados.
Transações e threads
As transações não são iguais aos threads. Vários threads ou processos podem fazer parte de uma única transação. Por outro lado, um thread pode fazer parte de várias transações diferentes em momentos diferentes.
Funções de transação
As funções a seguir são usadas com transações.
| Função | Descrição |
|---|---|
| commitTransaction | Solicita que a transação especificada seja confirmada. |
| commitTransactionAsync | Solicita que a transação especificada seja confirmada. |
| CreateTransaction | Cria um novo objeto de transação. |
| GetTransactionInformation | Retorna as informações solicitadas sobre a transação especificada. |
| OpenTransaction | Abre uma transação existente. |
| RollbackTransaction | Solicita que a transação especificada seja revertida. |
| RollbackTransactionAsync | Solicita que a transação especificada seja revertida. Essa função retorna de forma assíncrona. |
| SetTransactionInformation | Define as informações de transação da transação especificada. |