Interface ConnectionCustomizer
- All Known Implementing Classes:
AbstractConnectionCustomizer
Implementations of this interface should be immutable, and should offer public, no argument constructors.
The methods are handed raw, physical database Connections, not c3p0-generated proxies.
Although c3p0 will ensure this with respect to state controlled by standard JDBC methods, any modifications of vendor-specific state shold be made consistently so that all Connections in the pool are interchangable.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
onAcquire
(Connection c, String parentDataSourceIdentityToken) Called immediately after a Connection is acquired from the underlying database for incorporation into the pool.void
onCheckIn
(Connection c, String parentDataSourceIdentityToken) Called immediately after a Connection is checked in, prior to reincorporation into the pool.void
onCheckOut
(Connection c, String parentDataSourceIdentityToken) Called immediately before a Connection is made available to a client upon checkout.void
onDestroy
(Connection c, String parentDataSourceIdentityToken) Called immediately before a Connection is destroyed after being removed from the pool.
-
Method Details
-
onAcquire
Called immediately after a Connection is acquired from the underlying database for incorporation into the pool.
This method is only called once per Connection. If standard JDBC Connection properties are modified [holdability, transactionIsolation, readOnly], those modifications will override defaults throughout the Connection's tenure in the pool.
- Throws:
Exception
-
onDestroy
Called immediately before a Connection is destroyed after being removed from the pool.- Throws:
Exception
-
onCheckOut
Called immediately before a Connection is made available to a client upon checkout.- Throws:
Exception
-
onCheckIn
Called immediately after a Connection is checked in, prior to reincorporation into the pool.- Throws:
Exception
-