Druid “loopWaitCount 0, wait millis 6001” 报错

今天总结下自己使用Druid遇到的一个错误“loopWaitCount 0, wait millis 6001”

报错信息:

Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: 
Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: 
loopWaitCount 0, wait millis 6001
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80)
at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:66)
at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:279)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:69)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:56)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:141)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:124)
at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:46)
at com.tzt.workLog.core.mybatis.plugin.SelectCountSqlInterceptor.intercept(SelectCountSqlInterceptor.java:49)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:57)
at com.sun.proxy.$Proxy155.query(Unknown Source)
at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:46)
at com.tzt.workLog.core.mybatis.plugin.OffsetLimitInterceptor.intercept(OffsetLimitInterceptor.java:53)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:57)
at com.sun.proxy.$Proxy155.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:101)
... 55 more

系统用的框架是Spring+SpringMVC+Mybatis(SSM),其中把涉及到的两个配置部分列出来:

spring_service.xml
<!-- 配置数据库连接 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 基本属性 url、user、password -->
<property name="driverClassName" value="${jdbc-0.druid.driver-class}" />
<property name="url"             value="${jdbc-0.druid.driver-url}" />
<property name="username"        value="${jdbc-0.user}" />
<property name="password"        value="${jdbc-0.password}" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="${jdbc-0.druid.connection-initial-size}" />
<property name="minIdle"     value="${jdbc-0.druid.connection-minimum-size}" />
<property name="maxActive"   value="${jdbc-0.druid.connection-maximum-size}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait"     value="${jdbc-0.druid.connection-maxwait-time}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${jdbc-0.druid.connection-maxactive-time}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis"    value="${jdbc-0.druid.connection-minlive-time}" />
<property name="validationQuery" value="${jdbc-0.druid.connection-test-sql}" />
<property name="testWhileIdle"   value="${jdbc-0.druid.test-while-idle}" />
<property name="testOnBorrow"    value="${jdbc-0.druid.test-on-borrow}" />
<property name="testOnReturn"    value="${jdbc-0.druid.test-on-return}" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
<property name="poolPreparedStatements" value="${jdbc-0.druid.pool-prepared-statements}" />
<!-- property name="maxPoolPreparedStatementPerConnectionSize" value="20" /-->
<!-- 数据库密码是否加密 -->
<property name="connectionProperties" value="config.decrypt=${jdbc-0.druid.config.decrypt}" />
   <!-- 配置监控统计拦截的filters -->
<property name="filters" value="stat,config"/>
</bean>
    db.properties:
    
jdbc-0.druid.alias=productDBPool
localhost
jdbc-0.druid.driver-class=com.mysql.jdbc.Driver
jdbc-0.druid.driver-url=jdbc:mysql://127.0.0.1:3306/zentao?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull
jdbc-0.user=root
jdbc-0.password=root
jdbc-0.druid.connection-initial-size=10
jdbc-0.druid.connection-minimum-size=10
jdbc-0.druid.connection-maximum-size=200
jdbc-0.druid.connection-maxwait-time=6000
jdbc-0.druid.connection-maxactive-time=6000
jdbc-0.druid.connection-minlive-time=300000
jdbc-0.druid.connection-test-sql=select 1 from dual
jdbc-0.druid.pool-prepared-statements=false
jdbc-0.druid.test-while-idle=true
jdbc-0.druid.test-on-borrow=false
jdbc-0.druid.test-on-return=false
jdbc-0.druid.config.decrypt=false

总结,原因应该是配置中jdbc-0.druid.connection-maximum-size值设置太小,刚开始设置50,后来设置为200

时间: 2024-11-08 05:10:25

Druid “loopWaitCount 0, wait millis 6001” 报错的相关文章

cocos2d-js 3.0 rc0 编译release报错 value for keystore is not valid. it must resolve to a single path

第一次编译是好好的,需要手工输入keystore文件地址和密码等等.第二次不需要输入,然后就直接出错了.   找了一下,发现第一步之后,cocos会记录ant信息到\frameworks\runtime-src\proj.android\ant.properties   打开这个文件发现: key.store=e:\cocos_projects\android.keystore 斜杠都少了一个,只需要改为 key.store=e:\\cocos_projects\\android.keystor

appium在android 7.0真机上运行报错command failed shell:............ps:&#39;uiautomator&quot;的解决方式

appium版本:1_4_16 在CSDN中找到相关解决的方案,根据此解决方案顺利的解决了让人惆怅的问题,再次记录. 1.找到appium安装目录下的adb.js文件,目录为:Appium\node_modules\appium\node_modules\appium-adb\lib 2.打开adb.js,可使用notepad++编辑器等打开文件(说明:在修改代码的时候先注释掉以前的代码,并且添加自己容易识别的标记,以防出错后还有回旋的余地,或者将代码备份也可行),找到如下代码: ADB.pro

关于Code Blocks无编译器版本及VC6.0插入、打开报错

CodeBlocks运行C成功,编译C++一直报错:fatal error:stdlib.h:no such file or directory.下载重装了几次Code Blocks无编译器版本以及MINGW.看了很多教程,并不能解决问题.据说是版本对不上,于是重置电脑,安装带有编译器的版本成功运行.至于具体原因有待探究. 另VC6.0插入.打开报错,微软官方之前给出了相应插件,不过现已失效.使用百度引擎找到免费.便捷的链接并不容易.为了方便大众,现将链接附上. https://pan.baid

Eclipse-Mars Release (4.5.0)创建Maven项目报错

1.Eclipseb版本为Mars Release (4.5.0) 2.报错内容 Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved:.................................... 3.解决方法 找到本地仓库位置,将仓库中的/org/apache

安装exsi6.0和exsi5都报错:No Network Adapters或是No NIC found

如下: exsi6.0报错:No Network Adapters exsi5报错如下:No NIC found 原因是安装盘没有改服务器网卡的驱动,识别不了服务器网卡 解决方法:在VMware Workstation里创建虚拟机是选择如下项: 如果虚拟机没有改选项,请升级VMware Workstation.

XerCMS-1.0.3代码审计(文件名报错注入后台getshell)

链接:https://share.weiyun.com/6b98e41d036967178e1a21fb88ed340f (密码:YnNY) 文件名报错注入 index.php?m=member&a=upfiles&id=2 在这个文件夹中XerCMS\Modules\member\index.php 前台注册个用户 在头像上传处抓包reperter一下用mysql监控工具 发现有insert数据库操作 分析一下 跟进upfiles函数 public function upfiles()

Android更新最新版本的SDK5.0引用v7资源报错问题

在更新完成android sdk后创建了项目,然后选择的sdk版本是android 21,系统自动创建了v7的资源项目,然后本项目引用了该v7. 可是问题来了,v7资源项目里的res资源属性报错,no found missing!!!!WTF v7也是21版本的,结果res里面生成的values-large-v14里的有个 <style name="Theme.Base.AppCompat.DialogWhenLarge" parent="Theme.Base.AppC

android studio 1.5升级到2.0或2.1报错

早一周前,事情终于不多了,没事升级下新版本,有1.5升级到2.0. 升级完成安装后,本来能够在android studio 1.5中好好运行的代码,在升级后,通过clean->make->run后, 应用居然崩溃了,崩溃了...哭死我了...好好的代码居然升级版本后崩溃了... 然后查看崩溃日志,发现是这样: 大概的错误是欢迎界面的xml布局第7行报错... 再看具体的,居然是在不到IamgeView的id,吓死宝宝了,clean.make都没有报错,居然还会找不到id?特么打死我,你看我信不

vue1.0中$index一直报错的解决办法

原文链接:https://www.cnblogs.com/liqiong-web/p/8144925.html 看学习视频,因为年份比较早了,其实vue早已迭代到vue2.0了,遇到一些问题: v-for遍历数组,获取索引 注意:在2.0版是1~10中,$index已废除,索引 (item,index). 如下为vue1.0的写法,$index浏览器会报错 1 <ul v-if="seller.supports" class="supports"> 2