Class AbstractConnectionTester
java.lang.Object
com.mchange.v2.c3p0.AbstractConnectionTester
- All Implemented Interfaces:
ConnectionTester, FullQueryConnectionTester, QueryConnectionTester, UnifiedConnectionTester, Serializable
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:
-
Field Summary
Fields inherited from interface UnifiedConnectionTester
CONNECTION_IS_INVALID, CONNECTION_IS_OKAY, DATABASE_IS_INVALID -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintintactiveCheckConnection(Connection c, String preferredTestQuery) abstract intactiveCheckConnection(Connection c, String preferredTestQuery, Throwable[] rootCauseOutParamHolder) Override, but remember that preferredTestQuery and rootCauseOutParamHolder can be null.intactiveCheckConnection(Connection c, Throwable[] rootCauseOutParamHolder) intintstatusOnException(Connection c, Throwable t, String preferredTestQuery) abstract intstatusOnException(Connection c, Throwable t, String preferredTestQuery, Throwable[] rootCauseOutParamHolder) Override, but remember that preferredTestQuery and rootCauseOutParamHolder can be null.intstatusOnException(Connection c, Throwable t, Throwable[] rootCauseOutParamHolder) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface UnifiedConnectionTester
equals, hashCode
-
Constructor Details
-
AbstractConnectionTester
public AbstractConnectionTester()
-
-
Method Details
-
activeCheckConnection
public abstract int activeCheckConnection(Connection c, String preferredTestQuery, Throwable[] rootCauseOutParamHolder) Override, but remember that preferredTestQuery and rootCauseOutParamHolder can be null.- Specified by:
activeCheckConnectionin interfaceUnifiedConnectionTester
-
statusOnException
public abstract int statusOnException(Connection c, Throwable t, String preferredTestQuery, Throwable[] rootCauseOutParamHolder) Override, but remember that preferredTestQuery and rootCauseOutParamHolder can be null.- Specified by:
statusOnExceptionin interfaceUnifiedConnectionTester
-
activeCheckConnection
- Specified by:
activeCheckConnectionin interfaceConnectionTester- Specified by:
activeCheckConnectionin interfaceUnifiedConnectionTester
-
activeCheckConnection
- Specified by:
activeCheckConnectionin interfaceUnifiedConnectionTester
-
activeCheckConnection
- Specified by:
activeCheckConnectionin interfaceQueryConnectionTester- Specified by:
activeCheckConnectionin interfaceUnifiedConnectionTester
-
statusOnException
- Specified by:
statusOnExceptionin interfaceConnectionTester- Specified by:
statusOnExceptionin interfaceUnifiedConnectionTester
-
statusOnException
- Specified by:
statusOnExceptionin interfaceUnifiedConnectionTester
-
statusOnException
- Specified by:
statusOnExceptionin interfaceFullQueryConnectionTester- Specified by:
statusOnExceptionin interfaceUnifiedConnectionTester
-