Sun Adapter for MSMQ API

com.stc.connector.msmqadapter.ewayconn
Class MSMQEwayConnection

java.lang.Object
  extended by com.stc.connector.msmqadapter.ewayconn.MSMQEwayConnection
All Implemented Interfaces:
com.stc.connector.framework.eway.EwayConnection, com.stc.connector.management.STCManagedSlave

public class MSMQEwayConnection
extends java.lang.Object
implements com.stc.connector.framework.eway.EwayConnection, com.stc.connector.management.STCManagedSlave

This class implements the EwayConnection interface for MSMQ. It is required that it has a public constructor without arguments.


Constructor Summary
MSMQEwayConnection()
          Creates a new instance of MSMQEwayConnection
 
Method Summary
 void cleanup()
          Perform clean up of any resources or reset of any state held by the instance of EwayConnection.
 void connect()
          Creates the physical connection to the underlying EIS system.
 void destroy()
          Release any resources prior to the destruction of the associated ManagedConnection.
 void disconnect()
          Closes(destroys) the physical connection to the underlying EIS system.
 com.stc.connector.framework.client.AssociateableHandle getConnection(javax.security.auth.Subject subject, javax.resource.spi.ConnectionRequestInfo cri)
          Get a new instance of the connection handle (application connection).
 javax.resource.spi.LocalTransaction getLocalTransaction()
          Get a LocalTransaction instance for local transaction demaracation.
 byte[] getMessage()
           
 javax.resource.spi.ManagedConnectionMetaData getMetaData()
          Get a new instance of the ManagedConnectionMetaData which contains connection information for the currently established connection.
 com.stc.connector.management.util.ObjectReference getMonitor()
          Obtain the management object for this object.
 javax.transaction.xa.XAResource getXAResource()
          Get an XAResource instance for global transaction demarcation.
 void initialize(com.stc.connector.framework.eway.ManagedConnectionCallback mcCallback, javax.security.auth.Subject subject, javax.resource.spi.ConnectionRequestInfo cri, com.stc.connector.management.jca.system.mbeans.MonitorDataContainer mdc)
          Initialize the EwayConnection.
 boolean isValidConnection()
          This method is used by the framework to determine whether the MQ connection is still valid (ie, unrecoverable connection error).
 boolean matchConnection(javax.security.auth.Subject aSubject, javax.resource.spi.ConnectionRequestInfo criInVar)
          Determines whether this instance of the EwayConnection matches the the connection request with the connection information in Subject and/or ConnectionRequestInfo.
 long putMessage(byte[] payload)
           
 void setMonitor(com.stc.connector.management.util.ObjectReference mbean)
          Implementing the STCManagedSlave interface to allow registration of a callback (as a MBean), so that the connector framework can initialize the MBean for this connection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MSMQEwayConnection

public MSMQEwayConnection()
Creates a new instance of MSMQEwayConnection

Method Detail

initialize

public void initialize(com.stc.connector.framework.eway.ManagedConnectionCallback mcCallback,
                       javax.security.auth.Subject subject,
                       javax.resource.spi.ConnectionRequestInfo cri,
                       com.stc.connector.management.jca.system.mbeans.MonitorDataContainer mdc)
                throws javax.resource.ResourceException
Initialize the EwayConnection. Establish the connection to the external system (EIS).

Specified by:
initialize in interface com.stc.connector.framework.eway.EwayConnection
Parameters:
mcCallback - The callback object for getting services from the associated ManagedConnection.
subject - The Subject instance which holds the credentials for EIS signon.
cri - The ConnectionRequestInfo instance which can hold both EIS signon information or general connection specific information. The ConnectionRequestInfo provided will contain the union of the properties from the client connection request properties, the ResourceAdapter properties, and the ManagedConnectionFactory properties.
Throws:
javax.resource.ResourceException - upon error.

matchConnection

public boolean matchConnection(javax.security.auth.Subject aSubject,
                               javax.resource.spi.ConnectionRequestInfo criInVar)
Determines whether this instance of the EwayConnection matches the the connection request with the connection information in Subject and/or ConnectionRequestInfo.

Specified by:
matchConnection in interface com.stc.connector.framework.eway.EwayConnection
Parameters:
subject - The Subject instance which holds the credentials for EIS signon.
cri - The ConnectionRequestInfo instance which holds both EIS signon information or general connection specific information. The ConnectionRequestInfo provided will contain the union of the properties from the client connection request properties, the ResourceAdapter properties, and the ManagedConnectionFactory properties.
Returns:
A boolean true if there is a connection match; false otherwise.

getConnection

public com.stc.connector.framework.client.AssociateableHandle getConnection(javax.security.auth.Subject subject,
                                                                            javax.resource.spi.ConnectionRequestInfo cri)
                                                                     throws javax.resource.ResourceException
Get a new instance of the connection handle (application connection).

Specified by:
getConnection in interface com.stc.connector.framework.eway.EwayConnection
Parameters:
subject - The Subject instance which holds the credentials for EIS signon.
cri - The ConnectionRequestInfo instance which holds both EIS EIS signon information or general connection specific information. The ConnectionRequestInfo provided will contain the union of the properties from the client connection request properties, the ResourceAdapter properties, and the ManagedConnectionFactory properties.
Returns:
A connection handle (application connection) instance which implements the Associateable interface.
Throws:
javax.resource.ResourceException - upon error.

cleanup

public void cleanup()
             throws javax.resource.ResourceException
Perform clean up of any resources or reset of any state held by the instance of EwayConnection.

Specified by:
cleanup in interface com.stc.connector.framework.eway.EwayConnection
Throws:
javax.resource.ResourceException - upon error.

destroy

public void destroy()
             throws javax.resource.ResourceException
Release any resources prior to the destruction of the associated ManagedConnection.

Specified by:
destroy in interface com.stc.connector.framework.eway.EwayConnection
Throws:
javax.resource.ResourceException - upon error.

getLocalTransaction

public javax.resource.spi.LocalTransaction getLocalTransaction()
                                                        throws javax.resource.ResourceException
Get a LocalTransaction instance for local transaction demaracation.

Specified by:
getLocalTransaction in interface com.stc.connector.framework.eway.EwayConnection
Returns:
A LocalTransaction instance.
Throws:
javax.resource.ResourceException - upon error.

getMetaData

public javax.resource.spi.ManagedConnectionMetaData getMetaData()
                                                         throws javax.resource.ResourceException
Get a new instance of the ManagedConnectionMetaData which contains connection information for the currently established connection. The ManagedConnectionMetaData interface provides information about the underlying EIS instance associated with a ManagedConnection instance. An application server may use this information to get runtime information about a connected EIS instance. See com.stc.connector.framework.jca.system.STCManagedConnectionMetaData for details.

Specified by:
getMetaData in interface com.stc.connector.framework.eway.EwayConnection
Returns:
An instance of ManagedConnectionMetaData which contains information about the current established connection to the EIS.
Throws:
javax.resource.ResourceException - upon error.

getXAResource

public javax.transaction.xa.XAResource getXAResource()
                                              throws javax.resource.ResourceException
Get an XAResource instance for global transaction demarcation.

Specified by:
getXAResource in interface com.stc.connector.framework.eway.EwayConnection
Returns:
A XAResource instance.
Throws:
javax.resource.ResourceException - if an error occurs.

setMonitor

public void setMonitor(com.stc.connector.management.util.ObjectReference mbean)
Implementing the STCManagedSlave interface to allow registration of a callback (as a MBean), so that the connector framework can initialize the MBean for this connection.

Specified by:
setMonitor in interface com.stc.connector.management.STCManagedSlave
Parameters:
mbean - the mbean to be set by the framework

getMonitor

public com.stc.connector.management.util.ObjectReference getMonitor()
Obtain the management object for this object.

Returns:
A Monitor or null if there is no designated management object.

connect

public void connect()
             throws java.lang.Exception
Creates the physical connection to the underlying EIS system.

Throws:
application - specific Exceptions upon error.
java.lang.Exception

disconnect

public void disconnect()
                throws java.lang.Exception
Closes(destroys) the physical connection to the underlying EIS system.

Throws:
application - specific Exceptions upon error.
java.lang.Exception

getMessage

public byte[] getMessage()
                  throws javax.resource.ResourceException
Throws:
javax.resource.ResourceException

putMessage

public long putMessage(byte[] payload)
                throws javax.resource.ResourceException
Throws:
javax.resource.ResourceException

isValidConnection

public boolean isValidConnection()
This method is used by the framework to determine whether the MQ connection is still valid (ie, unrecoverable connection error). It is used to determine whether the ManagedConnection instance associated with the instance of the MQ eway connection should be pruned from the connection pool by the container. Available for JCA 1.5 only.


Sun Adapter for MSMQ API