Package com.mchange.v2.c3p0
Interface UnifiedConnectionTester
-
- All Superinterfaces:
ConnectionTester,FullQueryConnectionTester,QueryConnectionTester,java.io.Serializable
- All Known Implementing Classes:
AbstractConnectionTester
public interface UnifiedConnectionTester extends FullQueryConnectionTester
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
Fields Modifier and Type Field Description static intCONNECTION_IS_INVALIDstatic intCONNECTION_IS_OKAYstatic intDATABASE_IS_INVALID
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description intactiveCheckConnection(java.sql.Connection c)intactiveCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery)intactiveCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)intactiveCheckConnection(java.sql.Connection c, java.lang.Throwable[] rootCauseOutParamHolder)booleanequals(java.lang.Object o)Multiple testers that are of the same class and use the same criteria for determining fatality should test as equals().inthashCode()keep consistent with equals()intstatusOnException(java.sql.Connection c, java.lang.Throwable t)intstatusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery)intstatusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)intstatusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.Throwable[] rootCauseOutParamHolder)
-
-
-
Field Detail
-
CONNECTION_IS_OKAY
static final int CONNECTION_IS_OKAY
- See Also:
- Constant Field Values
-
CONNECTION_IS_INVALID
static final int CONNECTION_IS_INVALID
- See Also:
- Constant Field Values
-
DATABASE_IS_INVALID
static final int DATABASE_IS_INVALID
- See Also:
- Constant Field Values
-
-
Method Detail
-
activeCheckConnection
int activeCheckConnection(java.sql.Connection c)
- Specified by:
activeCheckConnectionin interfaceConnectionTester
-
activeCheckConnection
int activeCheckConnection(java.sql.Connection c, java.lang.Throwable[] rootCauseOutParamHolder)
-
activeCheckConnection
int activeCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery)- Specified by:
activeCheckConnectionin interfaceQueryConnectionTester
-
activeCheckConnection
int activeCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)
-
statusOnException
int statusOnException(java.sql.Connection c, java.lang.Throwable t)- Specified by:
statusOnExceptionin interfaceConnectionTester
-
statusOnException
int statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.Throwable[] rootCauseOutParamHolder)
-
statusOnException
int statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery)- Specified by:
statusOnExceptionin interfaceFullQueryConnectionTester
-
statusOnException
int statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)
-
equals
boolean equals(java.lang.Object o)
Description copied from interface:ConnectionTesterMultiple testers that are of the same class and use the same criteria for determining fatality should test as equals().- Specified by:
equalsin interfaceConnectionTester- Overrides:
equalsin classjava.lang.Object
-
hashCode
int hashCode()
Description copied from interface:ConnectionTesterkeep consistent with equals()- Specified by:
hashCodein interfaceConnectionTester- Overrides:
hashCodein classjava.lang.Object
-
-