首页 > 解决方案 > MariaDB 在一段时间不活动后失去问题

问题描述

在一段时间不活动后,我的情况低于异常。我正在使用 jdbc:MariaDB 驱动程序。尝试在连接 URL 中设置 wait_timeout、interactive_timeout、connectTimeout、SocketTimeout,但这不起作用。我的配置文件是datasource.xml。

错误 java.sql.SQLNonTransientConnectionException: (conn:4906075) Connection is close\n; SQL []; (conn:4906075) 连接已关闭;嵌套异常是 java.sql.SQLNonTransientConnectionException: (conn:4906075) Connection is close

完全异常:加载页面数据时出错:{"data":"Apache Tomcat/8.0.22 - 错误报告<style type="text/css">H1 {font-family:Tahoma,Arial,sans-serif;color:white ;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font -family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color :white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color: black;font-size:12px;}A {color : black;}A.name {color : black;}.line {height: 1px; background-color: #525D76;border: none;}

HTTP 状态 500 - 请求:GET /taxonomy/l2null

<div class="line">

类型异常报告

消息请求:GET /taxonomy/l2null

描述服务器遇到一个内部错误,阻止它完成这个请求。

例外

javax.servlet.ServletException: 请求: GET /taxonomy/l2null\ncontentType: null\ncontentLength: -1\nremoteAddr: 172.31.192.75\n\tcom.buydomains.servletfilter.RequestWrappingFilter.doFilter(RequestWrappingFilter.java:84)\n

根本原因

org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 org.springframework.dao.DataAccessResourceFailureException: \n### 查询数据库时出错。原因:java.sql.SQLNonTransientConnectionException: (conn:5050977) 流意外结束,从 4 读取 0 个字节\n### com/buydomains/mappers/TaxonomyCategoriesData.java 中可能存在错误(最佳猜测)\n## # 错误可能涉及 com.buydomains.mappers.TaxonomyCategoriesData.getLevel2Categories\n### 执行查询时发生错误\n### SQL: select taxonomy_id as id, label as name, parent as parentId from txnmy_taxonomy where enabled = 1 和级别 = 2\n### 原因:java.sql.SQLNonTransientConnectionException: (conn:5050977) 流意外结束,从 4\n 读取 0 个字节;SQL []; (conn:5050977) 流意外结束,从 4 读取 0 个字节;

根本原因

org.springframework.dao.DataAccessResourceFailureException: \n### 查询数据库时出错。原因:java.sql.SQLNonTransientConnectionException: (conn:5050977) 流意外结束,从 4 读取 0 个字节\n### com/buydomains/mappers/TaxonomyCategoriesData.java 中可能存在错误(最佳猜测)\n## # 错误可能涉及 com.buydomains.mappers.TaxonomyCategoriesData.getLevel2Categories\n### 执行查询时发生错误\n### SQL: select taxonomy_id as id, label as name, parent as parentId from txnmy_taxonomy where enabled = 1 和级别 = 2\n### 原因:java.sql.SQLNonTransientConnectionException: (conn:5050977) 流意外结束,从 4\n 读取 0 个字节;SQL []; (conn:5050977) 流意外结束,从 4 读取 0 个字节;嵌套异常是 java.sql.SQLNonTransientConnectionException: (conn:5050977) 意外结束流,

根本原因

java.sql.SQLNonTransientConnectionException: (conn:5050977) 流意外结束,从 4\n\torg.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:137)\n\torg.mariadb 读取 0 个字节.jdbc.internal.util.ExceptionMapper.getException(ExceptionMapper.java:101)\n\torg.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:91)\n\torg.mariadb.jdbc.MariaDbServerPreparedStatement .prepare(MariaDbServerPreparedStatement.java:154)\n\torg.mariadb.jdbc.MariaDbServerPreparedStatement.<init>(MariaDbServerPreparedStatement.java:96)\n\torg.mariadb.jdbc.MariaDbConnection.internalPrepareStatement(MariaDbConnection.java:432)\ n\torg.mariadb.jdbc.MariaDbConnection.prepareStatement(MariaDbConnection.java:291)\n\tsun.reflect.GeneratedMethodAccessor218.invoke(未知来源)\n\tsun.reflect.DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43)\n\tjava.lang.reflect.Method.invoke(Method.java:498)\n\torg.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) \n\torg.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)\n\torg.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81)\n\tcom .sun.proxy.$Proxy58.prepareStatement(Unknown Source)\n\torg.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:85)\n\torg.apache.ibatis.executor.statement.BaseStatementHandler .prepare(BaseStatementHandler.java:88)\n\torg.apache.ibatis.executor.statement.RoutingStatementHandler.prepare(RoutingStatementHandler.java:59)\n\torg.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java :85)\n\torg.apache.ibatis.executor。SimpleExecutor.doQuery(SimpleExecutor.java:62)\n\torg.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)\n\torg.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:第156章.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)\n\torg.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)\n\tsun.reflect.GeneratedMethodAccessor103.invoke (来源不明)\n\tsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tjava.lang.reflect.Method.invoke(Method.java:498)\n\torg.mybatis.spring.SqlSessionTemplate $SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)\n\tcom。sun.proxy.$Proxy39.selectList(Unknown Source)\n\torg.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224)\n\torg.apache.ibatis.binding.MapperMethod.executeForMany(MapperMet

标签: mariadb

解决方案


推荐阅读