Com.ibm.db2.jcc.c.DisconnectException:

Ola pessoal,

Eu tenho uma aplicacao java que executa varias queries…
Sao queries muito pesadas, que passam horas executando…

Acontece que estou recebendo um erro na minha aplicacao…
“com.ibm.db2.jcc.c.DisconnectException”…eu perco a minha conexao e minha aplicacao termina com um NullPointerException…

Gostaria de saber como contornar isso…e como parar aonde deu erro, reconectar e retornar para a mesma query e executar novamente…

Obrigado pessoal!!!

ninguem pessoal ?:frowning:

Coisas a fazer:

  • Olhar o stack trace da exception para ver se este cara está acontecendo sempre no mesmo método.
  • Olhar na documentação do driver o que significa esta com.ibm.db2.jcc.c.DisconnectException .
  • Tratar este NullPointerException para sua aplicação conseguir se recuperar do erro.

Eu começaria por aí…

oi guerra, tudo bem cara?
Entao, concordo com vc…vc ta certo…

so que assim…o ponto seria…
qual a maneira correta de “reconctar” e parar da onde eu estava??

sei que para isso preciso tratar minhas excecoes e tal…mas qual uma boa maneira de fazer isso??

E respondendo a sua pergunta, nao, nao acontece sempre no mesmo metodo!!!

Tks []'s

De uma olhada na documentação do drive JDBC e nas configurações do DB2 para ver se não tem algum parametro de tempo de conexão ou timeout ou keep alive que possa ser aumentado, pois tem cara que a conexão está sendo fechada por ultrapassar algum limite deste tipo.

Você está trabalhando com pool de conexões? Se sim, o gerenciador das conexões deveria tratar isto de maneira transparente para você.

Voce está fazendo apenas select? Se sim, voce mesmo pode gerenciar onde parou. Agora se voce está fazendo insert/update/delete, dai voce teria que usar algum recurso extra (save point, commit por quantidade, etc).

Boa lembrança!!!

Se você não está utilizando um pool de conexões, a primeira coisa que você deveria fazer era usar!!! Dê uma olhada no jakarta commons que tem um pool pronto para você usar!!