Site off - erro hibernate

5 respostas
toninho

Salve galera,

Seguinte, desenvolvi um pequeno projeto (site) com vraptor + hibernate e hospedei na webhost.
Esta tudo certo, o problema é que de uma hora pra outra o site fica inacessível exibindo um erro de conexão com o banco na página principal, ai eu tenho que acessar via ssh e restartar o tomcat.
Abaixo segue erro e a forma de conexão que estou usando. Qualquer ajuda é bem vinda, abraços…

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration> 

  <session-factory> 

    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/sunpollc_site?autoReconnect=true</property>

    <property name="hibernate.connection.username">usuario</property>

    <property name="hibernate.connection.password">senha</property>    

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

    <property name="connection.pool_size">5</property>    

    <property name="hibernate.show_sql">false</property>

    <property name="hibernate.use_sql_comments">false</property>



    <!-- mapeamento das classes aqui... -->	

  </session-factory>

</hibernate-configuration>

Erro:

exception

javax.servlet.ServletException: could not execute query
	org.vraptor.VRaptorServlet.service(VRaptorServlet.java:95)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)

root cause

org.hibernate.exception.JDBCConnectionException: could not execute query
	org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
	org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	org.hibernate.loader.Loader.doList(Loader.java:2214)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
	org.hibernate.loader.Loader.list(Loader.java:2090)
	org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:95)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
	org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
	org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:305)
	br.com.sunpoll.site.dao.EnqueteDAO.findAtiva(EnqueteDAO.java:19)
	br.com.sunpoll.site.controller.IndexLogic.home(IndexLogic.java:24)
	sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	java.lang.reflect.Method.invoke(Unknown Source)
	org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:117)
	org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:37)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	br.com.sunpoll.site.interceptor.HibernateDAOInterceptor.intercept(HibernateDAOInterceptor.java:48)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:90)
	org.vraptor.core.DefaultController.execute(DefaultController.java:42)
	org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)

root cause

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was85739 seconds ago.The last packet sent successfully to the server was 85739 seconds ago, which  is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
	sun.reflect.GeneratedConstructorAccessor31.newInstance(Unknown Source)
	sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	java.lang.reflect.Constructor.newInstance(Unknown Source)
	com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
	com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
	com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3246)
	com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1917)
	com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
	com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
	com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
	com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885)
	org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
	org.hibernate.loader.Loader.getResultSet(Loader.java:1778)
	org.hibernate.loader.Loader.doQuery(Loader.java:662)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
	org.hibernate.loader.Loader.doList(Loader.java:2211)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
	org.hibernate.loader.Loader.list(Loader.java:2090)
	org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:95)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
	org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
	org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:305)
	br.com.sunpoll.site.dao.EnqueteDAO.findAtiva(EnqueteDAO.java:19)
	br.com.sunpoll.site.controller.IndexLogic.home(IndexLogic.java:24)
	sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	java.lang.reflect.Method.invoke(Unknown Source)
	org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:117)
	org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:37)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	br.com.sunpoll.site.interceptor.HibernateDAOInterceptor.intercept(HibernateDAOInterceptor.java:48)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:90)
	org.vraptor.core.DefaultController.execute(DefaultController.java:42)
	org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)

root cause

java.net.SocketException: Broken pipe
	java.net.SocketOutputStream.socketWrite0(Native Method)
	java.net.SocketOutputStream.socketWrite(Unknown Source)
	java.net.SocketOutputStream.write(Unknown Source)
	java.io.BufferedOutputStream.flushBuffer(Unknown Source)
	java.io.BufferedOutputStream.flush(Unknown Source)
	com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3227)
	com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1917)
	com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
	com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
	com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
	com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885)
	org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
	org.hibernate.loader.Loader.getResultSet(Loader.java:1778)
	org.hibernate.loader.Loader.doQuery(Loader.java:662)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
	org.hibernate.loader.Loader.doList(Loader.java:2211)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
	org.hibernate.loader.Loader.list(Loader.java:2090)
	org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:95)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
	org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
	org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:305)
	br.com.sunpoll.site.dao.EnqueteDAO.findAtiva(EnqueteDAO.java:19)
	br.com.sunpoll.site.controller.IndexLogic.home(IndexLogic.java:24)
	sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	java.lang.reflect.Method.invoke(Unknown Source)
	org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:117)
	org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:37)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	br.com.sunpoll.site.interceptor.HibernateDAOInterceptor.intercept(HibernateDAOInterceptor.java:48)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)
	org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:90)
	org.vraptor.core.DefaultController.execute(DefaultController.java:42)
	org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)

5 Respostas

maquiavelbona
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was85739 seconds ago.The last packet sent successfully to the server was 85739 seconds ago, which  is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

Parte da sua stacktrace. Pelo menos leste? Testaste o autoReconnect=true?

Até!

toninho

maquiavelbona:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was85739 seconds ago.The last packet sent successfully to the server was 85739 seconds ago, which is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

Parte da sua stacktrace. Pelo menos leste? Testaste o autoReconnect=true?

Até!

Olá sim, eu li, tentei assim

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/sunpollc_site?autoReconnect=true</property>

e também assim

<property name="autoReconnect">true</property>

Em ambos os casos o problema permanece…

Deluxe

tu coloco seu driver jdbc?

toninho

Sim, o site funciona tudo normal… soh que eu determinado momento (no fim do dia, suponhamos) a conexão caiu… mas o driver ta ok e funcionando sim

maquiavelbona

Sim, o site funciona tudo normal… soh que eu determinado momento (no fim do dia, suponhamos) a conexão caiu… mas o driver ta ok e funcionando sim
Entao faca como muita gente na net disse. Antes de fazer uma busca, tente “reavivar” a conexao rodando um SELECT 1 ou algo do genero.

Ate!

Criado 6 de julho de 2008
Ultima resposta 7 de jul. de 2008
Respostas 5
Participantes 3