- 
- All Known Implementing Classes:
- DataSourceConnectionProvider,- DefaultConnectionProvider,- MockConnectionProvider,- NoConnectionProvider
 
 public interface ConnectionProviderA connection lifecycle handler API.The ConnectionProviderallows for abstracting the handling of customConnectionlifecycles outside of jOOQ, injecting behaviour into jOOQ's internals. jOOQ will try to acquire a new JDBCConnectionfrom the connection provider as early as needed, and will release it as early as possible.TransactionProviderimplementations may choose to influenceConnectionProviderbehaviour, e.g. by acquiring connections uponTransactionProvider.begin(TransactionContext)and by releasing connections only uponTransactionProvider.commit(TransactionContext), orTransactionProvider.rollback(TransactionContext).- Author:
- Aaron Digulla, Lukas Eder
 
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description Connectionacquire()Acquire a connection from the connection lifecycle handler.voidrelease(Connection connection)Release a connection to the connection lifecycle handler.
 
- 
- 
- 
Method Detail- 
acquireConnection acquire() throws DataAccessException Acquire a connection from the connection lifecycle handler.This method is called by jOOQ exactly once per execution lifecycle, i.e. per ExecuteContext. Implementations may freely chose, whether subsequent calls to this method:- return the same connection instance
- return the same connection instance for the same thread
- return the same connection instance for the same transaction (e.g. a
 javax.transaction.UserTransaction)
- return a fresh connection instance every time
 jOOQ will guarantee that every acquired connection is released through release(Connection)exactly once.- Returns:
- A connection for the current ExecuteContext.
- Throws:
- DataAccessException- If anything went wrong while acquiring a connection
 
 - 
releasevoid release(Connection connection) throws DataAccessException Release a connection to the connection lifecycle handler.jOOQ will guarantee that every acquired connection is released exactly once. - Parameters:
- connection- A connection that was previously obtained from- acquire(). This is never- null.
- Throws:
- DataAccessException- If anything went wrong while releasing a connection
 
 
- 
 
-