how to check HikariCP connection pooling is working or not in Java? how to check HikariCP connection pooling is working or not in Java? mysql mysql

how to check HikariCP connection pooling is working or not in Java?


First, configuration is no consistent since maximum < minimumIdle. Those should be set at most to the same value.

hibernate.hikari.maximumPoolSize=10hibernate.hikari.minimumIdle=10

If the pools is working you should see 10 ESTABLISHED connections to port 3306 (or mssql 1433 in the example below).

lsof -nP -i :1433 -sTCP:ESTABLISHEDCOMMAND  PID       USER   FD   TYPE  DEVICE SIZE/OFF NODE NAMEjava    1596 lmc  260u  IPv6 1624799      0t0  TCP 127.0.0.1:43022->127.0.0.1:1433 (ESTABLISHED)java    1596 lmc  265u  IPv6 1626072      0t0  TCP 127.0.0.1:43026->127.0.0.1:1433 (ESTABLISHED)java    1596 lmc  266u  IPv6 1630933      0t0  TCP 127.0.0.1:43030->127.0.0.1:1433 (ESTABLISHED)java    1596 lmc  267u  IPv6 1631705      0t0  TCP 127.0.0.1:43034->127.0.0.1:1433 (ESTABLISHED)java    1596 lmc  268u  IPv6 1632268      0t0  TCP 127.0.0.1:43038->127.0.0.1:1433 (ESTABLISHED)java    1596 lmc  269u  IPv6 1632273      0t0  TCP 127.0.0.1:43042->127.0.0.1:1433 (ESTABLISHED)java    1596 lmc  270u  IPv6 1632278      0t0  TCP 127.0.0.1:43046->127.0.0.1:1433 (ESTABLISHED)

Using ss (socket statistics)

ss -46 -np state established dport = :1433 | grep 'java' | sort -r -k 3,3 | nl     1  tcp    0       0          [::ffff:127.0.0.1]:43158     [::ffff:127.0.0.1]:1433   users:(("java",pid=1596,fd=273))                                                    2  tcp    0       0          [::ffff:127.0.0.1]:43154     [::ffff:127.0.0.1]:1433   users:(("java",pid=1596,fd=272))                                                    3  tcp    0       0          [::ffff:127.0.0.1]:43150     [::ffff:127.0.0.1]:1433   users:(("java",pid=1596,fd=271))                                                    4  tcp    0       0          [::ffff:127.0.0.1]:43142     [::ffff:127.0.0.1]:1433   users:(("java",pid=1596,fd=270))                                                    5  tcp    0       0          [::ffff:127.0.0.1]:43138     [::ffff:127.0.0.1]:1433   users:(("java",pid=1596,fd=269))                                                    6  tcp    0       0          [::ffff:127.0.0.1]:43134     [::ffff:127.0.0.1]:1433   users:(("java",pid=1596,fd=268))                                                    7  tcp    0       0          [::ffff:127.0.0.1]:43130     [::ffff:127.0.0.1]:1433   users:(("java",pid=1596,fd=267))                                                    8  tcp    0       0          [::ffff:127.0.0.1]:43126     [::ffff:127.0.0.1]:1433   users:(("java",pid=1596,fd=266))                                                    9  tcp    0       0          [::ffff:127.0.0.1]:43122     [::ffff:127.0.0.1]:1433   users:(("java",pid=1596,fd=265))                                                   10  tcp    0       0          [::ffff:127.0.0.1]:43118     [::ffff:127.0.0.1]:1433   users:(("java",pid=1596,fd=260))

Using netstat (deprecated on some distros in favor of ss)

netstat -ant | grep 3306tcp        0      0 127.0.0.1:41722     127.0.0.1:3306      ESTABLISHED tcp        0      0 127.0.0.1:41730     127.0.0.1:3306      ESTABLISHED tcp        0      0 127.0.0.1:41728     127.0.0.1:3306      ESTABLISHED tcp        0      0 127.0.0.1:41726     127.0.0.1:3306      ESTABLISHED tcp        0      0 127.0.0.1:41716     127.0.0.1:3306      ESTABLISHED tcp        0      0 127.0.0.1:41732     127.0.0.1:3306      ESTABLISHED tcp        0      0 127.0.0.1:41720     127.0.0.1:3306      ESTABLISHED tcp        0      0 127.0.0.1:41736     127.0.0.1:3306      ESTABLISHED tcp        0      0 127.0.0.1:41718     127.0.0.1:3306      ESTABLISHED tcp        0      0 127.0.0.1:41724     127.0.0.1:3306      ESTABLISHED


See HikariCP note about MySQL:

The MySQL DataSource is known to be broken with respect to network timeout support. Use jdbcUrl configuration instead.

You need to remove the below line and Hikari will find the driver

hibernate.datasource.driver-class-name=com.mysql.jdbc.Driver

jdbcUrl This property directs HikariCP to use "DriverManager-based" configuration. We feel that DataSource-based configuration (above) is superior

Also try adding the following as suggested when using Hibernate4:

hibernate.hikari.dataSource.url=jdbc:mysql://localhost/databasehibernate.hikari.dataSource.user=barthibernate.hikari.dataSource.password=51mp50n


  1. Have you tried using the app to insert/update something in the database? If it fails then it's not working.

  2. Another way to test it is change the datasource you provided here: hibernate.hikari.dataSource.url to a non-existing database.

  3. Finally, change the <Configuration status="WARN"> to <Configuration status="DEBUG">