com.mchange.v2.c3p0
Class AbstractConnectionTester

java.lang.Object
  extended by com.mchange.v2.c3p0.AbstractConnectionTester
All Implemented Interfaces:
ConnectionTester, FullQueryConnectionTester, QueryConnectionTester, UnifiedConnectionTester, java.io.Serializable
Direct Known Subclasses:
DefaultConnectionTester

public abstract class AbstractConnectionTester
extends java.lang.Object
implements UnifiedConnectionTester

Having expanded the once-simple ConnectionTester interface to support both user-specified queries and return of root cause Exceptions (via an out-param), this interface has grown unnecessarily complex.

If you wish to implement a custom Connection tester, here is the simple way to do it

  1. Extend AbstractConnectionTester
  2. Override only the two abstract methods
  3. Take care to ensure that your methods are defined to allow preferredTestQuery and rootCauseOutParamHolder to be null.

Parameter rootCauseOutParamHolder is an optional parameter, which if supplied, will be a Throwable array whose size it at least one. If a Connection test fails because of some Exception, the Connection tester may set this Exception as the zero-th element of the array to provide information about why and how the test failed.

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.mchange.v2.c3p0.UnifiedConnectionTester
CONNECTION_IS_INVALID, CONNECTION_IS_OKAY, DATABASE_IS_INVALID
 
Constructor Summary
AbstractConnectionTester()
           
 
Method Summary
 int activeCheckConnection(java.sql.Connection c)
           
 int activeCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery)
           
abstract  int activeCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)
          Override, but remember that preferredTestQuery and rootCauseOutParamHolder can be null.
 int activeCheckConnection(java.sql.Connection c, java.lang.Throwable[] rootCauseOutParamHolder)
           
 int statusOnException(java.sql.Connection c, java.lang.Throwable t)
           
 int statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery)
           
abstract  int statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)
          Override, but remember that preferredTestQuery and rootCauseOutParamHolder can be null.
 int statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.Throwable[] rootCauseOutParamHolder)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.mchange.v2.c3p0.UnifiedConnectionTester
equals, hashCode
 

Constructor Detail

AbstractConnectionTester

public AbstractConnectionTester()
Method Detail

activeCheckConnection

public abstract int activeCheckConnection(java.sql.Connection c,
                                          java.lang.String preferredTestQuery,
                                          java.lang.Throwable[] rootCauseOutParamHolder)
Override, but remember that preferredTestQuery and rootCauseOutParamHolder can be null.

Specified by:
activeCheckConnection in interface UnifiedConnectionTester

statusOnException

public abstract int statusOnException(java.sql.Connection c,
                                      java.lang.Throwable t,
                                      java.lang.String preferredTestQuery,
                                      java.lang.Throwable[] rootCauseOutParamHolder)
Override, but remember that preferredTestQuery and rootCauseOutParamHolder can be null.

Specified by:
statusOnException in interface UnifiedConnectionTester

activeCheckConnection

public int activeCheckConnection(java.sql.Connection c)
Specified by:
activeCheckConnection in interface ConnectionTester
Specified by:
activeCheckConnection in interface UnifiedConnectionTester

activeCheckConnection

public int activeCheckConnection(java.sql.Connection c,
                                 java.lang.Throwable[] rootCauseOutParamHolder)
Specified by:
activeCheckConnection in interface UnifiedConnectionTester

activeCheckConnection

public int activeCheckConnection(java.sql.Connection c,
                                 java.lang.String preferredTestQuery)
Specified by:
activeCheckConnection in interface QueryConnectionTester
Specified by:
activeCheckConnection in interface UnifiedConnectionTester

statusOnException

public int statusOnException(java.sql.Connection c,
                             java.lang.Throwable t)
Specified by:
statusOnException in interface ConnectionTester
Specified by:
statusOnException in interface UnifiedConnectionTester

statusOnException

public int statusOnException(java.sql.Connection c,
                             java.lang.Throwable t,
                             java.lang.Throwable[] rootCauseOutParamHolder)
Specified by:
statusOnException in interface UnifiedConnectionTester

statusOnException

public int statusOnException(java.sql.Connection c,
                             java.lang.Throwable t,
                             java.lang.String preferredTestQuery)
Specified by:
statusOnException in interface FullQueryConnectionTester
Specified by:
statusOnException in interface UnifiedConnectionTester