簡體   English   中英

Java EE顯示連接池中還剩下多少個連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM