You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2018/03/04 21:23:21 UTC

[29/32] qpid-site git commit: QPID-8112: Update site content for Qpid Broker-J 7.0.2

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/91891e66/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Broker.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Broker.html b/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Broker.html
new file mode 100644
index 0000000..3e6b06d
--- /dev/null
+++ b/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Broker.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html>
+<!--
+ -
+ - 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.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>4.2.&#160;Broker - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+              <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+              <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Resources</h3>
+
+            <ul>
+              <li><a href="/dashboard.html">Dashboard</a></li>
+              <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+              <li><a href="/resources.html">More resources</a></li>
+            </ul>
+          </section>
+        </div>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <a href="/search.html">More ways to search</a>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-7.0.2/index.html">Qpid Broker-J 7.0.2</a></li><li><a href="/releases/qpid-broker-j-7.0.2/book/index.html">Apache Qpid Broker-J</a></li><li>4.2.&#160;Broker</li></ul>
+
+        <div id="-middle-content">
+          <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.2.&#160;Broker</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Concepts.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;4.&#160;Concepts</th><td align="right" width="20%">&#160;<a accesskey="n" href="Java-Broker-Concepts-Virtualhost-Nodes.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-Broker"></a>4.2.&#160;Broker</h2></div></div></div><p>The <span class="emphasis"><em>Broker</em></span> is the outermost entity within the system.</p><p>The Broker is backed by storage. This storage is used to record the durable entities that exist beneath it.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Ja
 va-Broker-Concepts.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="Java-Broker-Concepts-Virtualhost-Nodes.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter&#160;4.&#160;Concepts&#160;</td><td align="center" width="20%"><a accesskey="h" href="Apache-Qpid-Broker-J-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;4.3.&#160;Virtualhost Nodes</td></tr></table></div></div>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/">Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/91891e66/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Exchanges.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Exchanges.html b/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Exchanges.html
new file mode 100644
index 0000000..4e9381d
--- /dev/null
+++ b/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Exchanges.html
@@ -0,0 +1,205 @@
+<!DOCTYPE html>
+<!--
+ -
+ - 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.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>4.6.&#160;Exchanges - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+              <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+              <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Resources</h3>
+
+            <ul>
+              <li><a href="/dashboard.html">Dashboard</a></li>
+              <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+              <li><a href="/resources.html">More resources</a></li>
+            </ul>
+          </section>
+        </div>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <a href="/search.html">More ways to search</a>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-7.0.2/index.html">Qpid Broker-J 7.0.2</a></li><li><a href="/releases/qpid-broker-j-7.0.2/book/index.html">Apache Qpid Broker-J</a></li><li>4.6.&#160;Exchanges</li></ul>
+
+        <div id="-middle-content">
+          <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.6.&#160;Exchanges</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Concepts-Virtualhosts.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;4.&#160;Concepts</th><td align="right" width="20%">&#160;<a accesskey="n" href="Java-Broker-Concepts-Queues.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-Exchanges"></a>4.6.&#160;Exchanges</h2></div></div></div><p>An <span class="emphasis"><em>Exchange</em></span> is a named entity within the <span class="emphasis"><em>Virtualhost</em></span> which receives
+  messages from producers and routes them to matching <span class="emphasis"><em>Queue</em></span>s within the <span class="emphasis"><em>Virtualhost</em></span>.</p><p>
+  When using AMQP 0-8, 0-9, 0-9-1,  or 0-10, the exchange is the only way ingressing a message into the virtualhost.  When using AMQP
+  1.0, the application may route messages using an exchange (to take advantage of exchange's routing behaviours), or it may route direcly
+  to a queue (if point to point messaging is required).
+ </p><p>The server provides a set of exchange types with each exchange type implementing a different routing algorithm. For details of how
+  these exchanges types work see <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-Types" title="4.6.2.&#160;Exchange Types">Section&#160;4.6.2, &#8220;Exchange Types&#8221;</a> below.</p><p>The server predeclares a number of exchange instances with names starting with "<code class="literal">amq.</code>". These are defined in
+  <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-Predeclared" title="4.6.1.&#160;Predeclared Exchanges">Section&#160;4.6.1, &#8220;Predeclared Exchanges&#8221;</a>.</p><p>Applications can make use of the pre-declared exchanges, or they may declare their own. The number of exchanges within a <span class="emphasis"><em>Virtualhost</em></span> is
+  limited only by resource constraints.</p><p>The behaviour when an <span class="emphasis"><em>Exchange</em></span> is unable to route a message to any queue is defined in <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage" title="4.6.4.&#160;Unrouteable Messages">Section&#160;4.6.4, &#8220;Unrouteable Messages&#8221;</a></p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Exchanges-Predeclared"></a>4.6.1.&#160;Predeclared Exchanges</h3></div></div></div><p>Each <span class="emphasis"><em>Virtualhost</em></span> pre-declares the following exchanges:
+   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>amq.direct (an instance of a direct exchange)</p></li><li class="listitem"><p>amq.topic (an instance of a topic exchange)</p></li><li class="listitem"><p>amq.fanout (an instance of a fanout exchange)</p></li><li class="listitem"><p>amq.match (an instance of a headers exchange)</p></li></ul></div><p>
+  </p><p>The conceptual "<code class="literal">default exchange</code>" always exists, effectively a special instance of
+   direct exchange which uses the empty string as its name. All queues are automatically bound to it upon their creation
+   using the queue name as the binding key, and unbound upon their deletion. It is not possible to manually add or remove
+   bindings within this exchange.</p><p>Applications may not declare exchanges with names beginning with "<code class="literal">amq.</code>". Such names are reserved for system use.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Exchanges-Types"></a>4.6.2.&#160;Exchange Types</h3></div></div></div><p>
+   The following Exchange types are supported.
+   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Direct</p></li><li class="listitem"><p>Topic</p></li><li class="listitem"><p>Fanout</p></li><li class="listitem"><p>Headers</p></li></ul></div><p>
+   These exchange types are described in the following sub-sections.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-Types-Direct"></a>4.6.2.1.&#160;Direct</h4></div></div></div><p>The direct exchange type routes messages to queues based on an exact match between
+    the routing key of the message, and the binding key used to bind the queue to the exchange. Additional
+    filter rules may be specified using a <a class="link" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-BindingArguments-JMSSelector" title="4.6.3.1.&#160;JMS Selector">
+    binding argument specifying a JMS message selector</a>.
+   </p><p>This exchange type is often used to implement point to point messaging. When used in this manner, the normal
+   convention is that the binding key matches the name of the queue. It is also possible to use this exchange type
+   for multi-cast, in this case the same binding key is associated with many queues.</p><div class="figure"><a id="d0e624"></a><p class="title"><strong>Figure&#160;4.4.&#160;Direct exchange</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Direct exchange" src="images/Exchange-Direct.png" /></div></div></div><br class="figure-break" /><p>The figure above illustrates the operation of direct exchange type. The yellow messages published with the routing key
+    "<code class="literal">myqueue</code>" match the binding key corresponding to queue "<code class="literal">myqueue</code>" and so are routed there.  The red
+    messages published with the routing key "<code class="literal">foo</code>" match two bindings in the table so a copy of the message is
+    routed to both the "<code class="literal">bar1</code>" and "<code class="literal">bar2</code>" queues.</p><p>The routing key of the blue message matches no binding keys, so the message is unroutable. It is handled as described
+     in <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage" title="4.6.4.&#160;Unrouteable Messages">Section&#160;4.6.4, &#8220;Unrouteable Messages&#8221;</a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-Types-Topic"></a>4.6.2.2.&#160;Topic</h4></div></div></div><p>This exchange type is used to support the classic publish/subscribe paradigm.</p><p>The topic exchange is capable of routing messages to queues based on wildcard matches between the routing key and the
+     binding key pattern defined by the queue binding. Routing keys are formed from one or more words, with each word delimited
+     by a full-stop (.). The pattern matching characters are the * and # symbols. The * symbol matches a single word  and the #
+     symbol matches zero or more words.</p><p>Additional filter rules may be specified using a <a class="link" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-BindingArguments-JMSSelector" title="4.6.3.1.&#160;JMS Selector">
+     binding argument specifying a JMS message selector</a>.</p><p>The following three figures help explain how the topic exchange functions.</p><p /><div class="figure"><a id="d0e666"></a><p class="title"><strong>Figure&#160;4.5.&#160;Topic exchange - exact match on topic name</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Topic exchange - exact match on topic name" src="images/Exchange-Topic.png" /></div></div></div><br class="figure-break" /><p>The figure above illustrates publishing messages with routing key "<code class="literal">weather</code>". The exchange routes each
+    message to every bound queue whose binding key matches the routing key.</p><p>In the case illustrated, this means that each subscriber's queue receives every yellow message.</p><div class="figure"><a id="d0e679"></a><p class="title"><strong>Figure&#160;4.6.&#160;Topic exchange - matching on hierarchical topic patterns</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Topic exchange - matching on hierarchical topic patterns" src="images/Exchange-Topic-Hierarchical.png" /></div></div></div><br class="figure-break" /><p>The figure above illustrates publishing messages with hierarchical routing keys. As before, the exchange routes each
+    message to every bound queue whose binding key matches the routing key but as the binding keys contain wildcards, the
+    wildcard rules described above apply.</p><p>In the case illustrated, <code class="literal">sub1</code> has received the red and green message as "<code class="literal">news.uk</code>" and "<code class="literal">news.de</code>"
+    match binding key "<code class="literal">news.#</code>". The red message has also gone to <code class="literal">sub2</code> and <code class="literal">sub3</code> as it's routing key
+    is matched exactly by "<code class="literal">news.uk</code>" and by "<code class="literal">*.uk</code>".</p><p>The routing key of the yellow message matches no binding keys, so the message is unroutable. It is handled as described
+    in <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage" title="4.6.4.&#160;Unrouteable Messages">Section&#160;4.6.4, &#8220;Unrouteable Messages&#8221;</a>.</p><div class="figure"><a id="d0e717"></a><p class="title"><strong>Figure&#160;4.7.&#160;Topic exchange - matching on JMS message selector</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Topic exchange - matching on JMS message selector" src="images/Exchange-Topic-JMSSelector.png" /></div></div></div><br class="figure-break" /><p>The figure above illustrates messages with properties published with routing key "<code class="literal">shipping</code>".</p><p>As before, the exchange routes each message to every bound queue whose binding key matches the routing key but as a JMS selector
+    argument has been specified, the expression is evaluated against each matching message. Only messages whose message header values or properties
+    match the expression are routed to the queue.</p><p>In the case illustrated, <code class="literal">sub1</code> has received the yellow and blue message as their property "<code class="literal">area</code>"
+    cause expression "<code class="literal">area in ('Forties', 'Cromarty')</code>" to evaluate true.  Similarly, the yellow message has also gone to
+    <code class="literal">gale_alert</code> as its property "<code class="literal">speed</code>" causes expression "<code class="literal">speed &gt; 7 and speed &lt; 10</code>"
+    to evaluate true.</p><p>The properties of purple message cause no expressions to evaluate true, so the message is unroutable. It is handled as described in
+    <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage" title="4.6.4.&#160;Unrouteable Messages">Section&#160;4.6.4, &#8220;Unrouteable Messages&#8221;</a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-Types-Fanout"></a>4.6.2.3.&#160;Fanout</h4></div></div></div><p>The fanout exchange type routes messages to all queues bound to the exchange, regardless of the message's routing key.</p><p>Filter rules may be specified using a <a class="link" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-BindingArguments-JMSSelector" title="4.6.3.1.&#160;JMS Selector">
+    binding argument specifying a JMS message selector</a>.</p><div class="figure"><a id="d0e764"></a><p class="title"><strong>Figure&#160;4.8.&#160;Fanout exchange</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Fanout exchange" src="images/Exchange-Fanout.png" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-Types-Headers"></a>4.6.2.4.&#160;Headers</h4></div></div></div><p>The headers exchange type routes messages to queues based on header properties within the message. The message is passed to
+     a queue if the header properties of the message satisfy the <a class="link" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-BindingArguments-x-match" title="4.6.3.2.&#160;x-match">
+     x-match expression</a> specified by the binding arguments with which the queue was bound.
+   </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Exchanges-BindingArguments"></a>4.6.3.&#160;Binding Arguments</h3></div></div></div><p>Binding arguments are used by certain exchange types to further filter messages.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-BindingArguments-JMSSelector"></a>4.6.3.1.&#160;JMS Selector</h4></div></div></div><p>The binding argument <code class="literal">x-filter-jms-selector</code> specifies a JMS selector conditional expression. The expression
+    is written in terms of message header and message property names.  If the expression evaluates to true, the message is routed to the queue.
+    This type of binding argument is understood by exchange types direct, topic and fanout.<a class="footnote" href="#ftn.d0e791" id="d0e791"><sup class="footnote">[4]</sup></a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-BindingArguments-x-match"></a>4.6.3.2.&#160;x-match</h4></div></div></div><p>The binding argument <code class="literal">x-match</code> is understood by exchange type headers.  It can take two values, dictating how the
+    rest of the name value pairs are treated during matching.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">all</code> implies that all the other pairs must match the headers property of a message for that message to be routed
+      (i.e. an AND match)</p></li><li class="listitem"><p><code class="literal">any</code> implies that the message should be routed if any of the fields in the headers property match one of the
+      fields in the arguments table (i.e. an OR match)</p></li></ul></div><p>A field in the bind arguments matches a field in the message if either the field in the bind arguments has no value and a field of the
+    same name is present in the message headers or if the field in the bind arguments has a value and a field of the same name exists in the
+    message headers and has that same value.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Exchanges-UnroutableMessage"></a>4.6.4.&#160;Unrouteable Messages</h3></div></div></div><p>If an exchange is unable to route a message to any queues, the Broker will:
+   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>If using the AMQP 1.0 protocol, and an alternate binding has been set on the exchange, the message is routed to the alternate.
+     If the message is still unroutable after considering the alternate binding, the message is discarded unless the sending link has requested the
+     <code class="literal">REJECT_UNROUTABLE</code> target capability, or the Exchange has its <code class="literal">unroutableMessageBehaviour</code> attribute set to
+     <code class="literal">REJECT</code>.</p></li><li class="listitem"><p>If using the AMQP 0-10 protocol, and an alternate binding has been set on the exchange, the message is routed to the alternate.
+     If the message is still unroutable after considering the alternate binding,the message is discarded.</p></li><li class="listitem"><p>If using AMQP protocols 0-8..0-9-1, and the publisher set the mandatory flag and the<a class="link" href="Java-Broker-Runtime-Close-Connection-When-No-Route.html" title="9.5.&#160;Closing client connections on unroutable mandatory messages">
+     close when no route</a> feature did not close the connection, the message is returned to the Producer.</p></li><li class="listitem"><p>Otherwise, the message is discarded.</p></li></ul></div><p>
+  </p></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div class="footnote" id="ftn.d0e791"><p><a class="para" href="#d0e791"><sup class="para">[4] </sup></a>
+    This is a Qpid specific extension.</p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Concepts-Virtualhosts.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="Java-Broker-Concepts-Queues.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">4.5.&#160;Virtualhosts&#160;</td><td align="center" width="20%"><a accesskey="h" href="Apache-Qpid-Broker-J-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;4.7.&#160;Queues</td></tr></table></div></div>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/">Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/91891e66/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Other-Services.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Other-Services.html b/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Other-Services.html
new file mode 100644
index 0000000..d35bbf9
--- /dev/null
+++ b/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Other-Services.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html>
+<!--
+ -
+ - 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.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>4.10.&#160;Other Services - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+              <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+              <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Resources</h3>
+
+            <ul>
+              <li><a href="/dashboard.html">Dashboard</a></li>
+              <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+              <li><a href="/resources.html">More resources</a></li>
+            </ul>
+          </section>
+        </div>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <a href="/search.html">More ways to search</a>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-7.0.2/index.html">Qpid Broker-J 7.0.2</a></li><li><a href="/releases/qpid-broker-j-7.0.2/book/index.html">Apache Qpid Broker-J</a></li><li>4.10.&#160;Other Services</li></ul>
+
+        <div id="-middle-content">
+          <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.10.&#160;Other Services</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Concepts-Authentication-Providers.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;4.&#160;Concepts</th><td align="right" width="20%">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-Other-Services"></a>4.10.&#160;Other Services</h2></div></div></div><p>
+        The Broker can also have <span class="emphasis"><em>Access Control Providers</em></span>, <span class="emphasis"><em>Group Providers</em></span>,
+        <span class="emphasis"><em>Keystores</em></span>, <span class="emphasis"><em>Trustores</em></span> and [Management] <span class="emphasis"><em>Plugins</em></span> configured.
+    </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Access-Control-Providers"></a>4.10.1.&#160;Access Control Providers</h3></div></div></div><p><span class="emphasis"><em>Access Control Providers</em></span> are used to authorize various operations relating to Broker objects.</p><p>Access Control Provider configuration and management details are covered in <a class="xref" href="Java-Broker-Security-AccessControlProviders.html" title="8.3.&#160;Access Control Providers">Section&#160;8.3, &#8220;Access Control Providers&#8221;</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Group-Providers"></a>4.10.2.&#160;Group Providers</h3></div></div></div><p><span class="emphasis"><em>Group Providers</em></span> are used to aggregate authenticated user principals into groups
+        which can be then be used in Access Control rules applicable to the whole group.</p><p>Group Provider configuration and management is covered in <a class="xref" href="Java-Broker-Security-Group-Providers.html" title="8.2.&#160;Group Providers">Section&#160;8.2, &#8220;Group Providers&#8221;</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Keystores"></a>4.10.3.&#160;Keystores</h3></div></div></div><p><span class="emphasis"><em>Keystores</em></span> are used to configure SSL private and public keys and certificates
+        for the SSL transports on Ports.</p><p>Keystore configuration and management is covered in <a class="xref" href="Java-Broker-Management-Managing-Keystores.html" title="7.11.&#160;Keystores">Section&#160;7.11, &#8220;Keystores&#8221;</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Truststores"></a>4.10.4.&#160;Truststores</h3></div></div></div><p><span class="emphasis"><em>Truststores</em></span> are used to configure SSL certificates for trusting Client Certificate
+            on SSL ports or making SSL connections to other external services like LDAP, etc.</p><p>Truststore configuration and management is covered in <a class="xref" href="Java-Broker-Management-Managing-Truststores.html" title="7.12.&#160;Truststores">Section&#160;7.12, &#8220;Truststores&#8221;</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Loggers"></a>4.10.5.&#160;Loggers</h3></div></div></div><p><span class="emphasis"><em>Loggers</em></span> are responsible for producing a log of events from either the Broker as a whole, or
+            an individual Virtualhost. These are described in <a class="xref" href="Java-Broker-Runtime.html#Java-Broker-Runtime-Logging" title="9.1.&#160;Logging">Section&#160;9.1, &#8220;Logging&#8221;</a>.</p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Concepts-Authentication-Providers.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">4.9.&#160;Authentication Providers&#160;</td><td align="center" width="20%"><a accesskey="h" href="Apache-Qpid-Broker-J-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;Chapter&#160;5.&#160;Initial Configuration</td></tr></table></div></div>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/">Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/91891e66/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Ports.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Ports.html b/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Ports.html
new file mode 100644
index 0000000..1396f97
--- /dev/null
+++ b/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Ports.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html>
+<!--
+ -
+ - 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.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>4.8.&#160;Ports - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+              <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+              <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Resources</h3>
+
+            <ul>
+              <li><a href="/dashboard.html">Dashboard</a></li>
+              <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+              <li><a href="/resources.html">More resources</a></li>
+            </ul>
+          </section>
+        </div>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <a href="/search.html">More ways to search</a>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-7.0.2/index.html">Qpid Broker-J 7.0.2</a></li><li><a href="/releases/qpid-broker-j-7.0.2/book/index.html">Apache Qpid Broker-J</a></li><li>4.8.&#160;Ports</li></ul>
+
+        <div id="-middle-content">
+          <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.8.&#160;Ports</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Concepts-Queues.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;4.&#160;Concepts</th><td align="right" width="20%">&#160;<a accesskey="n" href="Java-Broker-Concepts-Authentication-Providers.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-Ports"></a>4.8.&#160;Ports</h2></div></div></div><p> The Broker supports configuration of <span class="emphasis"><em>Ports</em></span> to specify the particular
+        AMQP messaging and HTTP management connectivity it offers for use. </p><p> Each Port is configured with the particular <span class="emphasis"><em>Protocols</em></span> and
+            <span class="emphasis"><em>Transports</em></span> it supports, as well as the <span class="emphasis"><em>Authentication
+            Provider</em></span> to be used to authenticate connections. Where SSL is in use, the
+            <span class="emphasis"><em>Port</em></span> configuration also defines which <span class="emphasis"><em>Keystore</em></span>
+        to use and (where supported) which <span class="emphasis"><em>TrustStore(s)</em></span> and whether Client
+        Certificates should be requested/required. </p><p> Different <span class="emphasis"><em>Ports</em></span> can support different protocols, and many
+            <span class="emphasis"><em>Ports</em></span> can be configured on the Broker.</p><p> The following AMQP protocols are currently supported by the Broker: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>AMQP 0-8</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>AMQP 0-9</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>AMQP 0-9-1</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>AMQP 0-10</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>AMQP 1.0</em></span></p></li></ul></div><p>
+    </p><p> Additionally, HTTP ports can be configured for use by the associated management
+        plugin. </p><p>This diagram explains how Ports, <a class="link" href="Java-Broker-Concepts-Authentication-Providers.html" title="4.9.&#160;Authentication Providers">Authentication Providers</a>
+        and an Access Control Provider work together to allow an application to form a connection to
+        a Virtualhost.</p><div class="figure"><a id="d0e1296"></a><p class="title"><strong>Figure&#160;4.9.&#160;Control flow during Authentication</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Control flow during Authentication" src="images/Broker-PortAuthFlow.png" /></div></div></div><p><br class="figure-break" /></p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Concepts-Queues.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="Java-Broker-Concepts-Authentication-Providers.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">4.7.&#160;Queues&#160;</td><td align="center" width="20%"><a accesskey="h" href="Apache-Qpid-Broker-J-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;4.9.&#160;Au
 thentication Providers</td></tr></table></div></div>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/">Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/91891e66/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Queues.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Queues.html b/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Queues.html
new file mode 100644
index 0000000..3a2f0cb
--- /dev/null
+++ b/content/releases/qpid-broker-j-7.0.2/book/Java-Broker-Concepts-Queues.html
@@ -0,0 +1,322 @@
+<!DOCTYPE html>
+<!--
+ -
+ - 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.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>4.7.&#160;Queues - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+              <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+              <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Resources</h3>
+
+            <ul>
+              <li><a href="/dashboard.html">Dashboard</a></li>
+              <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+              <li><a href="/resources.html">More resources</a></li>
+            </ul>
+          </section>
+        </div>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <a href="/search.html">More ways to search</a>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-7.0.2/index.html">Qpid Broker-J 7.0.2</a></li><li><a href="/releases/qpid-broker-j-7.0.2/book/index.html">Apache Qpid Broker-J</a></li><li>4.7.&#160;Queues</li></ul>
+
+        <div id="-middle-content">
+          <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.7.&#160;Queues</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Concepts-Exchanges.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;4.&#160;Concepts</th><td align="right" width="20%">&#160;<a accesskey="n" href="Java-Broker-Concepts-Ports.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-Queues"></a>4.7.&#160;Queues</h2></div></div></div><p><span class="emphasis"><em>Queue</em></span>s are named entities within a <a class="link" href="Java-Broker-Concepts-Virtualhosts.html" title="4.5.&#160;Virtualhosts">Virtualhost</a> that
+     hold/buffer messages for later delivery to consumer applications.</p><p>Messages arrive on queues either from <a class="link" href="Java-Broker-Concepts-Exchanges.html" title="4.6.&#160;Exchanges">Exchanges</a>, or when
+     using the AMQP 1.0 protocol, the producing application can direct messages straight to the queue.  For
+     AMQP 0-8, 0-9, 0-9-1,  or 0-10, the exchange is the only way ingressing a message into a queue.</p><p>Consumers subscribe to a queue in order to receive messages from it.</p><p>The Broker supports different queue types, each with different delivery semantics.  Queues also have a range of other
+   features such as the ability to group messages together for delivery to a single consumer.  These additional features
+   are described below too.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queues-Types"></a>4.7.1.&#160;Types</h3></div></div></div><p>The Broker supports four different queue types, each with different delivery semantics.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-Standard" title="4.7.1.1.&#160;Standard">Standard</a> - a simple First-In-First-Out (FIFO) queue</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-Priority" title="4.7.1.2.&#160;Priority">Priority</a> - delivery order depends on the priority of each message</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-Sorted" title="4.7.1.3.&#160;Sorted Queues">Sorted</a> -
+            delivery order depends on the value of the sorting key property in each message</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-LVQ" title="4.7.1.4.&#160;Last Value Queues (LVQ)">Last Value
+              Queue</a> - also known as an LVQ, retains only the last (newest) message received
+            with a given LVQ key value</p></li></ul></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-Standard"></a>4.7.1.1.&#160;Standard</h4></div></div></div><p>A simple First-In-First-Out (FIFO) queue</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-Priority"></a>4.7.1.2.&#160;Priority</h4></div></div></div><p>In a priority queue, messages on the queue are delivered in an order determined by the
+          <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSPriority()" target="_top">JMS priority message
+          header</a> within the message. By default Qpid supports the 10 priority levels
+        mandated by JMS, with priority value 0 as the lowest priority and 9 as the highest. </p><p>It is possible to reduce the effective number of priorities if desired.</p><p>JMS defines the <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#DEFAULT_PRIORITY" target="_top">
+          default message priority</a> as 4. Messages sent without a specified priority use this
+        default. </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-Sorted"></a>4.7.1.3.&#160;Sorted Queues</h4></div></div></div><p>Sorted queues allow the message delivery order to be determined by value of an arbitrary
+          <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getStringProperty()" target="_top">JMS message
+          property</a>. Sort order is alpha-numeric and the property value must have a type
+        java.lang.String.</p><p>Messages sent to a sorted queue without the specified JMS message property will be
+        put at the head of the queue.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-LVQ"></a>4.7.1.4.&#160;Last Value Queues (LVQ)</h4></div></div></div><p>LVQs (or conflation queues) are special queues that automatically discard any message
+        when a newer message arrives with the same key value. The key is specified by arbitrary
+          <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getPropertyNames()" target="_top">JMS message
+          property</a>.</p><p>An example of an LVQ might be where a queue represents prices on a stock exchange: when
+        you first consume from the queue you get the latest quote for each stock, and then as new
+        prices come in you are sent only these updates. </p><p>Like other queues, LVQs can either be browsed or consumed from. When browsing an
+        individual subscriber does not remove the message from the queue when receiving it. This
+        allows for many subscriptions to browse the same LVQ (i.e. you do not need to create and
+        bind a separate LVQ for each subscriber who wishes to receive the contents of the
+        LVQ).</p><p>Messages sent to an LVQ without the specified property will be delivered as normal and
+        will never be "replaced".</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queues-Message-Grouping"></a>4.7.2.&#160;Messaging Grouping</h3></div></div></div><p> The broker allows messaging applications to classify a set of related messages as
+      belonging to a group. This allows a message producer to indicate to the consumer that a group
+      of messages should be considered a single logical operation with respect to the application. </p><p> The broker can use this group identification to enforce policies controlling how messages
+      from a given group can be distributed to consumers. For instance, the broker can be configured
+      to guarantee all the messages from a particular group are processed in order across multiple
+      consumers. </p><p> For example, assume we have a shopping application that manages items in a virtual
+      shopping cart. A user may add an item to their shopping cart, then change their mind and
+      remove it. If the application sends an <span class="emphasis"><em>add</em></span> message to the broker,
+      immediately followed by a <span class="emphasis"><em>remove</em></span> message, they will be queued in the
+      proper order - <span class="emphasis"><em>add</em></span>, followed by <span class="emphasis"><em>remove</em></span>. </p><p> However, if there are multiple consumers, it is possible that once a consumer acquires
+      the <span class="emphasis"><em>add</em></span> message, a different consumer may acquire the
+        <span class="emphasis"><em>remove</em></span> message. This allows both messages to be processed in parallel,
+      which could result in a "race" where the <span class="emphasis"><em>remove</em></span> operation is incorrectly
+      performed before the <span class="emphasis"><em>add</em></span> operation. </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-GroupingMessages"></a>4.7.2.1.&#160;Grouping Messages</h4></div></div></div><p>In order to group messages, JMS applications can set the JMS standard header
+            <code class="literal">JMSXGroupId</code> to specify the <span class="emphasis"><em>group identifier</em></span>
+            when publishing messages.
+        </p><p>Alternatively, the application may designate a particular message header
+            as containing a message's <span class="emphasis"><em>group identifier</em></span>. The group identifier stored
+            in that header field would be a string value set by the message producer. Messages from the
+            same group would have the same group identifier value. The key that identifies the header
+            must also be known to the message consumers. This allows the consumers to determine a
+            message's assigned group.
+        </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-BrokerRole"></a>4.7.2.2.&#160; The Role of the Broker in Message Grouping </h4></div></div></div><p> The broker will apply the following processing on each grouped message: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Enqueue a received message on the destination queue.</p></li><li class="listitem"><p>Determine the message's group by examining the message's group identifier
+              header.</p></li><li class="listitem"><p>Enforce <span class="emphasis"><em>consumption ordering</em></span> among messages belonging to the
+              same group. <span class="emphasis"><em>Consumption ordering</em></span> means one of two things
+              depending on how the queue has been configured. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p> In default mode, a group gets assigned to a single consumer for the lifetime
+                  of that consumer, and the broker will pass all subsequent messages in the group to
+                  that consumer. </p></li><li class="listitem"><p>In 'shared groups' mode (which gives the same behaviour as the Qpid C++
+                  Broker) the broker enforces a looser guarantee, namely that all the
+                    <span class="emphasis"><em>currently unacknowledged messages</em></span> in a group are sent to
+                  the same consumer, but the consumer used may change over time even if the
+                  consumers do not. This means that only one consumer can be processing messages
+                  from a particular group at any given time, however if the consumer acknowledges
+                  all of its acquired messages then the broker <span class="emphasis"><em>may</em></span> pass the
+                  next pending message in that group to a different consumer. </p></li></ul></div></li></ul></div><p>
+      </p><p> The absence of a value in the designated group header field of a message is treated as
+        follows: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> In default mode, failure for a message to specify a group is treated as a desire
+              for the message not to be grouped at all. Such messages will be distributed to any
+              available consumer, without the ordering guarantees imposed by grouping. </p></li><li class="listitem"><p> In 'shared groups' mode (which gives the same behaviour as the Qpid C++ Broker)
+              the broker assigns messages without a group value to a 'default group'. Therefore, all
+              such "unidentified" messages are considered by the broker as part of the same group,
+              which will handled like any other group. The name of this default group is
+              "qpid.no-group", although it can be customised as detailed below. </p></li></ul></div><p>
+      </p><p> Note that message grouping has no effect on queue browsers.</p><p> Note well that distinct message groups would not block each other from delivery. For
+        example, assume a queue contains messages from two different message groups - say group "A"
+        and group "B" - and they are enqueued such that "A"'s messages are in front of "B". If the
+        first message of group "A" is in the process of being consumed by a client, then the
+        remaining "A" messages are blocked, but the messages of the "B" group are available for
+        consumption by other consumers - even though it is "behind" group "A" in the queue. </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queue-EnsureNonDestructiveConsumers"></a>4.7.3.&#160;Forcing all consumers to be non-destructive</h3></div></div></div><p>When a consumer attaches to a queue, the normal behaviour is that messages are
+          sent to that consumer are acquired exclusively by that consumer, and when the consumer
+          acknowledges them, the messages are removed from the queue.</p><p>Another common pattern is to have queue "browsers" which send all messages to the
+          browser, but do not prevent other consumers from receiving the messages, and do not
+          remove them from the queue when the browser is done with them.  Such a browser is an
+          instance of a "non-destructive" consumer.</p><p>If every consumer on a queue is non destructive then we can obtain some interesting
+          behaviours. In the case of a LVQ
+           then the queue will always contain the most up to date value for every key. For
+          a standard queue, if every consumer is non-destructive then we have something that
+          behaves like a topic (every consumer receives every message) except that instead of
+          only seeing messages that arrive after the point at which the consumer is created, all
+          messages which have not been removed due to TTL expiry (or, in the case of LVQs,
+          overwirtten by newer values for the same key).</p><p>A queue can be created to enforce all consumers are non-destructive.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1051"></a>4.7.3.1.&#160;Bounding size using min/max TTL</h4></div></div></div><p>For queues other than LVQs, having only non-destructive consumers could mean that
+            messages would never get deleted, leaving the queue to grow unconstrainedly. To
+            prevent this you can use the ability to set the maximum TTL of the queue. To ensure
+            all messages have the same TTL you could also set the minimum TTL to the same value.
+        </p><p>Minimum/Maximum TTL for a queue can be set though the HTTP Management UI, using the
+            REST API. The attribute names are <code class="varname">minimumMessageTtl</code> and
+            <code class="varname">maximumMessageTtl</code> and the TTL value is given in milliseconds.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1064"></a>4.7.3.2.&#160;Choosing to receive messages based on arrival time</h4></div></div></div><p>A queue with no destructive consumers will retain all messages until they expire
+            due to TTL. It may be the case that a consumer only wishes to receive messages
+            that have been sent in the last 60 minutes, and any new messages that arrive, or
+            alternatively it may wish only to receive newly arriving messages and not any that
+            are already in the queue. This can be achieved by using a filter on the arrival
+            time.</p><p>A special parameter <code class="varname">x-qpid-replay-period</code> can be used in the
+            consumer declaration to control the messages the consumer wishes to receive. The
+            value of <code class="varname">x-qpid-replay-period</code> is the time, in seconds, for which
+            the consumer wishes to see messages. A replay period of 0 indicates only newly
+            arriving messages should be sent. A replay period of 3600 indicates that only
+            messages sent in the last hour - along with any newly arriving messages - should be
+            sent.</p><p>When using the Qpid JMS AMQP 0-x, the consumer declaration can be hinted using the
+            address.</p><div class="table"><a id="d0e1079"></a><p class="title"><strong>Table&#160;4.1.&#160;Setting the replay period using a Qpid JMS AMQP 0-x address</strong></p><div class="table-contents"><table border="1" summary="Setting the replay period using a Qpid JMS AMQP 0-x address"><colgroup><col /><col /></colgroup><thead><tr><th>Syntax</th><th>Example</th></tr></thead><tbody><tr><td>Addressing</td><td>myqueue : { link : { x-subscribe: { arguments : { x-qpid-replay-period : '3600' } } } }</td></tr><tr><td>Binding URL</td><td>direct://amq.direct/myqueue/myqueue?x-qpid-replay-period='3600'</td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1100"></a>4.7.3.3.&#160;Setting a default filter</h4></div></div></div><p>A common case might be that the desired default behaviour is that newly attached consumers
+            see only newly arriving messages (i.e. standard topic-like behaviour) but other consumers
+            may wish to start their message stream from some point in the past. This can be achieved by
+            setting a default filter on the queue so that consumers which do not explicitly set a replay
+            period get a default (in this case the desired default would be 0).</p><p>The default filter set for a queue can be set via the REST API using the attribute named
+            <code class="varname">defaultFilters</code>. This value is a map from filter name to type and arguments.
+            To set the default behaviour for the queue to be that consumers only receive newly arrived
+            messages, then you should set this attribute to the value:</p><pre class="screen">
+            { "x-qpid-replay-period" : { "x-qpid-replay-period" : [ "0" ] } }
+        </pre><p>
+            If the desired default behaviour is that each consumer should see all messages arriving in
+            the last minute, as well as all new messages then the value would need to be:</p><pre class="screen">
+            { "x-qpid-replay-period" : { "x-qpid-replay-period" : [ "60" ] } }
+        </pre></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queue-HoldingEntries"></a>4.7.4.&#160;Holding messages on a Queue</h3></div></div></div><p>Sometimes it is required that while a message has been placed on a queue, it is not released to consumers
+            until some external condition is met. </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1121"></a>4.7.4.1.&#160;Hold until valid</h4></div></div></div><p>Currently Queues support the "holding" of messages until a (per-message) provided point in time.
+                By default this support is not enabled (since it requires extra work to be performed against every
+                message entering the queue.  To enable support, the attribute <code class="varname">holdOnPublishEnabled</code>
+                must evaluate to true for the Queue.  When enabled messages on the queue will be checked for the header
+                (for AMQP 0-8, 0-9, 0-9-1 and 0-10 messages) or message annotation (for AMQP 1.0 messages)
+                <code class="varname">x-qpid-not-valid-before</code>. If this header/annotation exists and contains a numeric value,
+                it will be treated as a point in time given in milliseconds since the UNIX epoch.  The message will not
+                be released from the Queue to consumers until this time has been reached.
+            </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queue-OverflowPolicy"></a>4.7.5.&#160;Controlling Queue Size</h3></div></div></div><p>
+            <span class="emphasis"><em>Overflow Policy</em></span>
+            can be configured on an individual <span class="emphasis"><em>Queue</em></span> to limit the queue size.  The size
+            can be expressed in terms of a <span class="emphasis"><em>maximum number of bytes</em></span> and/or
+            <span class="emphasis"><em>maximum number of messages</em></span>.
+            The <span class="emphasis"><em>Overflow Policy</em></span> defines the Queue behaviour when any of the limits is reached.
+        </p><p>
+            The following <span class="emphasis"><em>Overflow Policies</em></span> are supported:
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+                        <span class="emphasis"><em>None</em></span>
+                        - Queue is unbounded and the capacity limits are not applied.
+                        This is a default policy applied implicitly when policy is not set explicitly.
+                    </p></li><li class="listitem"><p>
+                        <span class="emphasis"><em>Ring</em></span>
+                        - If a newly arriving message takes the queue over a limit, message(s) are
+                        deleted from the queue until the queue falls within its limit again.  When deleting
+                        messages, the oldest messages are deleted first.  For a
+                        <a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-Priority" title="4.7.1.2.&#160;Priority">Priority Queue</a>
+                        the oldest messages with lowest priorities are removed.
+                    </p></li><li class="listitem"><p>
+                        <span class="emphasis"><em>Producer Flow Control</em></span>
+                        -The producing sessions
+                        are blocked until queue depth falls below the <span class="emphasis"><em>resume threshold</em></span> set as a
+                        context variable <span class="emphasis"><em>${queue.queueFlowResumeLimit}</em></span>
+                        (specifying the percentage from the limit values. Default is 80%).
+                    </p></li><li class="listitem"><p>
+                        <span class="emphasis"><em>Flow to Disk</em></span>
+                        -If the queue breaches a limit, newly arriving messages are written to disk and the in-memory
+                        representation of the message is minimised. The Broker will transparently retrieve messages
+                        from disk as they are required by a consumer or management.  The flow to disk policy does not
+                        actually restrict the overall size of the queue, merely the space occupied in memory.
+                        The Broker's other <a class="link" href="Java-Broker-Runtime-Flow-To-Disk.html" title="9.6.&#160;Flow to Disk">Flow to Disk feature</a>
+                        operates completely independent of this Queue Overflow Policy.
+                    </p></li><li class="listitem"><p>
+                        <span class="emphasis"><em>Reject</em></span>
+                        -A newly arriving message is rejected when queue limit is breached.
+                    </p></li></ul></div><p>
+        </p><p>
+            A negative value for <span class="emphasis"><em>maximum number of messages</em></span> or
+            <span class="emphasis"><em>maximum number of bytes</em></span> disables the limit.
+        </p><p>
+            The Broker issues Operational log messages when the queue sizes are breached.  These are documented
+            at <a class="xref" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-List-Queue" title="Table&#160;C.6.&#160;Queue Log Messages">Table&#160;C.6, &#8220;Queue Log Messages&#8221;</a>.
+        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queues-SetLowPrefetch"></a>4.7.6.&#160;Using low pre-fetch with special queue types</h3></div></div></div><p>Messaging clients may buffered messages for performance reasons.  In Qpid, this is commonly known as
+            <span class="emphasis"><em>pre-fetch</em></span></p><p>When using some of the messaging features described on this section, using prefetch can give
+            unexpected behaviour. Once the broker has sent a message to the client its delivery order is then fixed,
+            regardless of the special behaviour of the queue. </p><p>For example, if using a priority queue and a prefetch of 100, and 100 messages arrive with
+            priority 2, the broker will send these messages to the client. If then a new message arrives
+            with priority 1, the broker cannot leap frog messages of lower priority. The priority 1 will
+            be delivered at the front of the next batch of messages to be sent to the client.</p><p>Using pre-fetch of 1 will give exact queue-type semantics as perceived by the
+            client however, this brings a performance cost. You could test with a slightly higher
+            pre-fetch to trade-off between throughput and exact semantics.</p><p>See the messaging client documentation for details of how to configure prefetch.</p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Concepts-Exchanges.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="Java-Broker-Concepts-Ports.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">4.6.&#160;Exchanges&#160;</td><td align="center" width="20%"><a accesskey="h" href="Apache-Qpid-Broker-J-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;4.8.&#160;Ports</td></tr></table></div></div>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/">Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org