javax.resource.spi
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:
ManagedConnection

Method Summary
 Object createConnectionFactory()
          Creates a Connection Factory instance.
 Object createConnectionFactory(ConnectionManager cxManager)
          Creates a Connection Factory instance.
 ManagedConnection createManagedConnection(Subject subject, ConnectionRequestInfo cxRequestInfo)
          Creates a new physical connection to the underlying EIS resource manager.
 boolean equals(Object other)
          Check if this ManagedConnectionFactory is equal to another ManagedConnectionFactory.
 PrintWriter getLogWriter()
          Get the log writer for this ManagedConnectionFactory instance.
 int hashCode()
          Returns the hash code for the ManagedConnectionFactory
 ManagedConnection matchManagedConnections(Set connectionSet, Subject subject, ConnectionRequestInfo cxRequestInfo)
          Returns a matched connection from the candidate set of connections.
 void setLogWriter(PrintWriter out)
          Set the log writer for this ManagedConnectionFactory instance.
 

Method Detail

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 javax.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 javax.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
Returns:
true if two instances are equal


Submit a bug or feature

Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.