Estou com problemas em minha aplicação Java, ás vezes trava e não consigo mais pegar nada do banco de dados até reiniciar o Tomcat estou achando que está ocorrendo deadlock no banco de dados, porém o Tomcat não mostra nenhum erro no log.
Como faço para saber se está ocorrendo esse deadlock, se o Tomcat não me mostra nada?
Editado: Estou tentando usar o JProfiler para achar esse deadlock, porém não tenho experiência com profiladores.
pode estar estourando a memória, ai para um monte de coisa, as vezes tudo
se for deadlock no MySQL, vc tentou logar na instância??
vc deu uma olhada no log do MySQL?
R
RafaelViana
Eu abro o sistema e insiro registros normalmente.
Quando eu começo a inserir registros rapidamente em um determinado cadastro, ela começa a não salvar mais, nem nesse nem em outros. ele trava!
Vou no phpMyAdmin e tentou inserir registro diretamente no banco, funciona corretamente! (acho que deadlock não é…)
Abro o sistema novamente (sem reiniciar o Tomcat) não consigo acessar o banco de dados, o erro continua.
Quando eu reinicio o Tomcat o sistema volta a funcionar normalmente!
Não aparece nada no catalina.out, como posso saber se é estouro de memória no tomcat?
vinicius.martinez
Rafael,
Cara…como voce mesmo disse, o banco está no ar e não travado, sendo assim acho que não é deadlock.
Acredito que voce esteja com problemas no tratamento de conexões.
Voce está utilizando o pool de conexões do Tomcat ? Tem como monitorar no momento do travamento ?
Caso não, suponho que voce esteja esgotando as conexões do banco de dados, iniciando as transações e não fechando ou comitando as conexções e transações.
Sem olhar o código e sem maiores informações fica difícil de palpitar…mas acho que é isso.
Se der pra nos dar maiores informações sobre o que voce esta utilizando e o trecho de código que voce está travando, ajudaria mais.
Abraços
R
RafaelViana
Acho que está resolvido.
Não entendo nada, nessa parte de profile, gerenciamento de conexões, … (um dia ainda quero estudar mais sobre essa parte), mas a principio acho que era: Connection Leak (configuração do c3p0 não fechava a conexão ou algo do tipo)