I have this log from hibernate (There are 3 different things I tried below regarding config but none work and resulted in worse problems)

May 24, 2010 11:02:08 PM org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: [mainapp][s:C4FD70,r:4]An attempt by a client to checkout a Connection has timed out.

No, it is not a connection leak. In fact, when I start up, I see(with log4jdbc) that c3p0 opens the 5 connections immediately...minSize is 5, and maxSize is 20.  It never EVER opens up anymore connections.  In fact, here is my c3p0 properties...

INFO: N/A Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@10183f1 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@95a3af [ acquireIncrement -> 3, acquireRetryAttempts -> 31, acquireRetryDelay -> 51, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 500, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 95a3af, idleConnectionTestPeriod -> 101, initialPoolSize -> 5, maxIdleTime -> 301, maxPoolSize -> 20, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 5, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@d7dcac [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> d7dcac, jdbcUrl -> jdbc:log4jdbc:postgresql://localhost/saasplatform, properties -> {user=******, password=******, autocommit=true, release_mode=auto} ], preferredTestQuery -> select 1, propertyCycle -> 300, testConnectionOnCheckin -> false, testConnectionOnCheckout -> true, usesTraditionalReflectiveProxies -> false ], factoryClassLocation -> null, identityToken -> 10183f1, numHelperThreads -> 3 ]

SO then I figure well the acquireRetryAttempts*acquireRetryDelay may be why hibernate is timing out so I set acquireRetryDelay to 1 and on startup, I am getting all these timeouts from c3p0.  This all worked way better with jboss connection pool for some reason.  I am having trouble getting database down scenario working at all with c3p0....all customers go into infinite redirect since I don't get an exception from c3p0.

What I need is an immediate exception from c3p0 so the next thing I tried then is 0 acquireRetries and 300 acquireRetryDelay.  I see the same 5 connections geet opened and when I bring the db down and hit the app, it tries all 5 connections.  log4jdbc shows me the test of trying all 5 connections still.  It seems c3p0 is stil cycling through them all and once they are all dead, I end up back up with the subject line of this email keeps being logged over and over but no exception is propagating to my application for some reason :( ....I should say it is not propagating to seam framework which is what I need to control what page goes to next.

I am kind of stuck at this point.  I had to hack this in jboss pool as well as no pool seems to have a onlyTestConnectionAfterFailure option but even with that option, I need an exception to come up the stack.  Is there cases where c3p0 will be holding my thread AND with the properties above, it should not really hold the thread, right?

THANKS for any insight you can give me into this.