我有一些关于JDBC连接的问题。
由于
答案 0 :(得分:0)
这取决于池/服务器。但这是一个非常波动的信息。通常在事务持续时间(几毫秒)内从池中检索连接,然后将其添加回池中。在典型的企业应用程序中,每秒都有许多事务。因此,在您查看连接时,已使用的连接数已经发生变化。
如果您的意思是要关闭在给定时间内未使用的连接(即缩小池的大小),那么,再一次,这是一个依赖于您的池的配置&# 39;重新使用。他们中的大多数允许这样做。阅读您的池文档。
答案 1 :(得分:0)
如果使用DBCP2,则可以打印未关闭的活动连接。 在这里,该类扩展了BasicDataSource,并覆盖了getConnection方法。
try {String className = Thread.currentThread().getStackTrace()[2].getClassName();
LOG.info("For class :: " + className + " || " + "max total connections :: " + super.getMaxTotal()+ " || " +" Active Connections count :: "+ super.getNumActive());
connection = super.getConnection();
}catch (SQLException e) {
LOG.error("SQL Exception in Connection", e);
}