- All Known Implementing Classes:
- DataSourceConnectionProvider,- DefaultConnectionProvider,- MockConnectionProvider,- NoConnectionProvider
 The ConnectionProvider allows for abstracting the handling of
 custom Connection lifecycles outside of jOOQ, injecting
 behaviour into jOOQ's internals. jOOQ will try to acquire a new JDBC
 Connection from the connection provider as early as needed, and will
 release it as early as possible.
 
 TransactionProvider implementations may choose to influence
 ConnectionProvider behaviour, e.g. by acquiring connections upon
 TransactionProvider.begin(TransactionContext) and by releasing
 connections only upon TransactionProvider.commit(TransactionContext),
 or TransactionProvider.rollback(TransactionContext).
- Author:
- Aaron Digulla, Lukas Eder
- 
Method SummaryModifier and TypeMethodDescription@Nullable Connectionacquire()Acquire a connection from the connection lifecycle handler.voidrelease(Connection connection) Release a connection to the connection lifecycle handler.
- 
Method Details- 
acquireAcquire 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. Ifnullis returned (e.g. by NoConnectionProvider), then statements cannot be executed. Attempts to execute statements will result in aDetachedException.
- Throws:
- DataAccessException- If anything went wrong while acquiring a connection
 
- 
releaseRelease 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
 
 
-