Class ProtonTransactionRefsOperation
- java.lang.Object
-
- org.apache.activemq.artemis.core.transaction.TransactionOperationAbstract
-
- org.apache.activemq.artemis.core.server.impl.RefsOperation
-
- org.apache.activemq.artemis.protocol.amqp.proton.transaction.ProtonTransactionRefsOperation
-
- All Implemented Interfaces:
TransactionOperation
public class ProtonTransactionRefsOperation extends RefsOperation
AMQP Protocol has different TX Rollback behaviour for Acks depending on whether an AMQP delivery has been settled or not. This class extends the Core RefsOperation used for normal acks. In the case where deliveries have been settled, normal Ack rollback is applied. For cases where deliveries are unsettled and rolled back, we increment the delivery count and return to the consumer.
-
-
Field Summary
-
Fields inherited from class org.apache.activemq.artemis.core.server.impl.RefsOperation
ignoreRedeliveryCheck
-
-
Constructor Summary
Constructors Constructor Description ProtonTransactionRefsOperation(Queue queue, AckReason reason, StorageManager storageManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidrollbackRedelivery(Transaction txn, MessageReference ref, long timeBase, Map<QueueImpl,LinkedList<MessageReference>> queueMap)-
Methods inherited from class org.apache.activemq.artemis.core.server.impl.RefsOperation
afterCommit, afterRollback, getLingerMessages, getListOnConsumer, getReferencesToAcknowledge, getRelatedMessageReferences, isDelivering, setDelivering, setIgnoreRedeliveryCheck, setLingerSession
-
Methods inherited from class org.apache.activemq.artemis.core.transaction.TransactionOperationAbstract
afterCommit, afterPrepare, beforeCommit, beforePrepare, beforeRollback
-
-
-
-
Constructor Detail
-
ProtonTransactionRefsOperation
public ProtonTransactionRefsOperation(Queue queue, AckReason reason, StorageManager storageManager)
-
-
Method Detail
-
rollbackRedelivery
public void rollbackRedelivery(Transaction txn, MessageReference ref, long timeBase, Map<QueueImpl,LinkedList<MessageReference>> queueMap) throws Exception
- Overrides:
rollbackRedeliveryin classRefsOperation- Throws:
Exception
-
-