## org.hibernate.jdbc
Class BorrowedConnectionProxy

    java.lang.Object
      org.hibernate.jdbc.BorrowedConnectionProxy

All Implemented Interfaces:
  InvocationHandler

    public class BorrowedConnectionProxy

extends Object
implements InvocationHandler

A proxy for borrowed connections which funnels all requests back into the ConnectionManager from which it was borrowed to be properly handled (in terms of connection release modes).

Note: the term borrowed here refers to connection references obtained via `Session.connection()` for application usage.

Author:
  Steve Ebersole

Constructor Summary
`BorrowedConnectionProxy(ConnectionManager connectionManager)`

Method Summary
`static Connection` `generateProxy(ConnectionManager connectionManager)` Generates a Connection proxy wrapping the connection managed by the passed connection manager.
`static ClassLoader` `getProxyClassLoader()` Determines the appropriate class loader to which the generated proxy should be scoped.
`static Connection` `getWrappedConnection(Connection connection)` Convience method for unwrapping a connection proxy and getting a handle to an underlying connection.
`Object` `invoke(Object proxy, Method method, Object[] args)`
`static void` `renderUnuseable(Connection connection)` Marks a borrowed connection as no longer usable.

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

Constructor Detail

### BorrowedConnectionProxy

    public BorrowedConnectionProxy(ConnectionManager connectionManager)

Method Detail

### invoke

    public Object invoke(Object proxy,
                         Method method,
                         Object[] args)
                  throws Throwable

  Specified by:
    `invoke` in interface `InvocationHandler`
  Throws:
    `Throwable`

### generateProxy

    public static Connection generateProxy(ConnectionManager connectionManager)

  Generates a Connection proxy wrapping the connection managed by the passed connection manager.

  Parameters:
    `connectionManager` - The connection manager to wrap with the connection proxy.
  Returns:
    The generated proxy.

### renderUnuseable

    public static void renderUnuseable(Connection connection)

  Marks a borrowed connection as no longer usable.

  Parameters:
    `connection` - The connection (proxy) to be marked.

### getWrappedConnection

    public static Connection getWrappedConnection(Connection connection)

  Convience method for unwrapping a connection proxy and getting a handle to an underlying connection.

  Parameters:
    `connection` - The connection (proxy) to be unwrapped.
  Returns:
    The unwrapped connection.

### getProxyClassLoader

    public static ClassLoader getProxyClassLoader()

  Determines the appropriate class loader to which the generated proxy should be scoped.

  Returns:
    The class loader appropriate for proxy construction.

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