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:
org.apache.activemq.artemis.core.transaction.TransactionOperation
public class ProtonTransactionRefsOperation
extends org.apache.activemq.artemis.core.server.impl.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
ConstructorsConstructorDescriptionProtonTransactionRefsOperation(org.apache.activemq.artemis.core.server.Queue queue, org.apache.activemq.artemis.core.server.impl.AckReason reason, org.apache.activemq.artemis.core.persistence.StorageManager storageManager) -
Method Summary
Modifier and TypeMethodDescriptionvoidrollbackRedelivery(org.apache.activemq.artemis.core.transaction.Transaction txn, org.apache.activemq.artemis.core.server.MessageReference ref, long timeBase, Map<org.apache.activemq.artemis.core.server.impl.QueueImpl, LinkedList<org.apache.activemq.artemis.core.server.MessageReference>> queueMap) Methods inherited from class org.apache.activemq.artemis.core.server.impl.RefsOperation
afterCommit, afterRollback, getLingerMessages, getListOnConsumer, getReferencesToAcknowledge, getRelatedMessageReferences, isDelivering, setDelivering, setIgnoreRedeliveryCheck, setLingerSessionMethods inherited from class org.apache.activemq.artemis.core.transaction.TransactionOperationAbstract
afterCommit, afterPrepare, beforeCommit, beforePrepare, beforeRollback
-
Constructor Details
-
ProtonTransactionRefsOperation
public ProtonTransactionRefsOperation(org.apache.activemq.artemis.core.server.Queue queue, org.apache.activemq.artemis.core.server.impl.AckReason reason, org.apache.activemq.artemis.core.persistence.StorageManager storageManager)
-
-
Method Details
-
rollbackRedelivery
public void rollbackRedelivery(org.apache.activemq.artemis.core.transaction.Transaction txn, org.apache.activemq.artemis.core.server.MessageReference ref, long timeBase, Map<org.apache.activemq.artemis.core.server.impl.QueueImpl, LinkedList<org.apache.activemq.artemis.core.server.MessageReference>> queueMap) throws Exception - Overrides:
rollbackRedeliveryin classorg.apache.activemq.artemis.core.server.impl.RefsOperation- Throws:
Exception
-