com.mchange.v2.c3p0
Interface UnifiedConnectionTester

All Superinterfaces:
ConnectionTester, FullQueryConnectionTester, QueryConnectionTester, java.io.Serializable
All Known Implementing Classes:
AbstractConnectionTester, DefaultConnectionTester

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

  1. Extend AbstractConnectionTester
  2. Override only the two abstract methods
  3. 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
static int CONNECTION_IS_INVALID
           
static int CONNECTION_IS_OKAY
           
static int DATABASE_IS_INVALID
           
 
Method Summary
 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 interface ConnectionTester

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 interface QueryConnectionTester

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 interface ConnectionTester

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 interface FullQueryConnectionTester

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 interface ConnectionTester
Overrides:
equals in class java.lang.Object

hashCode

int hashCode()
Description copied from interface: ConnectionTester
keep consistent with equals()

Specified by:
hashCode in interface ConnectionTester
Overrides:
hashCode in class java.lang.Object