Interface Consumer

All Superinterfaces:
PriorityAware
All Known Subinterfaces:
Bridge, ServerConsumer
All Known Implementing Classes:
BridgeImpl, ClusterConnectionBridge, Redistributor, ServerConsumerImpl

public interface Consumer extends PriorityAware
  • Method Details

    • supportsDirectDelivery

      default boolean supportsDirectDelivery()
      Whether this Consumer supports direct delivery.
      See Also:
    • 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

      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()
    • debug

      String debug()
    • 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
    • disconnect

      void disconnect()
      disconnect the consumer
    • failed

      void failed(Throwable t)
    • sequentialID

      long sequentialID()
      an unique sequential ID for this consumer
    • getPriority

      default int getPriority()
      Specified by:
      getPriority in interface PriorityAware
    • errorProcessing

      default void errorProcessing(Throwable e, MessageReference reference)