Package com.mchange.v2.c3p0
Interface UnifiedConnectionTester
- All Superinterfaces:
ConnectionTester
,FullQueryConnectionTester
,QueryConnectionTester
,Serializable
- All Known Implementing Classes:
AbstractConnectionTester
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
-
Method Summary
Modifier and TypeMethodDescriptionint
int
activeCheckConnection
(Connection c, String preferredTestQuery) int
activeCheckConnection
(Connection c, String preferredTestQuery, Throwable[] rootCauseOutParamHolder) int
activeCheckConnection
(Connection c, Throwable[] rootCauseOutParamHolder) boolean
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
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)
-
Field Details
-
CONNECTION_IS_OKAY
static final int CONNECTION_IS_OKAY- See Also:
-
CONNECTION_IS_INVALID
static final int CONNECTION_IS_INVALID- See Also:
-
DATABASE_IS_INVALID
static final int DATABASE_IS_INVALID- See Also:
-
-
Method Details
-
activeCheckConnection
- Specified by:
activeCheckConnection
in interfaceConnectionTester
-
activeCheckConnection
-
activeCheckConnection
- Specified by:
activeCheckConnection
in interfaceQueryConnectionTester
-
activeCheckConnection
int activeCheckConnection(Connection c, String preferredTestQuery, Throwable[] rootCauseOutParamHolder) -
statusOnException
- Specified by:
statusOnException
in interfaceConnectionTester
-
statusOnException
-
statusOnException
- Specified by:
statusOnException
in interfaceFullQueryConnectionTester
-
statusOnException
int statusOnException(Connection c, Throwable t, String preferredTestQuery, Throwable[] rootCauseOutParamHolder) -
equals
Description copied from interface:ConnectionTester
Multiple testers that are of the same class and use the same criteria for determining fatality should test as equals().- Specified by:
equals
in interfaceConnectionTester
- Overrides:
equals
in classObject
-
hashCode
int hashCode()Description copied from interface:ConnectionTester
keep consistent with equals()- Specified by:
hashCode
in interfaceConnectionTester
- Overrides:
hashCode
in classObject
-