- java.lang.Object
- 
- org.jooq.impl.DataSourceConnectionProvider
 
- 
- All Implemented Interfaces:
- ConnectionProvider
 
 public class DataSourceConnectionProvider extends Object implements ConnectionProvider A default implementation for a pooledDataSource-orientedConnectionProviderThis implementation wraps a JDBC DataSource. jOOQ will use that data source for initialising connections, and creating statements.Use this connection provider if you want to run distributed transactions, such as javax.transaction.UserTransaction. jOOQ willclose()all connections after query execution (and result fetching) in order to return the connection to the connection pool. If you do not use distributed transactions, this will produce driver-specific behaviour at the end of query execution atclose()invocation (e.g. a transaction rollback). Use aDefaultConnectionProviderinstead, to control the connection's lifecycle, or implement your ownConnectionProvider.- Author:
- Aaron Digulla, Lukas Eder
 
- 
- 
Constructor SummaryConstructors Constructor Description DataSourceConnectionProvider(DataSource dataSource)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull Connectionacquire()Acquire a connection from the connection lifecycle handler.@NotNull DataSourcedataSource()voidrelease(Connection connection)Release a connection to the connection lifecycle handler.
 
- 
- 
- 
Constructor Detail- 
DataSourceConnectionProviderpublic DataSourceConnectionProvider(DataSource dataSource) 
 
- 
 - 
Method Detail- 
dataSource@NotNull public @NotNull DataSource dataSource() 
 - 
acquire@NotNull public @NotNull Connection acquire() Description copied from interface:ConnectionProviderAcquire 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 ConnectionProvider.release(Connection)exactly once.- Specified by:
- acquirein interface- ConnectionProvider
- 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.
 
 - 
releasepublic void release(Connection connection) Description copied from interface:ConnectionProviderRelease a connection to the connection lifecycle handler.jOOQ will guarantee that every acquired connection is released exactly once. - Specified by:
- releasein interface- ConnectionProvider
- Parameters:
- connection- A connection that was previously obtained from- ConnectionProvider.acquire(). This is never- null.
 
 
- 
 
-