blob: 7a60bcc5aab48beabcfbbfd762bb1b1a45f24f70 [file] [log] [blame]
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Java-Broker-Management-Managing-Queues">
<title>Queues</title>
<para><link linkend="Java-Broker-Concepts-Queues">Queues</link> are named entities that
hold/buffer messages for later delivery to consumer applications.</para>
<para>Queues can be managed using the HTTP or AMQP channels.</para>
<section xml:id="Java-Broker-Management-Managing-Queues-Types">
<title>Types</title>
<para>The Broker supports four different queue types, each with different delivery semantics.<itemizedlist>
<listitem>
<para><link linkend="Java-Broker-Concepts-Queues-Types-Standard">Standard</link> - a simple First-In-First-Out (FIFO) queue</para>
</listitem>
<listitem>
<para><link linkend="Java-Broker-Concepts-Queues-Types-Priority">Priority</link> - delivery order depends on the priority of each message</para>
</listitem>
<listitem>
<para><link linkend="Java-Broker-Concepts-Queues-Types-Sorted">Sorted</link> -
delivery order depends on the value of the sorting key property in each message</para>
</listitem>
<listitem>
<para><link linkend="Java-Broker-Concepts-Queues-Types-LVQ">Last Value
Queue</link> - also known as an LVQ, retains only the last (newest) message received
with a given LVQ key value</para>
</listitem>
</itemizedlist></para>
</section>
<section xml:id="Java-Broker-Management-Managing-Queues-Attributes">
<title>Attributes</title>
<para><itemizedlist>
<listitem>
<para><emphasis>Name of the queue</emphasis>. Message consumers and browsers refer to this
name when they wish to subscribe to queue to receive messages from it.</para>
</listitem>
<listitem>
<para><emphasis>Type of the queue</emphasis>. Can be either <link linkend="Java-Broker-Concepts-Queues-Types-Standard">standard</link>, <link linkend="Java-Broker-Concepts-Queues-Types-Priority">priority</link>, <link linkend="Java-Broker-Concepts-Queues-Types-Sorted">sorted</link>, or <link linkend="Java-Broker-Concepts-Queues-Types-LVQ">lvq</link>.</para>
</listitem>
<listitem>
<para><emphasis>Durable</emphasis>. Whether the queue survives a restart. Messages on a
non durable queue do not survive a restart even if they are marked persistent.</para>
</listitem>
<listitem>
<para><emphasis>Maximum/Minimum TTL</emphasis>. 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.
</para>
<para>Changing these values affects only new arrivals, existing messages already on the
queue are not affected.</para>
</listitem>
<listitem>
<para><emphasis>Message persistent override</emphasis>. 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. </para>
</listitem>
<listitem>
<para><emphasis>Overflow policy</emphasis>. 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 <xref linkend="Java-Broker-Concepts-Queue-OverflowPolicy"/>.</para>
</listitem>
<listitem>
<para><emphasis>Alerting Thresholds</emphasis>. 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 <xref linkend="Java-Broker-Appendix-Queue-Alerts"/></para>
</listitem>
<listitem>
<para><emphasis>Message Groups</emphasis>. See <xref linkend="Java-Broker-Concepts-Queues-Message-Grouping"/></para>
</listitem>
<listitem>
<para><emphasis>maximumDeliveryAttempts</emphasis>. See <xref linkend="Java-Broker-Runtime-Handling-Undeliverable-Messages"/></para>
</listitem>
<listitem>
<para><emphasis>alternateBinding</emphasis>. Provides an alternate destination that will be used when the
number of delivery attempts exceeds the <emphasis>maximumDeliveryAttempts</emphasis> configured on this
queue. Messages are also routed to this destination if this queue is deleted.</para>
</listitem>
</itemizedlist></para>
</section>
<section xml:id="Java-Broker-Management-Managing-Queue-Lifecycle">
<title>Lifecycle</title>
<para>Not supported</para>
</section>
</section>