Class AmqpTransactionContext
- java.lang.Object
-
- org.apache.qpid.jms.provider.amqp.AmqpTransactionContext
-
- All Implemented Interfaces:
AmqpResourceParent
public class AmqpTransactionContext extends Object implements AmqpResourceParent
Handles the operations surrounding AMQP transaction control. The Transaction will carry a JmsTransactionId while the Transaction is open, once a transaction has been committed or rolled back the Transaction Id is cleared.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classAmqpTransactionContext.DischargeCompletion
-
Constructor Summary
Constructors Constructor Description AmqpTransactionContext(AmqpSession session, JmsSessionInfo resourceInfo)Creates a new AmqpTransactionContext instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChildResource(AmqpResource resource)Adds the given resource as a child of this resource so that it's lifetime becomes managed by that of its parent.voidbegin(JmsTransactionId txId, AsyncResult request)voidcommit(JmsTransactionInfo transactionInfo, JmsTransactionInfo nextTransactionInfo, AsyncResult request)org.apache.qpid.proton.amqp.BinarygetAmqpTransactionId()AmqpProvidergetProvider()AmqpSessiongetSession()JmsTransactionIdgetTransactionId()org.apache.qpid.proton.amqp.transaction.TransactionalStategetTxnAcceptState()org.apache.qpid.proton.amqp.transaction.TransactionalStategetTxnEnrolledState()booleanisInTransaction(JmsConsumerId consumerId)booleanisInTransaction(JmsProducerId producerId)booleanisTransactionInDoubt()voidregisterTxConsumer(AmqpConsumer consumer)voidregisterTxProducer(AmqpProducer producer)voidremoveChildResource(AmqpResource resource)Removes the given resource from the registered child resources managed by this one.voidrollback(JmsTransactionInfo transactionInfo, JmsTransactionInfo nextTransactionInfo, AsyncResult request)StringtoString()
-
-
-
Constructor Detail
-
AmqpTransactionContext
public AmqpTransactionContext(AmqpSession session, JmsSessionInfo resourceInfo)
Creates a new AmqpTransactionContext instance.- Parameters:
session- The session that owns this transaction context.resourceInfo- The resourceInfo that defines this transaction context.
-
-
Method Detail
-
begin
public void begin(JmsTransactionId txId, AsyncResult request) throws ProviderException
- Throws:
ProviderException
-
commit
public void commit(JmsTransactionInfo transactionInfo, JmsTransactionInfo nextTransactionInfo, AsyncResult request) throws ProviderException
- Throws:
ProviderException
-
rollback
public void rollback(JmsTransactionInfo transactionInfo, JmsTransactionInfo nextTransactionInfo, AsyncResult request) throws ProviderException
- Throws:
ProviderException
-
registerTxConsumer
public void registerTxConsumer(AmqpConsumer consumer)
-
isInTransaction
public boolean isInTransaction(JmsConsumerId consumerId)
-
registerTxProducer
public void registerTxProducer(AmqpProducer producer)
-
isInTransaction
public boolean isInTransaction(JmsProducerId producerId)
-
getSession
public AmqpSession getSession()
-
getTxnAcceptState
public org.apache.qpid.proton.amqp.transaction.TransactionalState getTxnAcceptState()
-
getTxnEnrolledState
public org.apache.qpid.proton.amqp.transaction.TransactionalState getTxnEnrolledState()
-
getTransactionId
public JmsTransactionId getTransactionId()
-
isTransactionInDoubt
public boolean isTransactionInDoubt()
-
getAmqpTransactionId
public org.apache.qpid.proton.amqp.Binary getAmqpTransactionId()
-
addChildResource
public void addChildResource(AmqpResource resource)
Description copied from interface:AmqpResourceParentAdds the given resource as a child of this resource so that it's lifetime becomes managed by that of its parent.- Specified by:
addChildResourcein interfaceAmqpResourceParent- Parameters:
resource- The AmqpResource that is a child of this one.
-
removeChildResource
public void removeChildResource(AmqpResource resource)
Description copied from interface:AmqpResourceParentRemoves the given resource from the registered child resources managed by this one.- Specified by:
removeChildResourcein interfaceAmqpResourceParent- Parameters:
resource- The AmqpResource that is no longer a child of this one.
-
getProvider
public AmqpProvider getProvider()
- Specified by:
getProviderin interfaceAmqpResourceParent- Returns:
- a reference to the root AmqpProvider.
-
-