I am using tomcat connection pool (tomcat 7) in my application (java
application) to connect to a remote Oracle DB on an Azure machine. My
connection pool configuration is as follow:
PoolProperties p = new PoolProperties();
p.setUrl(connString);
p.setUsername(user);
p.setPassword(password);
p.setDriverClassName("oracle.jdbc.OracleDriver");
p.setValidationQuery("SELECT 1 from dual");
p.setValidationInterval(1 * 60000/2);
p.setTimeBetweenEvictionRunsMillis(1 * 60000/2);
p.setTestOnBorrow(true);
p.setTestWhileIdle(true);
p.setMinIdle(10);
p.setInitialSize(10);
However looking at the capture file, I see that the connections are not checked
every 30 seconds as I expected. One connection is checked correctly, the others
are checked after 3 times the configuration (180 second). then again only some
of the connections are checked and after a while it seems to stable on twice
the configuration period (every 60 seconds).
I tested it with different configured time and different pool size, all had a
instability period in which each time only part of the connections were checked
and eventually it stabled on checks of all the connections every twice the
configured time.
What am I missing?
Thanks,
Nir