5

I am using Spring Boot 1.5.17 with multiple data sources configured. 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?

Charlie
  • 3,113
  • 3
  • 38
  • 60

2 Answers2

3

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).

You could do this.

(HikariDataSource)dataSource).getHikariPoolMXBean().getActiveConnections()
Julin Alex
  • 56
  • 3
0

Solution (Kotlin code):

    @Autowired  var dataSource: DataSource
    val hikaridataSource = dataSource as HikariDataSource
    logger.info(
         active: ${hikaridataSource.hikariPoolMXBean.activeConnections} " + "idle: ${hikaridataSource.hikariPoolMXBean.idleConnections} " + "threadsAwaitingConnection: ${hikaridataSource.hikariPoolMXBean.threadsAwaitingConnection}"
    )
justCurious
  • 720
  • 7
  • 13