如何获取 Spring Boot 应用程序建立的活动数据库连接数

SAS*_*R S 4 oracle spring spring-boot

我已经使用 Oracle 数据源构建了一个 Spring Boot 应用程序。我需要在日志语句中打印总活动连接。如何获取活动连接。注意 - 不是最大活动连接数,它应该是@特定时间/实例的活动连接数。

SAS*_*R S 5

DataSource dataSource = (DataSource) jdbcTemplate.getDataSource();
LOGGER.info("Max Idle: " + dataSource.getMaxIdle());
LOGGER.info("Max Active: " + dataSource.getMaxIdle());
LOGGER.info("Active: " + dataSource.getNumActive());
LOGGER.info("Idle: " + dataSource.getNumIdle());
Run Code Online (Sandbox Code Playgroud)

从此链接引用 - https://numberformat.wordpress.com/2017/10/20/configuring-a-connection-pool-in-spring-using-dbcp2/

编辑

答案2:

对于 HikariCP,您必须启用debug包的级别日志,com.zaxxer.hikari这将每 30 秒打印一次统计信息。

  • @Coder 对于 HikariCP,您必须启用包“com.zaxxer.hikari”的调试日志,这将每 30 秒打印一次统计信息 (2认同)