Problema com deadlock[RESOLVIDO]

Boa tarde, estou com problemas de deadlock, em um sistema desktop utilizando banco de dados (mysql). Em alguns casos o banco gera erro:
com.mysql.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock.
Quero ver se alguem têm alguma idéia de como posso tratar este erro ou previni-lo. Pois gera o erro e aborta o processo.
Uma alterantiva que estou tentando encontrar é um meio de buscar algum dado do banco dizendo que esta processando algo, assim só envia o novo processo ao banco assim que terminar o outro primeiro, mas até agora não encontrei nada. Isto utilizando a mesma base de dados mas em várias inicializações do sistema separados.
Se alguém poder me ajudar, desde já agradeço.

Voce ja experimentou dar um “connection.close();” apos encerrar a comunicacao com o banco de dados?

abrs

O processo que faço é o seguinte, seto autocommit false para conexao e em alguns casos crio statement’s com os comandos que devem ser executados após executar cada statement efetuo um close para ele, após terminar tudo chamo commit.
Mas como tem processo que demoram mais tempo. E outros usuarios podem chamar este rotina, acaba dando deadlock.

Cara, esse problema deve ser analisado com criterio, pois essa demora pode arruinar o seu sistema em um futuro nao tao distante. Veja o que esta sendo feito no BD e como esta sendo feito, mas de qualquer modo, promova o metodo da sua aplicacao que esta fazendo uso desses recursos para “synchronized”, assim, apenas uma thread de cada vez tera acesso a sua implementacao, creio que com isso o deadlock no BD nao sera disparado.

abrsss

Vini, acrescentei o comando conexao.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); fiz alguns testes multi-usuario, mas terei que esperar para ver se ocorre novamente após esta alteração.
No caso o “synchronized” nao seria aplicado para este caso, pois nao é uma aplicação singleton com varias instâncias sendo utilizadas uma para cada usuario, e sim,
o mesmo jar sendo executado varias vezes e conectando ao banco, assim nao tendo como utilizar o sincronized em instâncias separadas do jar.
Mas desde ja agradeço a atenção.

OK! Caso seu problema seja resolvido insira a marcacao [RESOLVIDO] no titulo desse post…rsrs.

abrss