JDBC连接

时间:2014-10-06 15:20:03

标签: jdbc connection pool

我有一些关于JDBC连接的问题。

  • 有没有办法看到使用过的JDBC连接?
  • 例如,如果我将JDBC连接限制为100,如果我到达使用过的jbdc连接的顶部,如何在不重新启动服务器的情况下释放它们?

由于

2 个答案:

答案 0 :(得分:0)

  1. 这取决于池/服务器。但这是一个非常波动的信息。通常在事务持续时间(几毫秒)内从池中检索连接,然后将其添加回池中。在典型的企业应用程序中,每秒都有许多事务。因此,在您查看连接时,已使用的连接数已经发生变化。

  2. 如果您的意思是要关闭在给定时间内未使用的连接(即缩小池的大小),那么,再一次,这是一个依赖于您的池的配置&# 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);
    }
相关问题