Package com.mchange.v2.c3p0
Class AbstractConnectionTester
- java.lang.Object
-
- com.mchange.v2.c3p0.AbstractConnectionTester
-
- All Implemented Interfaces:
ConnectionTester
,FullQueryConnectionTester
,QueryConnectionTester
,UnifiedConnectionTester
,java.io.Serializable
- Direct Known Subclasses:
DefaultConnectionTester
,IsValidOnlyConnectionTester
public abstract class AbstractConnectionTester extends java.lang.Object implements UnifiedConnectionTester
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
androotCauseOutParamHolder
to benull
.
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:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface com.mchange.v2.c3p0.UnifiedConnectionTester
CONNECTION_IS_INVALID, CONNECTION_IS_OKAY, DATABASE_IS_INVALID
-
-
Constructor Summary
Constructors Constructor Description AbstractConnectionTester()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
activeCheckConnection(java.sql.Connection c)
int
activeCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery)
abstract int
activeCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)
Override, but remember thatpreferredTestQuery
androotCauseOutParamHolder
can be null.int
activeCheckConnection(java.sql.Connection c, java.lang.Throwable[] rootCauseOutParamHolder)
boolean
equals(java.lang.Object o)
int
hashCode()
int
statusOnException(java.sql.Connection c, java.lang.Throwable t)
int
statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery)
abstract int
statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)
Override, but remember thatpreferredTestQuery
androotCauseOutParamHolder
can be null.int
statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.Throwable[] rootCauseOutParamHolder)
-
-
-
Method Detail
-
activeCheckConnection
public abstract int activeCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)
Override, but remember thatpreferredTestQuery
androotCauseOutParamHolder
can be null.- Specified by:
activeCheckConnection
in interfaceUnifiedConnectionTester
-
statusOnException
public abstract int statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery, java.lang.Throwable[] rootCauseOutParamHolder)
Override, but remember thatpreferredTestQuery
androotCauseOutParamHolder
can be null.- Specified by:
statusOnException
in interfaceUnifiedConnectionTester
-
activeCheckConnection
public int activeCheckConnection(java.sql.Connection c)
- Specified by:
activeCheckConnection
in interfaceConnectionTester
- Specified by:
activeCheckConnection
in interfaceUnifiedConnectionTester
-
activeCheckConnection
public int activeCheckConnection(java.sql.Connection c, java.lang.Throwable[] rootCauseOutParamHolder)
- Specified by:
activeCheckConnection
in interfaceUnifiedConnectionTester
-
activeCheckConnection
public int activeCheckConnection(java.sql.Connection c, java.lang.String preferredTestQuery)
- Specified by:
activeCheckConnection
in interfaceQueryConnectionTester
- Specified by:
activeCheckConnection
in interfaceUnifiedConnectionTester
-
statusOnException
public int statusOnException(java.sql.Connection c, java.lang.Throwable t)
- Specified by:
statusOnException
in interfaceConnectionTester
- Specified by:
statusOnException
in interfaceUnifiedConnectionTester
-
statusOnException
public int statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.Throwable[] rootCauseOutParamHolder)
- Specified by:
statusOnException
in interfaceUnifiedConnectionTester
-
statusOnException
public int statusOnException(java.sql.Connection c, java.lang.Throwable t, java.lang.String preferredTestQuery)
- Specified by:
statusOnException
in interfaceFullQueryConnectionTester
- Specified by:
statusOnException
in interfaceUnifiedConnectionTester
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in interfaceUnifiedConnectionTester
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfaceUnifiedConnectionTester
- Overrides:
hashCode
in classjava.lang.Object
-
-