zoukankan      html  css  js  c++  java
  • com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 20, maxActive 20

    目录

    异常现象

    异常描述

    解决方案

    注意事项


    异常现象

    com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 20, maxActive 20, creating 0

    异常描述

    从异常现象中 com.alibaba.druid.pool.GetConnectionTimeoutException 可以看到错误信息提示是阿里巴巴Druid数据库连接池数据库获取连接超时异常原因,具体为 active 20,活动的连接数为20, maxActive 20, 最大的连接数为20, 意思很明显,活动的连接数与最大连接数相同,连接用完了,在等待(我写的配置是60000毫秒即60秒)新的连接,却没有新连接可用,然后超时了。

    解决方案

    在配置中添加如下Druid的配置即可:(我的是properties配置,所以我选择的是第一种)

    1、properties配置文件中:

    #druid recycle Druid的连接回收机制
    #超过时间限制是否回收
    spring.datasource.druid.removeAbandoned = true
    #超时时间;单位为秒。180秒=3分钟
    spring.datasource.druid.removeAbandonedTimeout = 180
    #关闭abanded连接时输出错误日志
    spring.datasource.druid.logAbandoned = true

    2、xml配置文件中:

    <!-- 超过时间限制是否回收 -->  
    <property name="removeAbandoned" value="true" />  
    <!-- 超时时间;单位为秒。180秒=3分钟 -->  
    <property name="removeAbandonedTimeout" value="180" />  
    <!-- 关闭abanded连接时输出错误日志 -->  
    <property name="logAbandoned" value="true" />

    添加如上配置还可以很清楚地看到是在哪里打开的连接未关闭一直在占有。但是会影响程序的性能。

    注意事项

    此配置项会影响性能,只在排查的时候打开,系统运行时最好关闭。 

  • 相关阅读:
    Oracle把表记录恢复到指定时间节点
    解决Idea配置文件不显示中文的问题
    maven过滤配置文件
    文件流字符串互转
    jax-rs下载文件
    Excel导入异常Cannot get a text value from a numeric cell解决及poi导入时注意事项
    oracle获取表字段及表注释的相关操作
    pb SendMessage
    pb datawindow的用法
    charindex函数的用法
  • 原文地址:https://www.cnblogs.com/no8g/p/13415546.html
Copyright © 2011-2022 走看看