com.mchange.v2.c3p0
Interface UnifiedConnectionTester
- ConnectionTester, FullQueryConnectionTester, QueryConnectionTester, Serializable
- AbstractConnectionTester
public interface 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
- Extend
AbstractConnectionTester
- Override only the two abstract methods
- public int activeCheckConnection(Connection c, String preferredTestQuery, Throwable[] rootCauseOutParamHolder)
- public int statusOnException(Connection c, Throwable t, String preferredTestQuery, Throwable[] rootCauseOutParamHolder)
- 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.
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)
|
CONNECTION_IS_INVALID
public static final int CONNECTION_IS_INVALID
CONNECTION_IS_OKAY
public static final int CONNECTION_IS_OKAY
DATABASE_IS_INVALID
public static final int DATABASE_IS_INVALID
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().
- equals in interface ConnectionTester
statusOnException
public int statusOnException(Connection c,
Throwable t,
String preferredTestQuery,
Throwable[] rootCauseOutParamHolder)
statusOnException
public int statusOnException(Connection c,
Throwable t,
Throwable[] rootCauseOutParamHolder)