Interface ManagedConnectionFactory

All Superinterfaces:
Serializable

public interface ManagedConnectionFactory extends 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:
  • Method Details

    • createConnectionFactory

      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 jakarta.resource.cci.ConnectionFactory instance
      Throws:
      ResourceException - Generic exception
      ResourceAdapterInternalException - Resource adapter related error condition
    • createConnectionFactory

      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 jakarta.resource.cci.ConnectionFactory instance
      Throws:
      ResourceException - Generic exception
      ResourceAdapterInternalException - Resource adapter related error condition
    • createManagedConnection

      ManagedConnection createManagedConnection(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(Set connectionSet, 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(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

      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 Object
      Returns:
      hash code for the ManagedConnectionFactory
    • equals

      boolean equals(Object other)
      Check if this ManagedConnectionFactory is equal to another ManagedConnectionFactory.
      Overrides:
      equals in class Object
      Parameters:
      other - to check
      Returns:
      true if two instances are equal