Class Redistributor

    • Method Detail

      • sequentialID

        public long sequentialID()
        Description copied from interface: Consumer
        an unique sequential ID for this consumer
        Specified by:
        sequentialID in interface Consumer
      • toManagementString

        public String toManagementString()
        Description copied from interface: Consumer
        This method will create a string representation meant for management operations. This is different from the toString method that's meant for debugging and will contain information that regular users won't understand well
        Specified by:
        toManagementString in interface Consumer
        Returns:
      • disconnect

        public void disconnect()
        Description copied from interface: Consumer
        disconnect the consumer
        Specified by:
        disconnect in interface Consumer
      • start

        public void start()
      • close

        public void close()
      • handle

        public HandleStatus handle​(MessageReference reference)
                            throws Exception
        Description copied from interface: Consumer
        There was a change on semantic during 2.3 here.
        We now first accept the message, and the actual deliver is done as part of Consumer.proceedDeliver(MessageReference). This is to avoid holding a lock on the queues while the delivery is being accomplished To avoid a lock on the queue in case of misbehaving consumers.

        This should return busy if handle is called before proceed deliver is called

        Specified by:
        handle in interface Consumer
        Returns:
        Throws:
        Exception
      • proceedDeliver

        public void proceedDeliver​(MessageReference ref)
        Description copied from interface: Consumer
        This will proceed with the actual delivery. Notice that handle should hold a readLock and proceedDelivery should release the readLock any lock operation on Consumer should also get a writeLock on the readWriteLock to guarantee there are no pending deliveries
        Specified by:
        proceedDeliver in interface Consumer