Quantidade de acessos do Hibernate ao banco de dados!

4 respostas
S

Senhores eu tenho o seguinte problema criei um aplicação web que da um ping em meus servidores a cada 5 minutos então ela verifica se o servidor esta UP ou DOWN e guarda isso em um banco de dados MySql pra isso eu estou usando o Hibernate so que quando a aplicação chega em um determinada quantidade de acesso ao banco ela a aplicação me mostra a seguinte mensagem…

root cause

org.hibernate.exception.JDBCConnectionException: Cannot open connection

org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)

org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)

org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)

org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426)

org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)

org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)

org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)

org.hibernate.loader.Loader.doQuery(Loader.java:673)

org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)

org.hibernate.loader.Loader.doList(Loader.java:2220)

org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)

org.hibernate.loader.Loader.list(Loader.java:2099)

org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)

org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)

org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)

br.com.ping.DAO.PingTesteDAO.listaTudo(PingTesteDAO.java:40)

org.apache.jsp.WEB_002dINF.PAGINAS.Principal_jsp._jspService(org.apache.jsp.WEB_002dINF.PAGINAS.Principal_jsp:110)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:693)

org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:660)

org.apache.jsp.Home_jsp._jspService(org.apache.jsp.Home_jsp:51)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)

e quando vou verificar o meu servidor que estou usando o JBoss, ele me mostra aseguinte mensagem…

** END NESTED EXCEPTION **

Last packet sent to the server was 0 ms ago.

at com.mysql.jdbc.Connection.createNewIO(Connection.java:2814)

at com.mysql.jdbc.Connection.(Connection.java:1553)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java

:266)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at org.hibernate.connection.DriverManagerConnectionProvider.getConnectio

n(DriverManagerConnectionProvider.java:110)

at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager

.java:423)

 53 more

será que alguem pode me ajudar a resolver esse problema…

4 Respostas

kaique

Cara, não tenho certeza, mas você pode ter chegado nesse erro devido a quantidade de conexões que você está abrindo.
Nesse seu projeto você está usando algum pool de conexões? Se não, tenta criar um e vê se resolve o seu problema…

[]'s.

maniacs

Você fecha a conexão no final do processo ?

Paulo_Silveira

Voce esta fechando sempre a sessao no final de cada uso?

Alem disso, nao me parece que voce esteja usando um connection pool diferente do pool default do hibernate, que não é recomendado. Use o c3p0.

S

Boa noite Senhores!!!

Paulo respondendo a sua pergunta, sim eu estou sempre fechando a a sessão noficnal de cada uso, acho que o problema seja esse mesmo em relação ao pool de conexões como foi comentado por vc e pelo kaique vou tentar usar o pool comentado por vc Paulo Silveira caso não funcione eu volto aqui pra que os Sr’s possam me ajudar…

Obrigado pela atenção e pela ajuda…

Criado 4 de janeiro de 2008
Ultima resposta 5 de jan. de 2008
Respostas 4
Participantes 4