Package com.mchange.v2.c3p0
Interface UnifiedConnectionTester
-
- All Superinterfaces:
ConnectionTester,FullQueryConnectionTester,QueryConnectionTester,java.io.Serializable
- All Known Implementing Classes:
AbstractConnectionTester,DefaultConnectionTester,IsValidOnlyConnectionTester,IsValidOnlyConnectionTester30
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
preferredTestQueryandrootCauseOutParamHolderto benull.
Parameter
rootCauseOutParamHolderis 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)inthashCode()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)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-