com.mchange.v2.c3p0
Class AbstractConnectionTester
java.lang.Object
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
- 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.
- See Also:
- Serialized Form
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 |
AbstractConnectionTester
public AbstractConnectionTester()
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