com.mchange.v2.c3p0
Class AbstractConnectionTester
java.lang.Object
com.mchange.v2.c3p0.AbstractConnectionTester
- ConnectionTester, FullQueryConnectionTester, QueryConnectionTester, Serializable, UnifiedConnectionTester
public abstract class AbstractConnectionTester
extends java.lang.Object
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)
|
abstract int | activeCheckConnection(Connection c, String preferredTestQuery, Throwable[] rootCauseOutParamHolder) - Override, but remember that preferredTestQuery and rootCauseOutParamHolder
can be null.
|
int | activeCheckConnection(Connection c, Throwable[] rootCauseOutParamHolder)
|
int | statusOnException(Connection c, Throwable t)
|
int | statusOnException(Connection c, Throwable t, String preferredTestQuery)
|
abstract int | statusOnException(Connection c, Throwable t, String preferredTestQuery, Throwable[] rootCauseOutParamHolder) - Override, but remember that preferredTestQuery and rootCauseOutParamHolder
can be null.
|
int | statusOnException(Connection c, Throwable t, Throwable[] rootCauseOutParamHolder)
|
activeCheckConnection
public abstract int activeCheckConnection(Connection c,
String preferredTestQuery,
Throwable[] rootCauseOutParamHolder)
Override, but remember that preferredTestQuery and rootCauseOutParamHolder
can be null.
- activeCheckConnection in interface UnifiedConnectionTester
statusOnException
public abstract int statusOnException(Connection c,
Throwable t,
String preferredTestQuery,
Throwable[] rootCauseOutParamHolder)
Override, but remember that preferredTestQuery and rootCauseOutParamHolder
can be null.
- statusOnException in interface UnifiedConnectionTester