tomcat-jdbc-pool#borrowConnection
2015-05-27 10:32:25 4 举报
tomcat jdbc pool
作者其他创作
大纲/内容
创建一个新的连接,并且添加到busy队列中
判断当前连接的总量是否小于配置的最大连接数?
Y
先将连接数总量+1(先占个坑,再说)
连接池中分为:idle(空闲)busy(忙碌,正在使用中)都是使 ArrayBlockingQueue 实现
N
从空闲队列中获取一个连接
结束
连接池中数量由独立的计数器控制,采用线程安全AtomicInteger申请新的连接算法,先通过计数器占个位,然后比较是否超标。跟大学时抢图书馆座位类似,嘿嘿
返回一个连接
如果有连接?
取消占位
代码中,如果从idle中获取后,未超过最大等待时长,会再获取一次
如果有新的连接可用?
等待从idle队列中获取连接
开始
这时是否有大于最大的连接数?
表达连接池已满,无法获取或创建连接了
验证连接的有效性
0 条评论
下一页