Class QueueTransaction

  • All Implemented Interfaces:
    Recyclable
    Direct Known Subclasses:
    QueuePullTransaction, QueuePushTransaction

    public abstract class QueueTransaction
    extends java.lang.Object
    implements Recyclable
    Abstract base class for queue transactions.
    Author:
    IIT GmbH, Bremen/Germany, Copyright (c) 2000-2002, All Rights Reserved
    • Constructor Detail

      • QueueTransaction

        public QueueTransaction()
    • Method Detail

      • isDoRollbackOnClose

        public boolean isDoRollbackOnClose()
      • setDoRollbackOnClose

        public void setDoRollbackOnClose​(boolean doRollbackOnClose)
      • setRecycleIndex

        public void setRecycleIndex​(int recycleIndex)
        Specified by:
        setRecycleIndex in interface Recyclable
      • reset

        public void reset()
        Specified by:
        reset in interface Recyclable
      • getQueueName

        public java.lang.String getQueueName()
        Returns the queue name of the underlying queue
        Returns:
        queue name
      • getQueue

        protected AbstractQueue getQueue()
        Returns the queue
        Returns:
        the queue
      • isQueueRunning

        public boolean isQueueRunning()
      • isTemporaryQueue

        public boolean isTemporaryQueue()
      • rollback

        public abstract void rollback​(XidImpl globalTransactionId,
                                      boolean setRedelivered)
                               throws QueueException,
                                      QueueTransactionClosedException
        Rolls back the transaction with the given transaction id, eventually prepared under a global transaction id. If the flag setRedelivered is set then the JMS properties for redelivery and delivery count of messages pulled within this transaction are updated.
        Parameters:
        globalTransactionId - global transaction id
        setRedelivered - specifies JMS redelivery setting
        Throws:
        QueueException - on error
        QueueTransactionClosedException
      • isClosed

        public boolean isClosed()
        Returns the transaction state
        Returns:
        true or false
      • isPrepared

        public boolean isPrepared()
        Returns the prepared state
        Returns:
        true or false
      • lockQueue

        public void lockQueue()
        Locks this queue and holds it until unlockQueue is called.
      • unlockQueue

        public void unlockQueue​(boolean markAsyncActive)
        Unlocks this queue.
        Parameters:
        markAsyncActive - blocks queue as async is active
      • unmarkAsyncActive

        public void unmarkAsyncActive()
        Unblocks this queue from async active
      • getCompositeStoreTransaction

        public CompositeStoreTransaction getCompositeStoreTransaction()
        Returns the current composite store transaction
        Returns:
        composite transaction
      • setCompositeStoreTransaction

        public void setCompositeStoreTransaction​(CompositeStoreTransaction ct)
        Sets a CompositeStoreTransaction to be used as the current transaction. At the same time it disables prepare/commit/rollback calls inside this queue so that multiple queues can use the same transaction and prepare/commit/rollback is done outside.
        Parameters:
        ct - composite transaction