Package org.jboss.narayana.jta.jms
Class ConnectionProxy
- java.lang.Object
-
- org.jboss.narayana.jta.jms.ConnectionProxy
-
- All Implemented Interfaces:
jakarta.jms.Connection,AutoCloseable
public class ConnectionProxy extends Object implements jakarta.jms.Connection
Proxy connection to wrap around providedXAConnection.- Author:
- Gytis Trikleris
-
-
Constructor Summary
Constructors Constructor Description ConnectionProxy(jakarta.jms.XAConnection xaConnection, TransactionHelper transactionHelper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Simply close the proxied connection if there is no active transaction.jakarta.jms.ConnectionConsumercreateConnectionConsumer(jakarta.jms.Destination destination, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)Delegate toxaConnectionjakarta.jms.ConnectionConsumercreateDurableConnectionConsumer(jakarta.jms.Topic topic, String subscriptionName, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)Delegate toxaConnection.jakarta.jms.SessioncreateSession()jakarta.jms.SessioncreateSession(boolean transacted, int acknowledgeMode)Simply create a session with an XA connection if there is no active transaction.jakarta.jms.SessioncreateSession(int sessionMode)jakarta.jms.ConnectionConsumercreateSharedConnectionConsumer(jakarta.jms.Topic topic, String subscriptionName, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)jakarta.jms.ConnectionConsumercreateSharedDurableConnectionConsumer(jakarta.jms.Topic topic, String subscriptionName, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)StringgetClientID()Delegate toxaConnectionjakarta.jms.ExceptionListenergetExceptionListener()Delegate toxaConnectionjakarta.jms.ConnectionMetaDatagetMetaData()Delegate toxaConnectionvoidsetClientID(String clientID)voidsetExceptionListener(jakarta.jms.ExceptionListener listener)Delegate toxaConnectionvoidstart()Delegate toxaConnectionvoidstop()Delegate toxaConnection
-
-
-
Constructor Detail
-
ConnectionProxy
public ConnectionProxy(jakarta.jms.XAConnection xaConnection, TransactionHelper transactionHelper)- Parameters:
xaConnection- XA connection which needs to be proxied.transactionHelper- utility to make transaction resources registration easier.
-
-
Method Detail
-
createSession
public jakarta.jms.Session createSession(boolean transacted, int acknowledgeMode) throws jakarta.jms.JMSExceptionSimply create a session with an XA connection if there is no active transaction. Or create a proxied session and register it with an active transaction.- Specified by:
createSessionin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- See Also:
SessionProxy,Connection.createSession(boolean, int)
-
createSession
public jakarta.jms.Session createSession(int sessionMode) throws jakarta.jms.JMSException- Specified by:
createSessionin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
createSession
public jakarta.jms.Session createSession() throws jakarta.jms.JMSException- Specified by:
createSessionin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
close
public void close() throws jakarta.jms.JMSExceptionSimply close the proxied connection if there is no active transaction. Or register aConnectionClosingSynchronizationif active transaction exists.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- if transaction service has failed (in unexpected way) to obtain transaction status, or if synchronization registration, or connection closing has failed.
-
getClientID
public String getClientID() throws jakarta.jms.JMSException
Delegate toxaConnection- Specified by:
getClientIDin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- See Also:
Connection.getClientID()
-
setClientID
public void setClientID(String clientID) throws jakarta.jms.JMSException
- Specified by:
setClientIDin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- See Also:
Connection.setClientID(String)
-
getMetaData
public jakarta.jms.ConnectionMetaData getMetaData() throws jakarta.jms.JMSExceptionDelegate toxaConnection- Specified by:
getMetaDatain interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- See Also:
Connection.getMetaData()
-
getExceptionListener
public jakarta.jms.ExceptionListener getExceptionListener() throws jakarta.jms.JMSExceptionDelegate toxaConnection- Specified by:
getExceptionListenerin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- See Also:
Connection.getExceptionListener()
-
setExceptionListener
public void setExceptionListener(jakarta.jms.ExceptionListener listener) throws jakarta.jms.JMSExceptionDelegate toxaConnection- Specified by:
setExceptionListenerin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- See Also:
Connection.setExceptionListener(ExceptionListener)
-
start
public void start() throws jakarta.jms.JMSExceptionDelegate toxaConnection- Specified by:
startin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- See Also:
Connection.start()
-
stop
public void stop() throws jakarta.jms.JMSExceptionDelegate toxaConnection- Specified by:
stopin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- See Also:
Connection.stop()
-
createConnectionConsumer
public jakarta.jms.ConnectionConsumer createConnectionConsumer(jakarta.jms.Destination destination, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSExceptionDelegate toxaConnection- Specified by:
createConnectionConsumerin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- See Also:
Connection.createConnectionConsumer(Destination, String, ServerSessionPool, int)
-
createSharedConnectionConsumer
public jakarta.jms.ConnectionConsumer createSharedConnectionConsumer(jakarta.jms.Topic topic, String subscriptionName, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSException- Specified by:
createSharedConnectionConsumerin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
createDurableConnectionConsumer
public jakarta.jms.ConnectionConsumer createDurableConnectionConsumer(jakarta.jms.Topic topic, String subscriptionName, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSExceptionDelegate toxaConnection.- Specified by:
createDurableConnectionConsumerin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException- See Also:
Connection.createDurableConnectionConsumer(Topic, String, String, ServerSessionPool, int)
-
createSharedDurableConnectionConsumer
public jakarta.jms.ConnectionConsumer createSharedDurableConnectionConsumer(jakarta.jms.Topic topic, String subscriptionName, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSException- Specified by:
createSharedDurableConnectionConsumerin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
-