- 若是开启了removeAbandoned,当getNumIdle() < 2) and (getNumActive() > getMaxActive() - 3)时被触发.
- 举例当maxActive=20, 活动链接为18,空闲链接为1时能够触发"removeAbandoned".可是活动链接只有在没有被使用的时间超 过"removeAbandonedTimeout"时才被回收
- logAbandoned: 标记当链接被回收时是否打印程序的stack traces日志(默认为false,未调整)
通常会是几种状况出现须要removeAbandoned:
- 代码未在finally释放connection , 不过咱们都用sqlmapClientTemplate,底层都有连接释放的过程
- 遇到数据库死锁。之前遇到事后端存储过程作了锁表操做,致使前台集群中链接池全都被block住,后续的业务处理由于拿不到连接全部都处理失败了。