Por favor poste o stack trace inteiro da aplicação.
De qualquer forma pode ser algum problema relacionado ao acesso ao banco de dados. Por exemplo um número máximo de conexões sendo atingido. Você usa algum gerenciador de pool?
L
leoloko
Bom olhando estes dias consegui o log da aplicação, e o que aparece lá derepente é isso:
Isso começa a acontecer do nada, alguém tem idéia?
ThiagoWorldCoder
Isso já aconteceu comigo, acho que estava faltando o driver, ou a senha estava errada!
L
leoloko
Mas a aplicação funciona perfeitamente por um tempo, só depois de um tempo que para de funcionar.
Repondendo a pergunta do amigo ali de cima, não pode ser o numero máximo de conexões sendo atingida, pois o problema ocorre em um servidor de testes sem ao menos 1 pessoa acessando.
L
leoloko
Bom, pra ajudar eu to disponibilizando o log de ontem pra hoje desde quando parou de funcionar até eu fazer o undeploy e o deploy
Pessoal por favor me ajudem, daki a poko meu chefe me manda embora… hehehehe
ThiagoWorldCoder
Eu tenho uma idéia, faça um teste unitário na sua camada de persistência, verifique se as queries que você está fazendo, e os commits estão legais!
parece que tem um caso que você está tentando fazer uma query com a sessão fechada!
L
leoloko
Aleluia, alguém respondeu… hehehe
Então, mas como testar se tudo está funcionando normal e só depois de várias horas o sistema para? Tipo ontem deu esse problemas era umas 14:00… reiniciei o tomcat voltou a funcionar, e só foi acontecer denovo hoje por voltar das 15:00… então que dizer, o sistema funciona 24h sem dar nada, e derepente, as vezes sem ninguem acessando nada, ele para, e começa dar akelas exception que tah no log.
Paulo_Silveira
O seu problema é um classico! O hibernate esta usando um pool de conexao, e depois de algumas horas dessas conexoes abertas sem uso, o banco de dado as mata, porque as considera nocivas (ele acha que voce provavelmente as esqueceu abertas!). Na hora que o hibernate vai executar alguma coisa, ele pega uma dessas conexoes “bichadas”, que nao tem mais ligacao com o banco de dados (o cano de ligacao esta quebrado! broken pipe da socket)
Entao pare de usar o pool de conexao default do hibernate, que é muito ruim e simples. Eles mesmos aconselham voce a nao usar.
Utilize o C3P0, que ele mesmo faz uma checagem pra ver se a conexao que ele esta pegando esta viva ainda. Ele tem outra opcao que usa threads para essa verificacao de tempos em tempos.
L
leoloko
Paulo Silveira:
O seu problema é um classico! O hibernate esta usando um pool de conexao, e depois de algumas horas dessas conexoes abertas sem uso, o banco de dado as mata, porque as considera nocivas (ele acha que voce provavelmente as esqueceu abertas!). Na hora que o hibernate vai executar alguma coisa, ele pega uma dessas conexoes “bichadas”, que nao tem mais ligacao com o banco de dados (o cano de ligacao esta quebrado! broken pipe da socket)
Entao pare de usar o pool de conexao default do hibernate, que é muito ruim e simples. Eles mesmos aconselham voce a nao usar.
Utilize o C3P0, que ele mesmo faz uma checagem pra ver se a conexao que ele esta pegando esta viva ainda. Ele tem outra opcao que usa threads para essa verificacao de tempos em tempos.
Hummm vou pesquisar sobre esse C3P0… valew hein… espero que seja este o problema, e também estou iniciando um novo projeto, jah vou utilizar esse C3P0…
Muito Obrigado a todos… e assim que eu testar esse lance, eu posto novamente aqui o resultado.
Exception in thread "Timer-0" java.lang.NullPointerException
at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable(Log4jMLog.java:255)
at com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(BasicResourcePool.java:1934)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
Reparei que esses erros ocorrem quando o sistema está ocioso sem nenhuma requisiçao… agora, quando estah sendo usado, aparentemente nao ocasiona erro.
L
leoloko
Aeeeeeeeeeeeeeeeee
Problema resolvido, utilizei esse C3P0 e faz 4 dias que aplicação tah rodando sem parar ou ter que reiniciar o tomcat.
Muito Obrigado a todos.
E sobre este ultimo erro que eu mandei, eu adicionei um parâmetro no log4j.properties que está lá no proprio site do hibernate e parou de dar o erro.
T+
tiorobert
Como você fez para resolver esse problema?
leandrokjava
Eu já vih este problema antes, e que eu me lembro o problema era que as conexõess que estao sendo abertas nao estavam sendo fechadas.
post aqui como resolveu?
att
R
rodrigo.lopes
Cara que propriedade vc alterou no log4j.properties pra parar de dar esses erros?