简体   繁体   English

Spring 引导 - 如何检查连接池中的活动连接数

[英]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.

相关问题 如何在 Spring Boot 应用程序中记录 Websphere 连接池信息,如活动连接 - How to log Websphere connection pool information like active connections in spring boot application Spring-Boot:如何设置 JDBC 池属性,例如最大连接数? - Spring-Boot: How do I set JDBC pool properties like maximum number of connections? 如何获取 Spring Boot 应用程序创建的活动数据库连接数 - How to get the number of active DB connections made from spring boot application HikariCP空闲连接在连接池中保持活动状态 - HikariCP Idle connections staying in connection pool as active 使用Spring在Tomcat数据源池中所有连接均处于活动状态 - All connections are active in Tomcat datasource pool with Spring Spring Boot连接池的理解 - Spring boot connection pool understanding 获取连接池中的免费连接数 - Get number of free connections in connection pool JPA entityManager如何在Spring Boot Application中选择Connection Pool? - How does JPA entityManager choose Connection Pool in Spring Boot Application? 我们如何知道,如果Spring Boot应用程序正在使用连接池 - How to do we know , if spring boot application is using connection pool 如何在 Spring Boot 中优化 Redis 连接池以提高性能 - How to optimize Redis connection pool in Spring Boot to improve the performance
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM