Class 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

      Constructors 
      Constructor Description
      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 Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void rollbackRedelivery​(org.apache.activemq.artemis.core.transaction.Transaction txn, org.apache.activemq.artemis.core.server.MessageReference ref, long timeBase, java.util.Map<org.apache.activemq.artemis.core.server.impl.QueueImpl,​java.util.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, setLingerSession
      • Methods inherited from class org.apache.activemq.artemis.core.transaction.TransactionOperationAbstract

        afterCommit, afterPrepare, beforeCommit, beforePrepare, beforeRollback
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • 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 Detail

      • rollbackRedelivery

        public void rollbackRedelivery​(org.apache.activemq.artemis.core.transaction.Transaction txn,
                                       org.apache.activemq.artemis.core.server.MessageReference ref,
                                       long timeBase,
                                       java.util.Map<org.apache.activemq.artemis.core.server.impl.QueueImpl,​java.util.LinkedList<org.apache.activemq.artemis.core.server.MessageReference>> queueMap)
                                throws java.lang.Exception
        Overrides:
        rollbackRedelivery in class org.apache.activemq.artemis.core.server.impl.RefsOperation
        Throws:
        java.lang.Exception