Package org.hibernate.proxool.internal
Class ProxoolConnectionProvider
java.lang.Object
org.hibernate.proxool.internal.ProxoolConnectionProvider
- All Implemented Interfaces:
Serializable
,ConnectionProvider
,Service
,Configurable
,ServiceRegistryAwareService
,Stoppable
,Wrapped
public class ProxoolConnectionProvider
extends Object
implements ConnectionProvider, Configurable, Stoppable, ServiceRegistryAwareService
A connection provider that uses a Proxool connection pool. Hibernate will use this by
default if the
hibernate.proxool.*
properties are set.- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Deprecated.void
closeConnection
(Connection connection) Release a connection from Hibernate use.void
Configure the service.Obtains a connection for Hibernate use according to the underlying strategy of this provider.getDatabaseConnectionInfo
(Dialect dialect) void
injectServices
(ServiceRegistryImplementor serviceRegistry) Callback to inject the registry.boolean
isUnwrappableAs
(Class<?> unwrapType) Can this wrapped service be unwrapped as the indicated type?void
stop()
Stop phase notificationboolean
Does this connection provider support aggressive release of JDBC connections and later re-acquisition of those connections if needed?<T> T
Unproxy the service proxy
-
Constructor Details
-
ProxoolConnectionProvider
public ProxoolConnectionProvider()
-
-
Method Details
-
getConnection
Description copied from interface:ConnectionProvider
Obtains a connection for Hibernate use according to the underlying strategy of this provider.- Specified by:
getConnection
in interfaceConnectionProvider
- Returns:
- The obtained JDBC connection
- Throws:
SQLException
- Indicates a problem opening a connection
-
isUnwrappableAs
Description copied from interface:Wrapped
Can this wrapped service be unwrapped as the indicated type?- Specified by:
isUnwrappableAs
in interfaceWrapped
- Parameters:
unwrapType
- The type to check.- Returns:
- True/false.
-
unwrap
Description copied from interface:Wrapped
Unproxy the service proxy -
closeConnection
Description copied from interface:ConnectionProvider
Release a connection from Hibernate use.- Specified by:
closeConnection
in interfaceConnectionProvider
- Parameters:
connection
- The JDBC connection to release- Throws:
SQLException
- Indicates a problem closing the connection
-
injectServices
Description copied from interface:ServiceRegistryAwareService
Callback to inject the registry.- Specified by:
injectServices
in interfaceServiceRegistryAwareService
- Parameters:
serviceRegistry
- The registry
-
configure
Description copied from interface:Configurable
Configure the service.- Specified by:
configure
in interfaceConfigurable
- Parameters:
props
- The configuration properties.
-
supportsAggressiveRelease
public boolean supportsAggressiveRelease()Description copied from interface:ConnectionProvider
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_STATEMENT
to aggressively release JDBC connections. However, the configuredConnectionProvider
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.
- Specified by:
supportsAggressiveRelease
in interfaceConnectionProvider
- Returns:
true
if aggressive releasing is supported;false
otherwise.
-
stop
public void stop()Description copied from interface:Stoppable
Stop phase notification -
getDatabaseConnectionInfo
- Specified by:
getDatabaseConnectionInfo
in interfaceConnectionProvider
-
close
Deprecated.Usestop()
insteadRelease all resources held by this provider.- Throws:
HibernateException
- Indicates a problem closing the underlying pool or releasing resources
-
stop()
instead