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 Details

    • ProxoolConnectionProvider

      public ProxoolConnectionProvider()
  • Method Details

    • getConnection

      public Connection getConnection() throws SQLException
      Description copied from interface: ConnectionProvider
      Obtains a connection for Hibernate use according to the underlying strategy of this provider.
      Specified by:
      getConnection in interface ConnectionProvider
      Returns:
      The obtained JDBC connection
      Throws:
      SQLException - Indicates a problem opening a connection
    • isUnwrappableAs

      public boolean isUnwrappableAs(Class<?> unwrapType)
      Description copied from interface: Wrapped
      Can this wrapped service be unwrapped as the indicated type?
      Specified by:
      isUnwrappableAs in interface Wrapped
      Parameters:
      unwrapType - The type to check.
      Returns:
      True/false.
    • unwrap

      public <T> T unwrap(Class<T> unwrapType)
      Description copied from interface: Wrapped
      Unproxy the service proxy
      Specified by:
      unwrap in interface Wrapped
      Parameters:
      unwrapType - The java type as which to unwrap this instance.
      Returns:
      The unwrapped reference
    • closeConnection

      public void closeConnection(Connection connection) throws SQLException
      Description copied from interface: ConnectionProvider
      Release a connection from Hibernate use.
      Specified by:
      closeConnection in interface ConnectionProvider
      Parameters:
      connection - The JDBC connection to release
      Throws:
      SQLException - Indicates a problem closing the connection
    • injectServices

      public void injectServices(ServiceRegistryImplementor serviceRegistry)
      Description copied from interface: ServiceRegistryAwareService
      Callback to inject the registry.
      Specified by:
      injectServices in interface ServiceRegistryAwareService
      Parameters:
      serviceRegistry - The registry
    • configure

      public void configure(Map<String,Object> props)
      Description copied from interface: Configurable
      Configure the service.
      Specified by:
      configure in interface Configurable
      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 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.

      Specified by:
      supportsAggressiveRelease in interface ConnectionProvider
      Returns:
      true if aggressive releasing is supported; false otherwise.
    • stop

      public void stop()
      Description copied from interface: Stoppable
      Stop phase notification
      Specified by:
      stop in interface Stoppable
    • getDatabaseConnectionInfo

      public DatabaseConnectionInfo getDatabaseConnectionInfo(Dialect dialect)
      Specified by:
      getDatabaseConnectionInfo in interface ConnectionProvider
    • close

      @Deprecated public void close() throws HibernateException
      Deprecated.
      Use stop() instead
      Release all resources held by this provider.
      Throws:
      HibernateException - Indicates a problem closing the underlying pool or releasing resources