- All Implemented Interfaces:
public class ViburDBCPConnectionProvider extends Object implements ConnectionProvider, Configurable, Stoppable
ViburDBCP connection provider for Hibernate integration.
To use this connection provider set:
Supported Hibernate properties are:
hibernate.connection.driver_class hibernate.connection.url hibernate.connection.username hibernate.connection.password hibernate.connection.isolation hibernate.connection.autocommit
ViburConfigproperties are also supported via using the
Constructors Constructor Description
All Methods Instance Methods Concrete Methods Modifier and Type Method Description
closeConnection(Connection conn)Release a connection from Hibernate use.
configure(Map<String,Object> configurationValues)Configure the service.
getConnection()Obtains a connection for Hibernate use according to the underlying strategy of this provider.
getDataSource()Visible for testing purposes.
isUnwrappableAs(Class<?> unwrapType)Can this wrapped service be unwrapped as the indicated type?
stop()Stop phase notification
supportsAggressiveRelease()Does this connection provider support aggressive release of JDBC connections and later re-acquisition of those connections if needed?
unwrap(Class<T> unwrapType)Unproxy the service proxy
configureDescription copied from interface:
ConfigurableConfigure the service.
public Connection getConnection() throws SQLExceptionObtains a connection for Hibernate use according to the underlying strategy of this provider.
public void closeConnection(Connection conn) throws SQLExceptionRelease a connection from Hibernate use.
public void stop()Description copied from interface:
StoppableStop phase notification
public boolean supportsAggressiveRelease()Does this connection provider support aggressive release of JDBC connections and later re-acquisition of those connections if needed?
This is used in conjunction with
ConnectionReleaseMode.AFTER_STATEMENTto aggressively release JDBC connections. However, the configured
ConnectionProvidermust support re-acquisition of the same underlying connection for that semantic to work.
Typically, this is only true in managed environments where a container tracks connections by transaction or thread. Note that JTA semantic depends on the fact that the underlying connection provider does support aggressive release.
public boolean isUnwrappableAs(Class<?> unwrapType)Description copied from interface:
WrappedCan this wrapped service be unwrapped as the indicated type?
public <T> T unwrap(Class<T> unwrapType)Description copied from interface:
WrappedUnproxy the service proxy
public org.vibur.dbcp.ViburDBCPDataSource getDataSource()Visible for testing purposes.