JavaEE显示连接池中剩余的连接数
我的系统在连接池中遇到一些连接泄漏。我想定期列出一些连接池的统计数据,我该怎么做?例如,当前容量、活动连接高计数、连接总数计数、泄漏连接计数等 我正在使用JavaEE显示连接池中剩余的连接数,java,jakarta-ee,oracle11g,oracle10g,connection-pooling,Java,Jakarta Ee,Oracle11g,Oracle10g,Connection Pooling,我的系统在连接池中遇到一些连接泄漏。我想定期列出一些连接池的统计数据,我该怎么做?例如,当前容量、活动连接高计数、连接总数计数、泄漏连接计数等 我正在使用javax.sql.DataSource从连接池中检索连接。但我找不到任何可以检索这些连接池信息的接口。有什么想法吗 我使用Oracle DB和JavaEE作为服务器端脚本。javax.sql.DataSource是一个接口,它只是抽象了一个数据源。它不涉及提供到它的池连接 连接池负责向数据库(数据源)提供池化的、可重用的连接 首先,您需要找出
javax.sql.DataSource
从连接池中检索连接。但我找不到任何可以检索这些连接池信息的接口。有什么想法吗
我使用Oracle DB和
JavaEE
作为服务器端脚本。javax.sql.DataSource是一个接口,它只是抽象了一个数据源。它不涉及提供到它的池连接
连接池负责向数据库(数据源)提供池化的、可重用的连接
首先,您需要找出正在使用的连接池。连接池实现通常提供一种查询活动连接数等信息的方法
例如,Apache DBCP有一个作为连接池的类,它有一个用于此的方法:
BasicDataSource.getMaxTotal();
BasicDataSource.getNumActive();
BasicDataSource.getNumIdle();
BasicDataSource.getMinIdle();
BasicDataSource.getMaxIdle();
由于您提到您正在使用Oracle DB,您的连接池很可能是(Oracle JDBC驱动程序的一部分),它提供:
OracleOCIConnectionPool.getMaxLimit();
OracleOCIConnectionPool.getPoolSize();
OracleOCIConnectionPool.getActiveSize();
OracleOCIConnectionPool.getMinLimit();