com.mchange.v2.c3p0

Interface UnifiedConnectionTester

All Superinterfaces:
ConnectionTester, FullQueryConnectionTester, QueryConnectionTester, Serializable
Known Implementing Classes:
AbstractConnectionTester

public interface UnifiedConnectionTester
extends FullQueryConnectionTester

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. public int activeCheckConnection(Connection c, String preferredTestQuery, Throwable[] rootCauseOutParamHolder)
  4. public int statusOnException(Connection c, Throwable t, String preferredTestQuery, Throwable[] rootCauseOutParamHolder)
  5. 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.

Field Summary

static int
CONNECTION_IS_INVALID
static int
CONNECTION_IS_OKAY
static int
DATABASE_IS_INVALID

Fields inherited from interface com.mchange.v2.c3p0.ConnectionTester

CONNECTION_IS_INVALID, CONNECTION_IS_OKAY, DATABASE_IS_INVALID

Method Summary

int
activeCheckConnection(Connection c)
int
activeCheckConnection(Connection c, String preferredTestQuery)
int
activeCheckConnection(Connection c, String preferredTestQuery, Throwable[] rootCauseOutParamHolder)
int
activeCheckConnection(Connection c, Throwable[] rootCauseOutParamHolder)
boolean
equals(Object o)
Multiple testers that are of the same class and use the same criteria for determining fatality should test as equals().
int
hashCode()
keep consistent with equals()
int
statusOnException(Connection c, Throwable t)
int
statusOnException(Connection c, Throwable t, String preferredTestQuery)
int
statusOnException(Connection c, Throwable t, String preferredTestQuery, Throwable[] rootCauseOutParamHolder)
int
statusOnException(Connection c, Throwable t, Throwable[] rootCauseOutParamHolder)

Methods inherited from interface com.mchange.v2.c3p0.ConnectionTester

activeCheckConnection, equals, hashCode, statusOnException

Methods inherited from interface com.mchange.v2.c3p0.FullQueryConnectionTester

statusOnException

Methods inherited from interface com.mchange.v2.c3p0.QueryConnectionTester

activeCheckConnection

Field Details

CONNECTION_IS_INVALID

public static final int CONNECTION_IS_INVALID
Field Value:
-1

CONNECTION_IS_OKAY

public static final int CONNECTION_IS_OKAY
Field Value:
0

DATABASE_IS_INVALID

public static final int DATABASE_IS_INVALID
Field Value:
-8

Method Details

activeCheckConnection

public int activeCheckConnection(Connection c)
Specified by:
activeCheckConnection in interface ConnectionTester

activeCheckConnection

public int activeCheckConnection(Connection c,
                                 String preferredTestQuery)
Specified by:
activeCheckConnection in interface QueryConnectionTester

activeCheckConnection

public int activeCheckConnection(Connection c,
                                 String preferredTestQuery,
                                 Throwable[] rootCauseOutParamHolder)

activeCheckConnection

public int activeCheckConnection(Connection c,
                                 Throwable[] rootCauseOutParamHolder)

equals

public boolean equals(Object o)
Multiple testers that are of the same class and use the same criteria for determining fatality should test as equals().
Specified by:
equals in interface ConnectionTester

hashCode

public int hashCode()
keep consistent with equals()
Specified by:
hashCode in interface ConnectionTester

statusOnException

public int statusOnException(Connection c,
                             Throwable t)
Specified by:
statusOnException in interface ConnectionTester

statusOnException

public int statusOnException(Connection c,
                             Throwable t,
                             String preferredTestQuery)
Specified by:
statusOnException in interface FullQueryConnectionTester

statusOnException

public int statusOnException(Connection c,
                             Throwable t,
                             String preferredTestQuery,
                             Throwable[] rootCauseOutParamHolder)

statusOnException

public int statusOnException(Connection c,
                             Throwable t,
                             Throwable[] rootCauseOutParamHolder)