失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > dbcp释放不了mysql链接_spring dbcp连接不释放-问答-阿里云开发者社区-阿里云

dbcp释放不了mysql链接_spring dbcp连接不释放-问答-阿里云开发者社区-阿里云

时间:2019-03-03 09:06:46

相关推荐

dbcp释放不了mysql链接_spring dbcp连接不释放-问答-阿里云开发者社区-阿里云

问题描述

这个spring配置,在使用过程中,基本上没插入200条数据后,通过mysql或netstat就可看到数据库连接达到10个,

并且mysql里面全部都是sleep状态。连接并没有释放,在等几十条后就出现异常。

dbcp配置

spring 注解事务

以下为stack信息

### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is mons.dbcp.SQLNestedException: Cannot get a connection, cause: Timeout waiting for idle object, cause: Timeout waiting for idle object

### The error may exist in configure/mybatis/User.xml

### The error may involve novel.Novel_read

### The error occurred while executing a query

### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is mons.dbcp.SQLNestedException: Cannot get a connection, cause: Timeout waiting for idle object, cause: Timeout waiting for idle object

at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23) ~[mybatis-3.2.3.jar:3.2.3]

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:107) ~[mybatis-3.2.3.jar:3.2.3]

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:98) ~[mybatis-3.2.3.jar:3.2.3]

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:62) ~[mybatis-3.2.3.jar:3.2.3]

at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) ~[na:na]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]

at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]

at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358) ~[mybatis-spring-1.2.1.jar:1.2.1]

... 45 common frames omitted

Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is mons.dbcp.SQLNestedException: Cannot get a connection, cause: Timeout waiting for idle object, cause: Timeout waiting for idle object

mysql状态采样(其余一样,共10个)

| 3 | root | localhost:34779 | test_db | Sleep | 659 | | NULL |

网络状态采样(其余一样,共10个)

tcp 0 0 ::ffff:127.0.0.1:34941 ::ffff:127.0.0.1:3306 ESTABLISHED 23223/java

使用c3p0和tomcat连接池均测试过,问题依旧存在。

c3p0配置如下:

软件版本

mysql版本5.6.14

mysql-connector 5.1.22

执行的插入SQL

insert into LT_USER (

NAME,

DESCN,

IMG,

CATEGORY_ID,

IS_FINISH,

CREATE_DATE,

STATUS

) values (

#{name, jdbcType=VARCHAR},

#{descn, jdbcType=VARCHAR},

#{img, jdbcType=VARCHAR},

#{categoryId, jdbcType=NUMERIC},

#{isFinish},

#{createDate},

#{status}

)

@Repository

public class UserDao extends SqlSessionDaoSupport {

public long create(final String sqlId, final Parameter parameter) {

return this.getSqlSession().insert(sqlId, parameter.getCriteria());

}

}

事务配置

如果觉得《dbcp释放不了mysql链接_spring dbcp连接不释放-问答-阿里云开发者社区-阿里云》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。