关于如何配置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>