Menu Search

7.7. Queues

Queues are named entities that hold/buffer messages for later delivery to consumer applications.

Queues can be managed using the HTTP or AMQP channels.

7.7.1. Types

The Broker supports four different queue types, each with different delivery semantics.

  • Standard - a simple First-In-First-Out (FIFO) queue

  • Priority - delivery order depends on the priority of each message

  • Sorted - delivery order depends on the value of the sorting key property in each message

  • Last Value Queue - also known as an LVQ, retains only the last (newest) message received with a given LVQ key value

7.7.2. Attributes

  • Name of the queue. Message consumers and browsers refer to this name when they wish to subscribe to queue to receive messages from it.

  • Type of the queue. Can be either standard, priority, sorted, or lvq.

  • Durable. Whether the queue survives a restart. Messages on a non durable queue do not survive a restart even if they are marked persistent.

  • Maximum/Minimum TTL. Defines a maximum and minimum time-to-live (TTL). Messages arriving with TTL larger than the maximum (including those with no TTL at all, which are considered to have a TTL of infinity) will be overridden by the maximum. Similarly, messages arriving with TTL less than the minimum, will be overridden by the minimum.

    Changing these values affects only new arrivals, existing messages already on the queue are not affected.

  • Message persistent override. Allow message persistent settings of incoming messages to be overridden. Changing this value affects only new arrivals, existing messages on the queue are not affected.

  • Overflow policy. Queues have the ability to limit the of the cumulative size of all the messages contained within the store. This feature is described in detail Section 4.7.5, “Controlling Queue Size”.

  • Alerting Thresholds. Queues have the ability to alert on a variety of conditions: total queue depth exceeded a number or size, message age exceeded a threshold, message size exceeded a threshold. These thresholds are soft. See Appendix E, Queue Alerts

  • Message Groups. See Section 4.7.2, “Messaging Grouping”

  • maximumDeliveryAttempts. See Section 9.4, “Handing Undeliverable Messages”

  • alternateBinding. Provides an alternate destination that will be used when the number of delivery attempts exceeds the maximumDeliveryAttempts configured on this queue. Messages are also routed to this destination if this queue is deleted.

7.7.3. Lifecycle

Not supported