public interface ConnectionProvider extends Service, Wrapped
A contract for obtaining JDBC connections. <p/> Implementors might also implement connection pooling. <p/> Implementors should provide a public default constructor.
Modifier and Type | Method and Description |
---|---|
void |
closeConnection(Connection conn)
Release a connection from Hibernate use.
|
Connection |
getConnection()
Obtains a connection for Hibernate use according to the underlying strategy of this provider.
|
boolean |
supportsAggressiveRelease()
Does this connection provider support aggressive release of JDBC
connections and re-acquisition of those connections (if need be) later?
<p/>
This is used in conjunction with
AvailableSettings.RELEASE_CONNECTIONS
to aggressively release JDBC connections. |
isUnwrappableAs, unwrap
Connection getConnection() throws SQLException
Obtains a connection for Hibernate use according to the underlying strategy of this provider.
SQLException
- Indicates a problem opening a connectionHibernateException
- Indicates a problem otherwise obtaining a connection.void closeConnection(Connection conn) throws SQLException
Release a connection from Hibernate use.
conn
- The JDBC connection to releaseSQLException
- Indicates a problem closing the connectionHibernateException
- Indicates a problem otherwise releasing a connection.boolean supportsAggressiveRelease()
Does this connection provider support aggressive release of JDBC
connections and re-acquisition of those connections (if need be) later?
<p/>
This is used in conjunction with AvailableSettings.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.
<p/>
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.
true
if aggressive releasing is supported; false
otherwise.Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.