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.connection
Class DatasourceConnectionProvider

    java.lang.Object
      org.hibernate.connection.DatasourceConnectionProvider

All Implemented Interfaces:
  ConnectionProvider

Direct Known Subclasses:
  InjectedDataSourceConnectionProvider

    public class DatasourceConnectionProvider

extends Object
implements ConnectionProvider

A connection provider that uses a `DataSource` registered with JNDI. Hibernate will use this `ConnectionProvider` by default if the property `hibernate.connection.datasource` is set.

Author:
  Gavin King
See Also:
  `ConnectionProvider`

Constructor Summary
`DatasourceConnectionProvider()`

Method Summary
`void` | `close()` Release all resources held by this provider.
`void` | `closeConnection(Connection conn)` Dispose of a used connection.
`void` | `configure(Properties props)` Initialize the connection provider from given properties.
`Connection` | `getConnection()` Grab a connection, with the autocommit mode specified by `hibernate.connection.autocommit`.
`DataSource` | `getDataSource()`
`void` | `setDataSource(DataSource ds)`
`boolean` | `supportsAggressiveRelease()` Does this connection provider support aggressive release of JDBC connections and re-acquistion of those connections (if need be) later? This is used in conjunction with `org.hibernate.cfg.Environment.RELEASE_CONNECTIONS` to aggressively release JDBC connections.

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

Constructor Detail

### DatasourceConnectionProvider

    public DatasourceConnectionProvider()

Method Detail

### getDataSource

    public DataSource getDataSource()

### setDataSource

    public void setDataSource(DataSource ds)

### configure

    public void configure(Properties props)
                   throws HibernateException

  Description copied from interface: `ConnectionProvider`
  Initialize the connection provider from given properties.

  Specified by:
    `configure` in interface `ConnectionProvider`
  Parameters:
    `props` - `SessionFactory` properties
  Throws:
    `HibernateException`

### getConnection

    public Connection getConnection()
                             throws SQLException

  Description copied from interface: `ConnectionProvider`
  Grab a connection, with the autocommit mode specified by `hibernate.connection.autocommit`.

  Specified by:
    `getConnection` in interface `ConnectionProvider`
  Returns:
    a JDBC connection
  Throws:
    `SQLException`

### closeConnection

    public void closeConnection(Connection conn)
                         throws SQLException

  Description copied from interface: `ConnectionProvider`
  Dispose of a used connection.

  Specified by:
    `closeConnection` in interface `ConnectionProvider`
  Parameters:
    `conn` - a JDBC connection
  Throws:
    `SQLException`

### close

    public void close()

  Description copied from interface: `ConnectionProvider`
  Release all resources held by this provider. JavaDoc requires a second sentence.

  Specified by:
    `close` in interface `ConnectionProvider`

### supportsAggressiveRelease

    public boolean supportsAggressiveRelease()

  Description copied from interface: `ConnectionProvider`
  Does this connection provider support aggressive release of JDBC connections and re-acquistion of those connections (if need be) later?

  This is used in conjunction with `org.hibernate.cfg.Environment.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`
  See Also:
    `ConnectionProvider.supportsAggressiveRelease()`

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-2010 Red Hat, Inc. All Rights Reserved.