Transação Atômica em Java

1 resposta
mjohnatha

Pessoal,

estou com dúvidas na implementação de um código aqui.

Tenho duas operações:

1º - Gravação de uma informação no banco.
2º - Envio dessa mesma informação para o WebService de um cliente.

Há a possibilidade de, após gravar a informação no banco, haja problema na comunicação com o Web Service.
O meu problema é o seguinte: como devo fazer para que essas duas operações façam parte de uma transação atômica? Ou seja, devo garantir que as duas sejam realizadas ou que nenhuma das duas sejam realizadas para que a base não fique com informações inconsistentes.

Deve existir alguma classe que dê um rollback na transação do banco, ou algo do tipo, mas não encontrei.
Alguém pode me dar uma força nesse problema?

Desde já, agradeço.

1 Resposta

Andre_Fonseca

oi,

você pode criar sua própria transação

interface Transaction {
  void begin();
  void commit();
  void end();
}

class TransactionService implements Transaction {

   public void begin() {
      // inicialização
      // define estado da transacao como executando
      // mais tarefas
   }

   public void commit() {
     // realiza commit, salva no banco, etc
     // altera estado da transacao
     // mais tarefas
   }
}

class UsaTransacao {
  TransactionService service = new TransactionService();
  service.begin();
  ...
}
Criado 1 de dezembro de 2010
Ultima resposta 1 de dez. de 2010
Respostas 1
Participantes 2