I am using log4jdbc so that I can see when c3p0 opens and closes connections and I see the maxIdleTime setting working, however with the acquireRetryAttempts, I expected calling a getConnection would try 30 times and for a max pool of 20 result in 20 failures since my db was restarted and then 1 success when it gets the new connection cleaning up all the connections when one customer interacts with it. Instead, I am seeing 20 customers being affected when no one should be affected since the db is back up. In fact, with one customer, I have to login X times where X is the current number of connections and then the next login works since the connections are cleaned up. Any ideas? my properties cut and pasted from the logs....
[ acquireIncrement -> 1, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.c3p0.imp
Also, I don't see a single retry...I see it try to run sql on the connection and then close that connection due to failure and open a new connection(so while the connection is cleaned up, my login fails and I have to relogin which happens to grab another stale connection and fail again).