WARN org.hibernate.util.JDBCExceptionReporter (JDBCExceptionReporter.java:77) - SQL Error: 0, SQLS
tate: 08S01
2025-10-21 09:29:34,070 [DubboServerHandler-xxxxxxxxx-thread-199] ERROR org.hibernate.util.JDBCExceptionReporter (JDBCExceptionReporter.java:78) - The last packet su
ccessfully received from the server was 12,564,997 milliseconds ago. The last packet sent successfully to the server was 12,565,002 milliseconds ago. is longer than the se
rver configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server config
ured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
2025-10-21 09:29:34,070 [DubboServerHandler-xxxxxx-thread-199] ERROR org.hibernate.event.def.AbstractFlushingEventListener (AbstractFlushingEventListener.java:301
) - Could not synchronize database state with session
org.hibernate.exception.JDBCConnectionException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate$30.doInHibernate(HibernateTemplate.java:930)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:921)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:917)
at com.isoftstone.fwk.dao.BaseDao.find(Unknown Source)
at com.isoftstone.pcis.dao.PolicyBasicDao.queryBatDataForApp(PolicyBasicDao.java:1135)
at com.isoftstone.pcis.service.impl.PolicyAsynServiceImpl.dealPolicyAsynReqHnkdEdr(PolicyAsynServiceImpl.java:3651)
at com.alibaba.dubbo.common.bytecode.Wrapper5.invokeMethod(Wrapper5.java)
at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46)
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72)
at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:65)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)
应用定期没几天就报这个错,导致连不上数据库
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
阿里嘎多学长 2025-10-21 10:24关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
问题分析
根据你的描述,应用程序定期出现连接数据库的错误,提示SQL Error: 0,SQLState:null。这通常是因为数据库连接池或驱动程序出现问题导致的。
解决方案
- 检查数据库连接池配置:确保数据库连接池的配置正确,包括连接超时时间、最大连接数等。
- 更新数据库驱动程序:检查是否有最新的数据库驱动程序版本可用,更新驱动程序可能解决问题。
- 检查数据库连接:确保数据库连接正常,包括用户名、密码、连接地址等。
- 排查日志:检查应用程序的日志,是否有其他错误信息提示。
核心代码
// 检查数据库连接池配置 Properties props = new Properties(); props.setProperty("hibernate.connection.driver_class", "com.mysql.cj.jdbc.Driver"); props.setProperty("hibernate.connection.url", "jdbc:mysql://localhost:3306/mydb"); props.setProperty("hibernate.connection.username", "myuser"); props.setProperty("hibernate.connection.password", "mypassword"); props.setProperty("hibernate.connection.pool_size", "10"); // 更新数据库驱动程序 DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver()); // 检查数据库连接 Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); session.getTransaction().commit(); session.close();注意
上述代码仅供参考,具体的解决方案可能需要根据实际情况进行调整。
解决 无用评论 打赏 举报