Thread: Fastest way to check aliveness of connection
Hello, I want to implement a c3p0 ConnectionTester and now need a fast way to check for the alivelyness of a Connection. Currently I issue a "select 1" to the database and if I don't get an exception I assume the connection is still alive. Is there a faster way? How can I check if the underlying socket is still alive without doing a JDBC request? This has to work only with PostgreSQL JDBC, so I can cast to any postgres interface available. With best regards, Daniel Migowski
Daniel Migowski wrote: > Hello, > > I want to implement a c3p0 ConnectionTester and now need a fast way to > check for the alivelyness of a Connection. Currently I issue a "select > 1" to the database and if I don't get an exception I assume the > connection is still alive. > > Is there a faster way? How can I check if the underlying socket is still > alive without doing a JDBC request? This has to work only with > PostgreSQL JDBC, so I can cast to any postgres interface available. Running an empty query ("") is probably the simplest way. In theory you could do something slightly faster at the protocol level (just send Sync and wait for ReadyForQuery) but there's no interface currently exposed to do that and I doubt that it will be much faster than an empty query anyway. -O
Hello Oliver, Oliver Jowett schrieb: > Running an empty query ("") is probably the simplest way. > > In theory you could do something slightly faster at the protocol level > (just send Sync and wait for ReadyForQuery) but there's no interface > currently exposed to do that and I doubt that it will be much faster > than an empty query anyway. Yes, I investigated that, but since the normal query procedure also just sends one package, the gain for just sending the sync does not really matter. Of course, your idea with the empty query is great. Thanks alot. With best regards, Daniel Migowski