Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

- `public int activeCheckConnection(Connection c, String preferredTestQuery, Throwable[] rootCauseOutParamHolder)`
- `public int statusOnException(Connection c, Throwable t, String preferredTestQuery, Throwable[] rootCauseOutParamHolder)`

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`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD