robin 发表于 2017-2-1 13:27:35

Tomcat连接池的当前连接数 ()转,作者未知

Tomcat连接池的当前连接数
      关于如何配置Tomcat数据库连接池,网上已有太多文章了。可是找不到一篇文章能
告诉我,怎么能得到Tomcat连接池的当前连接数。如果想要监视Tomcat的运行状况,这
是一个重要参数。所以我花了半天的时间,专门来研究这个问题。
   
       先是看了Tomcat的相关源码,得到它用了jakarta commons-dbcp这个包,又下载了
commons-dbcp这个包的源吗。终于在BasicDataSource找到getNumActive方法,这就是我想
要的。

    Context initCtx = new InitialContext();
    BasicDataSource bds = (BasicDataSource)initCtx.lookup("java:comp/env/jdbc/afunms");
    initCtx.close();   
    bds.getConnection();
    System.out.println("当前连接数=" + bds.getNumActive());

    随时getConnection()的增加,这个numActive也会增多(如果不关闭connection的话)。
当numActive>maxActive(这个maxActive在xml文件中)时,程序就再不能连上DB了。这就
是我以前的程序为什么会出错的原因,哈哈。

    注:在连接池配置文件.xml中要写明
    <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
页: [1]
查看完整版本: Tomcat连接池的当前连接数 ()转,作者未知