Class QueueManager


  • public abstract class QueueManager
    extends Swiftlet
    The QueueManager manages queues.
    Author:
    IIT GmbH, Bremen/Germany, Copyright (c) 2000-2002, All Rights Reserved
    • Field Detail

      • multiQueueLock

        protected java.util.concurrent.locks.ReentrantLock multiQueueLock
      • useGlobalLocking

        protected boolean useGlobalLocking
    • Constructor Detail

      • QueueManager

        public QueueManager()
    • Method Detail

      • lockMultiQueue

        public void lockMultiQueue()
        Applies the global lock for multi queue transactions
      • unlockMultiQueue

        public void unlockMultiQueue()
        Releases the global lock for multi queue transactions
      • isUseGlobaLocking

        public boolean isUseGlobaLocking()
        States whether global locking should be used for multi queue transactions
        Returns:
        true/false
      • setUseGlobalLocking

        protected void setUseGlobalLocking​(boolean useGlobalLocking)
        Sets the global locking flag
        Parameters:
        useGlobalLocking - global locking flag
      • isQueueDefined

        public abstract boolean isQueueDefined​(java.lang.String queueName)
        Returns wheter a queue with that name is defined.
        Parameters:
        queueName - queue name.
        Returns:
        true/false.
      • isQueueRunning

        public abstract boolean isQueueRunning​(java.lang.String queueName)
        Returns wheter a queue with that name is running.
        Parameters:
        queueName - queue name.
        Returns:
        true/false.
      • getQueueForInternalUse

        public abstract AbstractQueue getQueueForInternalUse​(java.lang.String queueName)
        Returns the given queue (internal use only!).
        Parameters:
        queueName - queue name.
        Returns:
        queue.
      • addQueueManagerListener

        public abstract void addQueueManagerListener​(QueueManagerListener l)
        Adds a queue manager listener for all queues.
        Parameters:
        l - listener.
      • addQueueManagerListener

        public abstract void addQueueManagerListener​(java.lang.String queueName,
                                                     QueueManagerListener l)
                                              throws UnknownQueueException
        Adds a queue manager listener for a distinct queue.
        Parameters:
        queueName - queue name.
        l - listener.
        Throws:
        UnknownQueueException - if the queue is undefined.
      • removeQueueManagerListener

        public abstract void removeQueueManagerListener​(QueueManagerListener l)
        Removes a queue manager listener for all queues.
        Parameters:
        l - listener.
      • removeQueueManagerListener

        public abstract void removeQueueManagerListener​(java.lang.String queueName,
                                                        QueueManagerListener l)
                                                 throws UnknownQueueException
        Removes a queue manager listener for a distinct queue.
        Parameters:
        queueName - queue name.
        l - listener.
        Throws:
        UnknownQueueException - if the queue is undefined.
      • createTemporaryQueue

        public abstract java.lang.String createTemporaryQueue()
                                                       throws QueueException
        Create a temporary queue.
        Returns:
        queue name.
        Throws:
        QueueException - on error.
      • getDefinedQueueNames

        public abstract java.lang.String[] getDefinedQueueNames()
        Returns the defined queue names.
        Returns:
        defined queue names.
      • setQueueOutboundRedirector

        public abstract void setQueueOutboundRedirector​(java.lang.String likePredicate,
                                                        java.lang.String outboundQueueName)
                                                 throws UnknownQueueException
        Sets an outbound redirector. This maps a SQL Like predicate to a queue name. This predicate is checked on queue sender creation and, if it matches for the queue name the sender should be created for, it will redirected to the queue specified for this predicate. Example: If %@router2 is the predicate and the outbound queue name is rt$router2, a queue sender for testqueue@router2 is redirected to queue rt$router2 which is the routing queue for router2.
        Parameters:
        likePredicate - predicate.
        outboundQueueName - queue name.
        Throws:
        UnknownQueueException - if the queue is undefined.
      • setQueueInboundRedirector

        public abstract void setQueueInboundRedirector​(java.lang.String likePredicate,
                                                       java.lang.String inboundQueueName)
                                                throws UnknownQueueException
        Sets an inbound redirector. This maps a SQL Like predicate to a queue name. This predicate is checked on queue receiver creation and, if it matches for the queue name the receiver should be created for, it will redirected to the queue specified for this predicate.
        Parameters:
        likePredicate - predicate.
        outboundQueueName - queue name.
        Throws:
        UnknownQueueException - if the queue is undefined.
      • isTemporaryQueue

        public abstract boolean isTemporaryQueue​(java.lang.String queueName)
        Returns whether the queue is a temp. queue.
        Parameters:
        queueName - queue name.
        Returns:
        true/false.
      • isSystemQueue

        public abstract boolean isSystemQueue​(java.lang.String queueName)
        Returns whether the queue is a system queue.
        Parameters:
        queueName - queue name.
        Returns:
        true/false.
      • getMaxFlowControlDelay

        public abstract long getMaxFlowControlDelay()
        Returns the maximum flow control delay in milliseconds
        Returns:
        max flow control delay