javax.resource.spi

## Interface ManagedConnectionFactory

- All Superinterfaces:
    java.io.Serializable

      public interface ManagedConnectionFactory
      extends java.io.Serializable

  ManagedConnectionFactory instance is a factory of both ManagedConnection and EIS-specific connection factory instances. This interface supports connection pooling by providing methods for matching and creation of ManagedConnection instance. A ManagedConnectionFactory instance is required to be a JavaBean.
  Version:
    0.6
  Author:
    Rahul Sharma
  See Also:
    `ManagedConnection`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `createConnectionFactory()` Creates a Connection Factory instance.
    `java.lang.Object` | `createConnectionFactory(ConnectionManager cxManager)` Creates a Connection Factory instance.
    `ManagedConnection` | `createManagedConnection(javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo)` Creates a new physical connection to the underlying EIS resource manager.
    `boolean` | `equals(java.lang.Object other)` Check if this ManagedConnectionFactory is equal to another ManagedConnectionFactory.
    `java.io.PrintWriter` | `getLogWriter()` Get the log writer for this ManagedConnectionFactory instance.
    `int` | `hashCode()` Returns the hash code for the ManagedConnectionFactory
    `ManagedConnection` | `matchManagedConnections(java.util.Set connectionSet, javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo)` Returns a matched connection from the candidate set of connections.
    `void` | `setLogWriter(java.io.PrintWriter out)` Set the log writer for this ManagedConnectionFactory instance.

- - ### Method Detail

    - #### createConnectionFactory

          java.lang.Object createConnectionFactory(ConnectionManager cxManager)
                                            throws ResourceException

      Creates a Connection Factory instance. The Connection Factory instance gets initialized with the passed ConnectionManager. In the managed scenario, ConnectionManager is provided by the application server.
      Parameters:
        `cxManager` - ConnectionManager to be associated with created EIS connection factory instance
      Returns:
        EIS-specific Connection Factory instance or javax.resource.cci.ConnectionFactory instance
      Throws:
        `ResourceException` - Generic exception
        `ResourceAdapterInternalException` - Resource adapter related error condition

    - #### createConnectionFactory

          java.lang.Object createConnectionFactory()
                                            throws ResourceException

      Creates a Connection Factory instance. The Connection Factory instance gets initialized with a default ConnectionManager provided by the resource adapter.
      Returns:
        EIS-specific Connection Factory instance or javax.resource.cci.ConnectionFactory instance
      Throws:
        `ResourceException` - Generic exception
        `ResourceAdapterInternalException` - Resource adapter related error condition

    - #### createManagedConnection

          ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
                                                    ConnectionRequestInfo cxRequestInfo)
                                             throws ResourceException

      Creates a new physical connection to the underlying EIS resource manager.

      ManagedConnectionFactory uses the security information (passed as Subject) and additional ConnectionRequestInfo (which is specific to ResourceAdapter and opaque to application server) to create this new connection.

      Parameters:
        `subject` - Caller's security information
        `cxRequestInfo` - Additional resource adapter specific connection request information
      Returns:
        ManagedConnection instance
      Throws:
        `ResourceException` - generic exception
        `SecurityException` - security related error
        `ResourceAllocationException` - failed to allocate system resources for connection request
        `ResourceAdapterInternalException` - resource adapter related error condition
        `EISSystemException` - internal error condition in EIS instance

    - #### matchManagedConnections

          ManagedConnection matchManagedConnections(java.util.Set connectionSet,
                                                    javax.security.auth.Subject subject,
                                                    ConnectionRequestInfo cxRequestInfo)
                                             throws ResourceException

      Returns a matched connection from the candidate set of connections.

      ManagedConnectionFactory uses the security info (as in Subject) and information provided through ConnectionRequestInfo and additional Resource Adapter specific criteria to do matching. Note that criteria used for matching is specific to a resource adapter and is not prescribed by the Connector specification.

      This method returns a ManagedConnection instance that is the best match for handling the connection allocation request.

      Parameters:
        `connectionSet` - candidate connection set
        `subject` - caller's security information
        `cxRequestInfo` - additional resource adapter specific connection request information
      Returns:
        ManagedConnection if resource adapter finds an acceptable match otherwise null
      Throws:
        `ResourceException` - generic exception
        `SecurityException` - security related error
        `ResourceAdapterInternalException` - resource adapter related error condition
        `NotSupportedException` - if operation is not supported

    - #### setLogWriter

          void setLogWriter(java.io.PrintWriter out)
                     throws ResourceException

      Set the log writer for this ManagedConnectionFactory instance.

      The log writer is a character output stream to which all logging and tracing messages for this ManagedConnectionfactory instance will be printed.

      ApplicationServer manages the association of output stream with the ManagedConnectionFactory. When a ManagedConnectionFactory object is created the log writer is initially null, in other words, logging is disabled. Once a log writer is associated with a ManagedConnectionFactory, logging and tracing for ManagedConnectionFactory instance is enabled.

      The ManagedConnection instances created by ManagedConnectionFactory "inherits" the log writer, which can be overridden by ApplicationServer using ManagedConnection.setLogWriter to set ManagedConnection specific logging and tracing.

      Parameters:
        `out` - PrintWriter - an out stream for error logging and tracing
      Throws:
        `ResourceException` - generic exception
        `ResourceAdapterInternalException` - resource adapter related error condition

    - #### getLogWriter

          java.io.PrintWriter getLogWriter()
                                    throws ResourceException

      Get the log writer for this ManagedConnectionFactory instance.

      The log writer is a character output stream to which all logging and tracing messages for this ManagedConnectionFactory instance will be printed

      ApplicationServer manages the association of output stream with the ManagedConnectionFactory. When a ManagedConnectionFactory object is created the log writer is initially null, in other words, logging is disabled.

      Returns:
        PrintWriter
      Throws:
        `ResourceException` - generic exception

    - #### hashCode

          int hashCode()

      Returns the hash code for the ManagedConnectionFactory
      Overrides:
        `hashCode` in class `java.lang.Object`
      Returns:
        hash code for the ManagedConnectionFactory

    - #### equals

          boolean equals(java.lang.Object other)

      Check if this ManagedConnectionFactory is equal to another ManagedConnectionFactory.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `other` - The other object
      Returns:
        true if two instances are equal

Copyright © 2014 IronJacamar (http://www.ironjacamar.org)