Alternatively, you can use a connection pool at supports the JDBC4 Connection.isValid()
method, such as the one included with Bitronix JTA.  Of course, you have to use a 
transaction manager in the case of Bitronix, but that's not a bad thing.  In theory, the
JDBC4 isValid(), if implemented correctly by the driver, should be much less expensive
than a test query (which still has to be parsed and executed).  Derby does implement
the isValid() method.


On Fri, Apr 13, 2012 at 11:48 PM, Martin Lichtin <> wrote:
Implementations of connection pooling typically use a "test query" to first check
whether a connection is still valid before sending the actual query across.
A test query looks like
 SELECT SYSDATE FROM DUAL (eg. PostgreSQL or Oracle)
 SELECT 1 (eg. Ingres)

What is a suitable test query for Derby? I couldn't find one off-hand.