org.apache.activemq.ra
Class ActiveMQManagedConnection

java.lang.Object
  extended by org.apache.activemq.ra.ActiveMQManagedConnection
All Implemented Interfaces:
javax.jms.ExceptionListener, javax.resource.spi.ManagedConnection

public class ActiveMQManagedConnection
extends java.lang.Object
implements javax.resource.spi.ManagedConnection, javax.jms.ExceptionListener

ActiveMQManagedConnection maps to real physical connection to the server. Since a ManagedConnection has to provide a transaction managment interface to the physical connection, and sessions are the objects implement transaction managment interfaces in the JMS API, this object also maps to a singe physical JMS session.

The side-effect is that JMS connection the application gets will allways create the same session object. This is good if running in an app server since the sessions are elisted in the context transaction. This is bad if used outside of an app server since the user may be trying to create 2 different sessions to coordinate 2 different uow.


Constructor Summary
ActiveMQManagedConnection(javax.security.auth.Subject subject, ActiveMQConnection physicalConnection, ActiveMQConnectionRequestInfo info)
           
 
Method Summary
 void addConnectionEventListener(javax.resource.spi.ConnectionEventListener listener)
           
 void associate(javax.security.auth.Subject subject, ActiveMQConnectionRequestInfo info)
           
 void associateConnection(java.lang.Object connection)
           
 void cleanup()
          Cleans up all proxy handles attached to this physical connection so that they cannot be used anymore.
 void destroy()
          Close down the physical connection to the server.
 java.lang.Object getConnection(javax.security.auth.Subject subject, javax.resource.spi.ConnectionRequestInfo info)
           
 javax.resource.spi.LocalTransaction getLocalTransaction()
           
 java.io.PrintWriter getLogWriter()
           
 javax.resource.spi.ManagedConnectionMetaData getMetaData()
           
 javax.jms.Connection getPhysicalConnection()
           
 TransactionContext getTransactionContext()
           
 javax.transaction.xa.XAResource getXAResource()
           
 boolean isInManagedTx()
           
static boolean matches(java.lang.Object x, java.lang.Object y)
           
 boolean matches(javax.security.auth.Subject subject, javax.resource.spi.ConnectionRequestInfo info)
           
 void onException(javax.jms.JMSException e)
           
 void proxyClosedEvent(ManagedConnectionProxy proxy)
          When a proxy is closed this cleans up the proxy and notifys the ConnectionEventListeners that a connection closed.
 void removeConnectionEventListener(javax.resource.spi.ConnectionEventListener listener)
           
 void setLogWriter(java.io.PrintWriter logWriter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ActiveMQManagedConnection

public ActiveMQManagedConnection(javax.security.auth.Subject subject,
                                 ActiveMQConnection physicalConnection,
                                 ActiveMQConnectionRequestInfo info)
                          throws javax.resource.ResourceException
Throws:
javax.resource.ResourceException
Method Detail

isInManagedTx

public boolean isInManagedTx()

matches

public static boolean matches(java.lang.Object x,
                              java.lang.Object y)

associate

public void associate(javax.security.auth.Subject subject,
                      ActiveMQConnectionRequestInfo info)
               throws javax.jms.JMSException
Throws:
javax.jms.JMSException

getPhysicalConnection

public javax.jms.Connection getPhysicalConnection()

getConnection

public java.lang.Object getConnection(javax.security.auth.Subject subject,
                                      javax.resource.spi.ConnectionRequestInfo info)
                               throws javax.resource.ResourceException
Specified by:
getConnection in interface javax.resource.spi.ManagedConnection
Throws:
javax.resource.ResourceException
See Also:
ManagedConnection.getConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)

destroy

public void destroy()
             throws javax.resource.ResourceException
Close down the physical connection to the server.

Specified by:
destroy in interface javax.resource.spi.ManagedConnection
Throws:
javax.resource.ResourceException
See Also:
ManagedConnection.destroy()

cleanup

public void cleanup()
             throws javax.resource.ResourceException
Cleans up all proxy handles attached to this physical connection so that they cannot be used anymore.

Specified by:
cleanup in interface javax.resource.spi.ManagedConnection
Throws:
javax.resource.ResourceException
See Also:
ManagedConnection.cleanup()

associateConnection

public void associateConnection(java.lang.Object connection)
                         throws javax.resource.ResourceException
Specified by:
associateConnection in interface javax.resource.spi.ManagedConnection
Throws:
javax.resource.ResourceException
See Also:
ManagedConnection.associateConnection(java.lang.Object)

addConnectionEventListener

public void addConnectionEventListener(javax.resource.spi.ConnectionEventListener listener)
Specified by:
addConnectionEventListener in interface javax.resource.spi.ManagedConnection
See Also:
ManagedConnection.addConnectionEventListener(javax.resource.spi.ConnectionEventListener)

removeConnectionEventListener

public void removeConnectionEventListener(javax.resource.spi.ConnectionEventListener listener)
Specified by:
removeConnectionEventListener in interface javax.resource.spi.ManagedConnection
See Also:
ManagedConnection.removeConnectionEventListener(javax.resource.spi.ConnectionEventListener)

getXAResource

public javax.transaction.xa.XAResource getXAResource()
                                              throws javax.resource.ResourceException
Specified by:
getXAResource in interface javax.resource.spi.ManagedConnection
Throws:
javax.resource.ResourceException
See Also:
ManagedConnection.getXAResource()

getLocalTransaction

public javax.resource.spi.LocalTransaction getLocalTransaction()
                                                        throws javax.resource.ResourceException
Specified by:
getLocalTransaction in interface javax.resource.spi.ManagedConnection
Throws:
javax.resource.ResourceException
See Also:
ManagedConnection.getLocalTransaction()

getMetaData

public javax.resource.spi.ManagedConnectionMetaData getMetaData()
                                                         throws javax.resource.ResourceException
Specified by:
getMetaData in interface javax.resource.spi.ManagedConnection
Throws:
javax.resource.ResourceException
See Also:
ManagedConnection.getMetaData()

setLogWriter

public void setLogWriter(java.io.PrintWriter logWriter)
                  throws javax.resource.ResourceException
Specified by:
setLogWriter in interface javax.resource.spi.ManagedConnection
Throws:
javax.resource.ResourceException
See Also:
ManagedConnection.setLogWriter(java.io.PrintWriter)

getLogWriter

public java.io.PrintWriter getLogWriter()
                                 throws javax.resource.ResourceException
Specified by:
getLogWriter in interface javax.resource.spi.ManagedConnection
Throws:
javax.resource.ResourceException
See Also:
ManagedConnection.getLogWriter()

matches

public boolean matches(javax.security.auth.Subject subject,
                       javax.resource.spi.ConnectionRequestInfo info)
Parameters:
subject - subject to match
info - cri to match
Returns:
whether the subject and cri match sufficiently to allow using this connection under the new circumstances

proxyClosedEvent

public void proxyClosedEvent(ManagedConnectionProxy proxy)
When a proxy is closed this cleans up the proxy and notifys the ConnectionEventListeners that a connection closed.

Parameters:
proxy -

onException

public void onException(javax.jms.JMSException e)
Specified by:
onException in interface javax.jms.ExceptionListener

getTransactionContext

public TransactionContext getTransactionContext()
Returns:
Returns the transactionContext.


Copyright © 2005-2015. All Rights Reserved.