Class ConnectionProviderDelegate

    • Constructor Detail

      • ConnectionProviderDelegate

        public ConnectionProviderDelegate()
      • ConnectionProviderDelegate

        public ConnectionProviderDelegate​(ConnectionProvider connectionProvider)
    • Method Detail

      • setConnectionProvider

        public void setConnectionProvider​(ConnectionProvider connectionProvider)
      • configure

        public void configure​(java.util.Map configurationValues)
        Description copied from interface: Configurable
        Configure the service.
        Specified by:
        configure in interface Configurable
        Parameters:
        configurationValues - The configuration properties.
      • getConnection

        public java.sql.Connection getConnection()
                                          throws java.sql.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:
        java.sql.SQLException - Indicates a problem opening a connection
      • closeConnection

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

        public boolean supportsAggressiveRelease()
        Description copied from interface: ConnectionProvider
        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. 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.
      • isUnwrappableAs

        public boolean isUnwrappableAs​(java.lang.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​(java.lang.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
      • stop

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