public class DatasourceConnectionProviderImpl extends java.lang.Object implements ConnectionProvider, Configurable, Stoppable
ConnectionProvider that manages connections from an underlying DataSource.
The DataSource to use may be specified by either:setDataSource(javax.sql.DataSource)DataSource instance using the AvailableSettings.DATASOURCE config propertyDataSource can be found via AvailableSettings.DATASOURCE config property| Constructor and Description |
|---|
DatasourceConnectionProviderImpl() |
| Modifier and Type | Method and Description |
|---|---|
void |
closeConnection(java.sql.Connection connection)
Release a connection from Hibernate use.
|
void |
configure(java.util.Map configValues)
Configure the service.
|
java.sql.Connection |
getConnection()
Obtains a connection for Hibernate use according to the underlying strategy of this provider.
|
javax.sql.DataSource |
getDataSource() |
boolean |
isUnwrappableAs(java.lang.Class unwrapType)
Can this wrapped service be unwrapped as the indicated type?
|
void |
setDataSource(javax.sql.DataSource dataSource) |
void |
setJndiService(JndiService jndiService) |
void |
stop()
Stop phase notification
|
boolean |
supportsAggressiveRelease()
Does this connection provider support aggressive release of JDBC
connections and re-acquisition of those connections (if need be) later?
This is used in conjunction with
AvailableSettings.RELEASE_CONNECTIONS
to aggressively release JDBC connections. |
<T> T |
unwrap(java.lang.Class<T> unwrapType)
Unproxy the service proxy
|
public javax.sql.DataSource getDataSource()
public void setDataSource(javax.sql.DataSource dataSource)
public void setJndiService(JndiService jndiService)
public boolean isUnwrappableAs(java.lang.Class unwrapType)
WrappedisUnwrappableAs in interface WrappedunwrapType - The type to check.public <T> T unwrap(java.lang.Class<T> unwrapType)
Wrappedpublic void configure(java.util.Map configValues)
Configurableconfigure in interface ConfigurableconfigValues - The configuration properties.public void stop()
Stoppablepublic java.sql.Connection getConnection()
throws java.sql.SQLException
ConnectionProvidergetConnection in interface ConnectionProviderjava.sql.SQLException - Indicates a problem opening a connectionpublic void closeConnection(java.sql.Connection connection)
throws java.sql.SQLException
ConnectionProvidercloseConnection in interface ConnectionProviderconnection - The JDBC connection to releasejava.sql.SQLException - Indicates a problem closing the connectionpublic boolean supportsAggressiveRelease()
ConnectionProviderAvailableSettings.RELEASE_CONNECTIONS
to aggressively release JDBC connections. However, the configured ConnectionProvider
must 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.supportsAggressiveRelease in interface ConnectionProvidertrue if aggressive releasing is supported; false otherwise.Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.