Chris2018998 / beecp

A small JDBC Connection pool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

连接池使用建议,个人也发个贴

Chris2018998 opened this issue · comments

连接池作用等同于一个图书馆,有借有还的动作。
连接池的连接数一般是有限的,因此使用完毕后,需要及时归还池中,以便其他线程借取,
如果连接长时间不关闭,尤其是在所有连接消耗完毕后,那么其他借用者会出现过时间等待(表现卡顿,无反应,最后超时)。参考代码

  Connection con=null;
  try{
      con = datasource.getConnection();
      ............
  }finally{
     con.close(); // <---  此处语句很重要。
 }

这个地方的close应该是归还到池子的意思吧;用close合适吗?
应该是没有关闭和数据库的连接,而只不过扔回到池子

谢谢提问,

是的,物理连接是不会直接暴露给使用者的,这个地方Close实际是调用代理层
ProxyConnnection的,地方法,代理层ProxyConnnection 是将物理连接归还到池中去了,
并且将自身的状态设置为closed 后续就不能使用了.