Jdbc (Postgres) + Transaction + Connection Pool

1 resposta
P

Iae, galera.

To tendo um problema, depois que o time tava quais fazendo o gool.
No meu projeto que são varias classes, estou tendo problema para fazer o rollback, em caso de erro, neste momento nao estou criando transacaos com o postgres (begin work), (commit work) ou (rollback work).

Os meus metodos sao genericos, eles fazem a ação que devem fazer, e dentro desse metodo que fez a acao der tudo certo eu chamo outro metodo. So que o problema e o seguinte.

Meu Metodo() {

Pego Conexao do Poool

connection.executarUpdate(SQL);

se ok

chamo outro metodo();

senao

…

}

Tudo bem, na hora que eu chamo, o primeiro metodo e ele faz a execucao da query, e chama o outro metodo, certo? Mais se no outro metodo que eu chamar, der algum erro? na hora que for executar a query? Por isso que quero implementar o conceito de transacoes no meu sistema. Mais vejam, alguem ja implementou transaction com connection pool?

O que eu nao estou intendendo e o seguinte, cada conexao, nao tinha que ter um begin work? E no caso do meu poool? Como eu vou referir as outras conexoes. dos metodos anteriores?

Alguem da uma luz?

:wink: :cry:

1 Resposta

Rafael_Steil

Voce nao precisa fazer nada especial em relacao ao pool para usar transactions. Eh soh chamar o conn.setAutoCommit(false); no teu objeto conn, e entao dar rollback() ou commit() no final dela.

O problema maior que voce vai ter eh: 1) o teu driver precisa suportar transacao, e, se nao me engano, o oficial do postgresql nao suporta 2) Use um connecion pool decente… O XAPool eh muito bem falado.

Rafael

Criado 27 de maio de 2004
Ultima resposta 28 de mai. de 2004
Respostas 1
Participantes 2