Bom dia galera, é o seguinte, até ontem, quando eu fui embora do trabalho estava funcionando a aplicação, hoje quando fui testa-la para fazer mais modificações, pifou tudo.
Eu vou postar o erro e as classes relacionadas aqui:
ROOT Cause 1
root cause
javax.servlet.ServletException: /pesquisaIndice.jsp(61,32) '#{pesqIndice.bibliotecaItem}' Error reading 'bibliotecaItem' on type br.com.webalexandria.model.handler.PesquisaIndiceHandler
ROOT Cause 2
root cause
org.apache.jasper.el.JspELException: /pesquisaIndice.jsp(61,32) '#{pesqIndice.bibliotecaItem}' Error reading 'bibliotecaItem' on type br.com.webalexandria.model.handler.PesquisaIndiceHandler
ROOT Cause 3
root cause
org.hibernate.exception.GenericJDBCException: Cannot open connection
ROOT Cause 4
root cause
java.sql.SQLException: Connections could not be acquired from the underlying database!
ROOT Cause 5
root cause
com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
Então…o que me aconteceu agora foi isso, eu vi que ele estava fora do ar, ai eu subi e entrei nele pelo MySQL Query Browser e deu certo.
Agora, não sei por que, voltou a subir, deu denovo o problema, e denovo se consertou sozinho, creio que o servidor onde os bancos estejam está ficando velho e com muitos problemas!
mas mesmo assim, eu queria entender o por que do problema, então não desistam por favor!
Obrigado e desculpa pela impaciência (eu sou novo aqui no trabalho e não gosto de ficar sem saber resolver alguma coisa, sabe, quero mostrar serviço!)
Na verdade esse erro é bem simples: não consegui conectar no banco de dados. Ou seja, não há nada errado no Java, ele está fazendo sua parte.
Você deve analisar o que há com o banco de dados, analisar logs e ver porque ele está caindo.
Lembre-se que se você está usando MySQL e provavelmente use algum pool de conexões, você precisa configurar ele para renovar as conexões após algum tempo. O que pode acontecer é que a aplicação fica um longo tempo sem uso, então as conexões morrem pelo timeout e aí o pool, dependendo de qual e de como você configurou, enlouquece.