[英]Spring Boot - How to check number of active connections in the connection pool
I am using Spring Boot 1.5.17 with multiple data sources configured.我正在使用配置了多个数据源的 Spring Boot 1.5.17。 One of my data sources is configured as follows.我的一个数据源配置如下。
@Primary
@Bean
@ConfigurationProperties("app.primary.datasource")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
Now how do I get or log the number of active connections in the connection pool for this data source?现在如何获取或记录此数据源的连接池中的活动连接数?
It's a bit late, but DataSource interface doesn't have any methods that lets you do this, but if you are using HikariCP (which is the default).有点晚了,但是 DataSource 接口没有任何方法可以让您这样做,但是如果您使用的是 HikariCP(这是默认设置)。
You could do this.你可以这样做。
(HikariDataSource)dataSource).getHikariPoolMXBean().getActiveConnections()
Solution (Kotlin code):解决方案(Kotlin 代码):
@Autowired var dataSource: DataSource
val hikaridataSource = dataSource as HikariDataSource
logger.info(
active: ${hikaridataSource.hikariPoolMXBean.activeConnections} " + "idle: ${hikaridataSource.hikariPoolMXBean.idleConnections} " + "threadsAwaitingConnection: ${hikaridataSource.hikariPoolMXBean.threadsAwaitingConnection}"
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.