日期:2014-05-18  浏览次数:20621 次

把连接池设为静态的,会不会省资源?
我把connectionPool和Connection都设成static的,


import com.jolbox.bonecp.BoneCP;
public class DB{
  static BoneCP connectionPool = null;
  public static Connection connection = null;

  connectionPool = new BoneCP(config);
  connection = connectionPool.getConnection();
}


上面这个DB类放到了一个定时器里,每20秒执行一次。如果连接池设成static的,那是不是只要这个工程不停,连接池也不会销毁。那样每20秒执行时就不会重新创建新的连接池,还是用原来的那个?

------解决方案--------------------
建立连接是需要释放的,你这样操作,不一会数据库连接满了,你还这么操作?
------解决方案--------------------
静态的,就达不到连接池的效果了,
连接池就用来优化管理连接的。
------解决方案--------------------
   , 连接池不是这样做的 。你是生成你规定数量的连接对象。放到池里面。在你使用的时候去池里面拿,如果连接都被使用需要等待的,在使用完的连接,是需要放到连接池里面去的。如果你建立连接,然后又把连接关闭?请问,你连接池有什么意义?
------解决方案--------------------
连接池可以是静态的,池子无非是池子,就跟池塘一样,池塘本身只是个帮你维护连接的壳子。你在用的时候本质上是用Connection,就是池汤里面的鱼。
你的这段代码根本就没达到连接池的作用。