我出现这个问题!!连接池配置如下:
1 #连接池配置
initialSize: 110
minIdle: 110
maxActive: 1000
maxWait: 5000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
removeAbandoned: true
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 50
2 报错信息如下:
Caused by: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 5258, active 120, maxActive 1000, creating 0
at com.alibaba.druid.pool.DruidDataSource.getConnectionInternal(DruidDataSource.java:1379) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1198) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4619) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.filter.logging.LogFilter.dataSource_getConnection(LogFilter.java:874) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4615) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.filter.FilterAdapter.dataSource_getConnection(FilterAdapter.java:2745) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4615) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.filter.FilterAdapter.dataSource_getConnection(FilterAdapter.java:2745) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4615) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.filter.stat.StatFilter.dataSource_getConnection(StatFilter.java:666) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4615) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1176) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1168) ~[druid-1.1.3.jar!/:1.1.3]
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:104) ~[druid-1.1.3.jar!/:1.1.3]
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) ~[spring-jdbc-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) ~[spring-jdbc-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:84) ~[mybatis-spring-1.3.0.jar!/:1.3.0]
at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:70) ~[mybatis-spring-1.3.0.jar!/:1.3.0]
at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:84) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77) ~[mybatis-3.4.0.jar!/:3.4.0]
at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:434) ~[mybatis-spring-1.3.0.jar!/:1.3.0]
at com.sun.proxy.$Proxy93.selectOne(Unknown Source) ~[?:?]
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:167) ~[mybatis-spring-1.3.0.jar!/:1.3.0]
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:75) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53) ~[mybatis-3.4.0.jar!/:3.4.0]
at com.sun.proxy.$Proxy102.findUserByPhone(Unknown Source) ~[?:?]
at com.qtec.router.server.service.user.RouterUserService.findUserByPhone(RouterUserService.java:70) ~[classes!/:1.0-Dev]
3 还有这样的错误信息:
Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 5258, active 120, maxActive 1000, creating 0
The error may exist in com/qtec/router/server/dao/QtecRouterUserMapper.java (best guess)
The error may involve com.qtec.router.server.dao.QtecRouterUserMapper.findUserByPhone
The error occurred while executing a query
Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 5258, active 120, maxActive 1000, creating 0
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77) ~[mybatis-3.4.0.jar!/:3.4.0]
at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:434) ~[mybatis-spring-1.3.0.jar!/:1.3.0]
at com.sun.proxy.$Proxy93.selectOne(Unknown Source) ~[?:?]
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:167) ~[mybatis-spring-1.3.0.jar!/:1.3.0]
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:75) ~[mybatis-3.4.0.jar!/:3.4.0]
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53) ~[mybatis-3.4.0.jar!/:3.4.0]
at com.sun.proxy.$Proxy102.findUserByPhone(Unknown Source) ~[?:?]
at com.qtec.router.server.service.user.RouterUserService.findUserByPhone(RouterUserService.java:70) ~[classes!/:1.0-Dev]
at com.qtec.router.server.service.user.RouterUserService$$FastClassBySpringCGLIB$$9941f5fd.invoke() ~[classes!/:1.0-Dev]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:669) ~[spring-aop-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at com.qtec.router.server.service.user.RouterUserService$$EnhancerBySpringCGLIB$$ee6d5337.findUserByPhone() ~[classes!/:1.0-Dev]
at com.qtec.router.server.service.user.RouterUserService$$FastClassBySpringCGLIB$$9941f5fd.invoke() ~[classes!/:1.0-Dev]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:669) ~[spring-aop-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at com.qtec.router.server.service.user.RouterUserService$$EnhancerBySpringCGLIB$$95b89e73.findUserByPhone() ~[classes!/:1.0-Dev]
at com.qtec.router.server.controller.login.LoginController.login(LoginController.java:99) ~[classes!/:1.0-Dev]
at com.qtec.router.server.controller.login.LoginController$$FastClassBySpringCGLIB$$263125b4.invoke() ~[classes!/:1.0-Dev]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) ~[spring-aop-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:72) ~[druid-1.1.3.jar!/:1.1.3]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) ~[spring-aop-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at com.qtec.router.server.controller.login.LoginController$$EnhancerBySpringCGLIB$$108f9516.login() ~[classes!/:1.0-Dev]
... 68 more
4 数据库本身设置的最大连接数为3000:SHOW VARIABLES like 'max_con%' 结果是3000