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 int
CONNECTION_IS_INVALID
static int
CONNECTION_IS_OKAY
static int
DATABASE_IS_INVALID
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
activeCheckConnection(java.sql.Connection c)
int
activeCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery)
int
activeCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)
int
activeCheckConnection(java.sql.Connection c, java.lang.Throwable[] rootCauseOutParamHolder)
boolean
equals(java.lang.Object o)
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
statusOnException(java.sql.Connection c, java.lang.Throwable t)
int
statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery)
int
statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)
int
statusOnException(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:
activeCheckConnection
in 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:
activeCheckConnection
in 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:
statusOnException
in 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:
statusOnException
in 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: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 classjava.lang.Object
-
hashCode
int hashCode()
Description copied from interface:ConnectionTester
keep consistent with equals()- Specified by:
hashCode
in interfaceConnectionTester
- Overrides:
hashCode
in classjava.lang.Object
-
-