![](/img/trans.png)
[英]java connection pool, how many max connections in a multithreaded batch?
[英]Java EE show how many connections left in the connection pool
我的系統在連接池中遇到一些連接泄漏。 我想定期列出連接池的一些統計信息,該怎么辦? 例如,“當前容量”,“活動連接數高”,“連接總數”,“泄漏連接數”等。
我正在使用javax.sql.DataSource
從連接池中檢索連接。 但是我找不到任何可以檢索那些連接池信息的接口。 有任何想法嗎?
我使用Oracle DB和Java EE
作為服務器端腳本。
javax.sql.DataSource
是一個接口,它僅抽象一個數據源。 它不涉及提供池連接。
連接池負責提供與數據庫(數據源)的池化可重用連接。
首先,您需要找出正在使用的連接池。 連接池實現通常提供一種查詢諸如活動連接數之類的方法。
例如,Apache DBCP有一個BasicDataSource類,它是一個連接池,它具有用於以下目的的方法:
BasicDataSource.getMaxTotal();
BasicDataSource.getNumActive();
BasicDataSource.getNumIdle();
BasicDataSource.getMinIdle();
BasicDataSource.getMaxIdle();
既然您提到使用的是Oracle DB,那么連接池很可能是OracleOCIConnectionPool (Oracle JDBC驅動程序的一部分),它提供:
OracleOCIConnectionPool.getMaxLimit();
OracleOCIConnectionPool.getPoolSize();
OracleOCIConnectionPool.getActiveSize();
OracleOCIConnectionPool.getMinLimit();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.