public class DatasourceConnectionProvider extends java.lang.Object implements ConnectionProvider
ConnectionProvider
Constructor and Description |
---|
DatasourceConnectionProvider() |
Modifier and Type | Method and Description |
---|---|
void |
close()
Release all resources held by this provider.
|
void |
closeConnection(java.sql.Connection conn)
Dispose of a used connection.
|
void |
configure(java.util.Properties props)
Initialize the connection provider from given properties.
|
java.sql.Connection |
getConnection()
Grab a connection, with the autocommit mode specified by
hibernate.connection.autocommit.
|
javax.sql.DataSource |
getDataSource() |
void |
setDataSource(javax.sql.DataSource ds) |
boolean |
supportsAggressiveRelease()
Does this connection provider support aggressive release of JDBC
connections and re-acquistion of those connections (if need be) later?
This is used in conjunction with
org.hibernate.cfg.Environment.RELEASE_CONNECTIONS
to aggressively release JDBC connections. |
public javax.sql.DataSource getDataSource()
public void setDataSource(javax.sql.DataSource ds)
public void configure(java.util.Properties props) throws HibernateException
ConnectionProvider
configure
in interface ConnectionProvider
props
- SessionFactory propertiesHibernateException
public java.sql.Connection getConnection() throws java.sql.SQLException
ConnectionProvider
getConnection
in interface ConnectionProvider
java.sql.SQLException
public void closeConnection(java.sql.Connection conn) throws java.sql.SQLException
ConnectionProvider
closeConnection
in interface ConnectionProvider
conn
- a JDBC connectionjava.sql.SQLException
public void close()
ConnectionProvider
close
in interface ConnectionProvider
public boolean supportsAggressiveRelease()
ConnectionProvider
org.hibernate.cfg.Environment.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 ConnectionProvider
ConnectionProvider.supportsAggressiveRelease()
Copyright © 2013. All Rights Reserved.