当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

数据库衔接池Java实现小结[Java编程]

赞助商链接



  本文“数据库衔接池Java实现小结[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

因为工作需求要利用到衔接池,所以拜读了互联网上众多前辈的文章,学了不少经验,这里想做一个小结,加上自己的设法和在一同,但愿能给大家一些帮忙.

目的:消除数据库频繁衔接带来的开销和瓶颈.

办理筹划:不过量的限制用户的利用,既不能太多的要求用户按规定的办法得到和利用数据库连尽大概保持用户的习惯

目前的很多办法都是要求用户只能按规定办法利用衔接,不能利用直接关闭数据衔接的办法.办理办法就是利用代理类,来中间办理.可以参考http://www-900.ibm.com/developerWorks/cn/java/l-connpoolproxy/index.shtml

能保护衔接的正常状况

因为针对数据库衔接成立的资源,假如不能及时的释放,就会影响下一次数据衔接的利用.比方在sql 2k中,一个衔接差别成立多条Statement不然操作时会有数据衔接占线的非常,所以必须在偿还衔接今后释放这些资源.

//判断是利用了createStatement语句
  if (CREATESTATE.equals(method.getName()))
  {
   obj = method.invoke(conn, args);
   statRef = (Statement)obj;//记录语句
   return obj;
  }
//判断能否调用了close的办法,假如调用close办法例把衔接置为无用状况
  if(CLOSE.equals(method.getName()))
  {
   //设置不利用标志
   setIsFree(false);
   //查抄能否有后续工作,排除该衔接无用资源
   if (statRef != null)
   statRef.close();
   if (prestatRef != null)
   prestatRef.close();
   return null;
  }
精确保护类不被违例利用

一个考虑就是不能让用户随便利用代理类,而只能自己利用,一个就是用内部私有类,一个就是利用只有指定类才能调用的标志.我的实现就是采取后者.

/**
  * 成立衔接的工厂,只能让工厂调用
  * @param factory 要调用工厂,并且一定被精确初始化
  * @param param 衔接参数
  * @return 衔接
  */
static public _Connection getConnection(ConnectionFactory factory, ConnectionParam param)
{
  if (factory.isCreate())//判断能否精确初始化的工厂
  {
  _Connection _conn = new _Connection(param);
  return _conn;
  }
  else
  return null;
}


  以上是“数据库衔接池Java实现小结[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 怎么增大MYSQL数据库衔接数
  • 数据库衔接典范
  • <b>SQL Server端口更改后的数据库衔接方法</b>
  • PHP Data Object 新的数据库衔接方法
  • IIS+Resin集成多个站点和数据库衔接池
  • 用JavaBean编写SQLServer数据库衔接类
  • Tomcat5配置MySQL JDBC数据库衔接池
  • 基于JDBC的数据库衔接池技术研究与筹划
  • <b>图解Tomcat5.0下配置数据库衔接池</b>
  • Java数据库衔接池原理机制详解
  • 数据库衔接池Java实现小结
  • 在NetBeans中设置数据库衔接池详解
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .