Mybatis的连接池配置小计和源码分析

2018-12-21 15:35:32 浏览数 (1)

一 我的错误想法

poolMaximumIdleConnections 最大活跃连接数

poolMaximumActiveConnections 最大空闲连接数

我一直以为

空闲是一直存在的。没请求的时候,活跃回收,空闲连接保持。请求多的时候空闲直接变为活跃,然后生成新的连接直到最大活跃连接数,最大空闲连接数,活跃不断的处理请求,处理完自动销毁。其实是错的。

二 正确想法和源码分析

正确的情况是

没请求的时候,空闲连接每隔一段时间判断其有没有在使用,随时保证空闲的连接健壮性。至于活跃连接会回收,并在回收的时候判断,空闲有没有满,没有就新建个连接给空闲连接,然后设置成不可用,满则直接设置成不可用。

有请求的时候,空闲连接取出到活跃连接,取完空闲就新建连接到活跃连接。而且此时活跃连接完成就会变成空闲连接,再从空闲连接取出到活跃连接执行操作。

我们要知道连接取出来使用popConnection,连接使用完的处理pushConnection。

代码语言:javascript复制
pushConnection分析 

0 人点赞