關於如何配置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>