Interface Consumer

    • Method Detail

      • handle

        HandleStatus handle​(MessageReference reference)
                     throws Exception
        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 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

        Parameters:
        reference -
        Returns:
        Throws:
        Exception
      • promptDelivery

        default void promptDelivery()
        wakes up internal threads to deliver more messages
      • isClosed

        default boolean isClosed()
      • proceedDeliver

        void proceedDeliver​(MessageReference reference)
                     throws Exception
        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
        Throws:
        Exception
      • getBinding

        default Binding getBinding()
      • getFilter

        Filter getFilter()
      • getDeliveringMessages

        List<MessageReference> getDeliveringMessages()
        Returns:
        the list of messages being delivered
      • toManagementString

        String toManagementString()
        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
        Returns:
      • disconnect

        void disconnect()
        disconnect the consumer
      • sequentialID

        long sequentialID()
        an unique sequential ID for this consumer