DatasourceConnectionProviderImpl (Hibernate JavaDocs)
Date: 2012-04-05

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.hibernate.service.jdbc.connections.internal
Class DatasourceConnectionProviderImpl

    java.lang.Object
      org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl

All Implemented Interfaces:
  Serializable, ConnectionProvider, Service, Configurable, Stoppable, Wrapped

Direct Known Subclasses:
  InjectedDataSourceConnectionProvider, TestingJtaBootstrap.JtaAwareDataSourceConnectionProvider

    public class DatasourceConnectionProviderImpl

extends Object
implements ConnectionProvider, Configurable, Stoppable

A `ConnectionProvider` that manages connections from an underlying `DataSource`.

The `DataSource` to use may be specified by either:

- injection via `setDataSource(javax.sql.DataSource)`
- decaring the `DataSource` instance using the `AvailableSettings.DATASOURCE` config property
- decaring the JNDI name under which the `DataSource` can be found via `AvailableSettings.DATASOURCE` config property

See Also:
  Serialized Form

Constructor Summary
`DatasourceConnectionProviderImpl()`

Method Summary
`void` | `closeConnection(Connection connection)` Release a connection from Hibernate use.
`void` | `configure(Map configValues)` Configure the service.
`Connection` | `getConnection()` Obtains a connection for Hibernate use according to the underlying strategy of this provider.
`DataSource` | `getDataSource()`
`boolean` | `isUnwrappableAs(Class unwrapType)` Can this wrapped service be unwrapped as the indicated type?
`void` | `setDataSource(DataSource dataSource)`
`void` | `setJndiService(JndiService jndiService)`
`void` | `stop()` Stop phase notification
`boolean` | `supportsAggressiveRelease()` 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.
`
`<T> T`
` | `unwrap(Class<T> unwrapType)` Unproxy the service proxy

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DatasourceConnectionProviderImpl

    public DatasourceConnectionProviderImpl()

Method Detail

### getDataSource

    public DataSource getDataSource()

### setDataSource

    public void setDataSource(DataSource dataSource)

### setJndiService

    public void setJndiService(JndiService jndiService)

### 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

### configure

    public void configure(Map configValues)

  Configure the service.

  Specified by:
    `configure` in interface `Configurable`
  Parameters:
    `configValues` - The configuration properties.

### stop

    public void stop()

  Description copied from interface: `Stoppable`
  Stop phase notification

  Specified by:
    `stop` in interface `Stoppable`

### getConnection

    public Connection getConnection()
                             throws SQLException

  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

### closeConnection

    public void closeConnection(Connection connection)
                         throws SQLException

  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

### supportsAggressiveRelease

    public boolean supportsAggressiveRelease()

  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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.