http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Backup-And-Recovery.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Backup-And-Recovery.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Backup-And-Recovery.html.in
new file mode 100644
index 0000000..c4d9945
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Backup-And-Recovery.html.in
@@ -0,0 +1,4 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">Chapter&#160;11.&#160;Backup 
And Recovery</th></tr><tr><td align="left" width="20%"><a accesskey="p" 
href="Java-Broker-High-Availability-Reset-Group-Infomational.html">Prev</a>&#160;</td><th
 align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a 
accesskey="n" 
href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">Next</a></td></tr></table><hr
 /></div><div class="chapter"><div class="titlepage"><div><div><h1 
class="title"><a 
id="Java-Broker-Backup-And-Recovery"></a>Chapter&#160;11.&#160;Backup And 
Recovery</h1></div></div></div><div class="toc"><p><strong>Table of 
Contents</strong></p><dl class="toc"><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery.html#Java-Broker-Backup-And-Recovery-Broker">11.1.
 Broker</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">11.2.
  Virtualhost Node</a></span></dt><dd><dl><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html#Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB">11.2.1.
 BDB</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html#Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB-HA">11.2.2.
 BDB-HA</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html#Java-Broker-Backup-And-Recovery-Virtualhost-Node-Derby">11.2.3.
 Derby</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html#Java-Broker-Backup-And-Recovery-Virtualhost-Node-JDBC">11.2.4.
 JDBC</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html#Java-Broker-Backup-And-Recovery-Virtualhost-Node-JSON">11.2.5.
 JSON</a></span></dt></dl></dd><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost.htm
 l">11.3. Virtualhost</a></span></dt><dd><dl><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost.html#Java-Broker-Backup-And-Recovery-Virtualhost-BDB">11.3.1.
 BDB</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost.html#Java-Broker-Backup-And-Recovery-Virtualhost-Derby">11.3.2.
 Derby</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost.html#Java-Broker-Backup-And-Recovery-Virtualhost-JDBC">11.3.3.
 JDBC</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost.html#Java-Broker-Backup-And-Recovery-Virtualhost-Provided">11.3.4.
 Provided</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Backup-And-Recovery-Virtualhost.html#Java-Broker-Backup-And-Recovery-Virtualhost-BDBHA">11.3.5.
 BDB-HA</a></span></dt></dl></dd></dl></div><div class="section"><div 
class="titlepage"><div><div><h2 class="title" style="clear: both"><a 
id="Java-Broker-
 Backup-And-Recovery-Broker"></a>11.1.&#160;Broker</h2></div></div></div><p>To 
perform a complete backup whilst the Broker is shutdown, simply copy all the 
files the
+      exist beneath <code class="literal">${QPID_WORK}</code>, assuming all 
virtualhost nodes and virtualhost
+      are in their standard location, this will copy all configuration and 
persistent message data. </p><p>There is currently no safe mechanism to take a 
complete copy of the entire Broker whilst
+      it is running.</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-High-Availability-Reset-Group-Infomational.html">Prev</a>&#160;</td><td
 align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a 
accesskey="n" 
href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">Next</a></td></tr><tr><td
 align="left" valign="top" width="40%">10.11.&#160;Reset Group 
Information&#160;</td><td align="center" width="20%"><a accesskey="h" 
href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;11.2.&#160;Virtualhost 
Node</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Authentication-Providers.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Authentication-Providers.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Authentication-Providers.html.in
new file mode 100644
index 0000000..e20641a
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Authentication-Providers.html.in
@@ -0,0 +1,5 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">4.9.&#160;Authentication 
Providers</th></tr><tr><td align="left" width="20%"><a accesskey="p" 
href="Java-Broker-Concepts-Ports.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-Other-Services.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-Authentication-Providers"></a>4.9.&#160;Authentication 
Providers</h2></div></div></div><p>
+        <span class="emphasis"><em>Authentication Providers</em></span> are 
used by <span class="emphasis"><em>Ports</em></span> to authenticate 
connections.
+        Many <span class="emphasis"><em>Authentication Providers</em></span> 
can be configured on the Broker at the same time, from which
+        each <span class="emphasis"><em>Port</em></span> can be assigned one.
+    </p><p>Some Authentication Providers offer facilities for creation and 
deletion of users.</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-Ports.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-Other-Services.html">Next</a></td></tr><tr><td 
align="left" valign="top" width="40%">4.8.&#160;Ports&#160;</td><td 
align="center" width="20%"><a accesskey="h" 
href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;4.10.&#160;Other 
Services</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Broker.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Broker.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Broker.html.in
new file mode 100644
index 0000000..4c22f94
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Broker.html.in
@@ -0,0 +1 @@
+<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="Java-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="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;4.3.&#160;Virtualhost 
Nodes</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Exchanges.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Exchanges.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Exchanges.html.in
new file mode 100644
index 0000000..a6e5b97
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Exchanges.html.in
@@ -0,0 +1,59 @@
+<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>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="d0e619"></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="d0e661"></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="d0e674"></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="d0e712"></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="d0e759"></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.d0e786" id="d0e786"><sup 
class="footnote">[5]</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 exchange has been set on the exchange, the message 
is routed to the alternate exchange.
+     The alternate exchange routes the message according to its routing 
algorithm and its binding table.  If the message is still unroutable,
+     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 exchange has been set on the exchange, 
the message is routed to the alternate exchange.
+    The alternate exchange routes the message according to its routing 
algorithm and its binding table.  If the message is still unroutable,
+    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.d0e786"><p><a 
class="para" href="#d0e786"><sup class="para">[5] </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="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;4.7.&#160;Queues</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Other-Services.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Other-Services.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Other-Services.html.in
new file mode 100644
index 0000000..bf15985
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Other-Services.html.in
@@ -0,0 +1,8 @@
+<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-ACLs.html" 
title="8.3.&#160;Access Control Lists">Section&#160;8.3, &#8220;Access Control 
Lists&#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.12.&#160;Keystores">Section&#160;7.12, 
&#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.13.&#160;Truststores">Section&#160;7.13, 
&#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="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;Chapter&#160;5.&#160;Initial 
Configuration</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Ports.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Ports.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Ports.html.in
new file mode 100644
index 0000000..1e3b4c1
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Ports.html.in
@@ -0,0 +1,12 @@
+<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="d0e1355"></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="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;4.9.&#
 160;Authentication Providers</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Queues.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Queues.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Queues.html.in
new file mode 100644
index 0000000..136f31e
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Queues.html.in
@@ -0,0 +1,179 @@
+<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. An <a 
class="link" href="Java-Broker-Concepts-Exchanges.html" 
title="4.6.&#160;Exchanges">Exchange</a> for passing messages to a queue.
+  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 the ability to group messages
+   together for delivery to a single consumer.</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">Sorte
 d</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-QueueDeclareArguments"></a>4.7.2.&#160;Queue 
Declare Arguments</h3></div></div></div><p>To create a priority, sorted or LVQ 
queue programmatically from AMQP, pass the
+      appropriate queue-declare arguments.</p><div class="table"><a 
id="d0e933"></a><p class="title"><strong>Table&#160;4.1.&#160;Queue-declare 
arguments understood for priority, sorted and LVQ queues</strong></p><div 
class="table-contents"><table border="1" summary="Queue-declare arguments 
understood for priority, sorted and LVQ queues"><colgroup><col /><col /><col 
/><col /></colgroup><thead><tr><th>Queue type</th><th>Argument 
name</th><th>Argument name</th><th>Argument 
Description</th></tr></thead><tbody><tr><td>priority</td><td>x-qpid-priorities</td><td>java.lang.Integer</td><td>Specifies
 a priority queue with given number 
priorities</td></tr><tr><td>sorted</td><td>qpid.queue_sort_key</td><td>java.lang.String</td><td>Specifies
 sorted queue with given message property used to sort the
+              
entries</td></tr><tr><td>lvq</td><td>qpid.last_value_queue_key</td><td>java.lang.String</td><td>Specifies
 lvq queue with given message property used to conflate the
+              entries</td></tr></tbody></table></div></div><br 
class="table-break" /></div><div class="section"><div 
class="titlepage"><div><div><h3 class="title"><a 
id="Java-Broker-Concepts-Queues-Message-Grouping"></a>4.7.3.&#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.3.1.&#160;Grouping 
Messages</h4></div></div></div><p> In order to group messages, the application 
would 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><p> The header that is used to hold the 
group identifier, as well as the values used as
+        group identifiers, are totally under control of the application. 
</p></div><div class="section"><div class="titlepage"><div><div><h4 
class="title"><a id="Java-Broker-Concepts-Queues-BrokerRole"></a>4.7.3.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 quarantees 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-Queues-SetLowPrefetch"></a>4.7.4.&#160;Using low 
pre-fetch with special queue types</h3></div></div></div><p>Qpid clients 
receive buffered messages in batches, sized according to the pre-fetch value.
+      The current default is 500. </p><p>However, if you use the default value 
you will probably <span class="emphasis"><em>not</em></span> see
+      desirable behaviour when using priority, sorted, lvq or grouped queues. 
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> So, you need to set the prefetch values for your client 
(consumer) to make this sensible.
+      To do this set the Java system property <code 
class="varname">max_prefetch</code> on the client
+      environment (using -D) before creating your consumer. </p><p>A default 
for all client connections can be set via a system property: </p><pre 
class="programlisting">
+-Dmax_prefetch=1
+</pre><p> The prefetch can be also be adjusted on a per connection basis by 
adding a
+        <code class="varname">maxprefetch</code> value to the <a class="link" 
href="../../jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html" 
target="_top">Connection URLs</a>
+    </p><pre class="programlisting">
+amqp://guest:guest@client1/development?maxprefetch='1'&amp;brokerlist='tcp://localhost:5672'
+</pre><p>Setting the Qpid pre-fetch to 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></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a 
id="Java-Broker-Concepts-Queue-EnsureNonDestructiveConsumers"></a>4.7.5.&#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. This can be
+          be achieved using the following queue declare argument:</p><div 
class="table"><a id="d0e1116"></a><p 
class="title"><strong>Table&#160;4.2.&#160;</strong></p><div 
class="table-contents"><table border="1"><colgroup><col /><col /><col 
/></colgroup><thead><tr><th>Argument Name</th><th>Argument 
Type</th><th>Argument 
Description</th></tr></thead><tbody><tr><td>qpid.ensure_nondestructive_consumers</td><td>java.lang.Boolean</td><td>Set
 to true if the queue should make all consumers attached to it behave
+                  non-destructively. (Default is 
false).</td></tr></tbody></table></div></div><br class="table-break" 
/><p>Through the <a class="link" 
href="Java-Broker-Management-Channel-REST-API.html" title="6.3.&#160;REST 
API">REST</a> api,
+        the equivalent attribute is named <code 
class="varname">ensureNondestructiveConsumers</code>.
+    </p><div class="section"><div class="titlepage"><div><div><h4 
class="title"><a id="d0e1142"></a>4.7.5.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 or by hand editing the configuration file (for JSON 
configuration stores).
+            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="d0e1155"></a>4.7.5.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><div class="table"><a id="d0e1168"></a><p 
class="title"><strong>Table&#160;4.3.&#160;Setting the replay 
period</strong></p><div class="table-contents"><table border="1" 
summary="Setting the replay period"><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="d0e1189"></a>4.7.5.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.6.&#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="d0e1210"></a>4.7.6.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.7.&#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></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><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="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;4.8.&#160;Ports</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-RemoteReplicationNodes.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-RemoteReplicationNodes.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-RemoteReplicationNodes.html.in
new file mode 100644
index 0000000..dd13ea0
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-RemoteReplicationNodes.html.in
@@ -0,0 +1,2 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">4.4.&#160;Remote Replication 
Nodes</th></tr><tr><td align="left" width="20%"><a accesskey="p" 
href="Java-Broker-Concepts-Virtualhost-Nodes.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-Virtualhosts.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-RemoteReplicationNodes"></a>4.4.&#160;Remote 
Replication Nodes</h2></div></div></div><p>Used for HA only. A <span 
class="emphasis"><em>remote replication node</em></span> is a representation of
+    another virtualhost node in the group.</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-Virtualhost-Nodes.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-Virtualhosts.html">Next</a></td></tr><tr><td 
align="left" valign="top" width="40%">4.3.&#160;Virtualhost Nodes&#160;</td><td 
align="center" width="20%"><a accesskey="h" 
href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" 
width="40%">&#160;4.5.&#160;Virtualhosts</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Virtualhost-Nodes.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Virtualhost-Nodes.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Virtualhost-Nodes.html.in
new file mode 100644
index 0000000..b0617d0
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Virtualhost-Nodes.html.in
@@ -0,0 +1,7 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">4.3.&#160;Virtualhost 
Nodes</th></tr><tr><td align="left" width="20%"><a accesskey="p" 
href="Java-Broker-Concepts-Broker.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-RemoteReplicationNodes.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-Virtualhost-Nodes"></a>4.3.&#160;Virtualhost 
Nodes</h2></div></div></div><p>A <span class="emphasis"><em>virtualhost 
node</em></span> is a container for the virtualhost. It has exactly
+    one virtualhost.</p><p>A <span class="emphasis"><em>virtualhost 
node</em></span> is backed by storage. This storage is used to record
+    the durable entities that exist beneath the virtualhost node (the 
virtualhost, queues, exchanges
+    etc).</p><p>When HA is in use, it is the virtualhost nodes of many Brokers 
that come together to form
+    the group. The virtualhost nodes together elect a master. When the high 
availability feature is
+    in use, the virtualhost node has <a class="link" 
href="Java-Broker-Concepts-RemoteReplicationNodes.html" title="4.4.&#160;Remote 
Replication Nodes">remote replications nodes</a>. There is a remote replication 
node corresponding to each
+    remote virtualhost node that form part of the group.</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-Broker.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-RemoteReplicationNodes.html">Next</a></td></tr><tr><td
 align="left" valign="top" width="40%">4.2.&#160;Broker&#160;</td><td 
align="center" width="20%"><a accesskey="h" 
href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;4.4.&#160;Remote Replication 
Nodes</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Virtualhosts.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Virtualhosts.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Virtualhosts.html.in
new file mode 100644
index 0000000..afc77c3
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts-Virtualhosts.html.in
@@ -0,0 +1,15 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" 
colspan="3">4.5.&#160;Virtualhosts</th></tr><tr><td align="left" width="20%"><a 
accesskey="p" 
href="Java-Broker-Concepts-RemoteReplicationNodes.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-Exchanges.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-Virtualhosts"></a>4.5.&#160;Virtualhosts</h2></div></div></div><p>A
 virtualhost is a namespace in which messaging is performed. Virtualhosts are 
independent;
+    the messaging that goes on within one virtualhost is independent of any 
messaging that goes on
+    in another virtualhost. For instance, a queue named <span 
class="emphasis"><em>foo</em></span> defined in one
+    virtualhost is completely independent of a queue named <span 
class="emphasis"><em>foo</em></span> in another
+    virtualhost.</p><p>A virtualhost is identified by a name which must be 
unique broker-wide. Clients use the name
+    to identify the virtualhost to which they wish to connect when they 
connect.</p><p>A virtualhost exists in a container called a virtualhost 
node.</p><p>The virtualhost comprises a number of entities. This section 
summaries the purpose of
+    each of the entities and describes the relationships between them. These 
details are developed
+    further in the sub-sections that follow.</p><p><span 
class="emphasis"><em>Exchanges</em></span> is a named entity within the Virtual 
Host which receives
+    messages from producers and routes them to matching Queues.</p><p><span 
class="emphasis"><em>Queues</em></span> are named entities that hold messages 
for delivery to consumer
+    applications.</p><p><span class="emphasis"><em>Bindings</em></span> are 
relationships between Exchanges and Queue that facilitate
+    routing of messages from the Exchange to the Queue.</p><p><span 
class="emphasis"><em>Connections</em></span> represent a live connection to the 
virtualhost from a
+    messaging client.</p><p>A <span class="emphasis"><em>Session</em></span> 
represents a context for the production or consumption of
+    messages. A Connection can have many Sessions.</p><p>A <span 
class="emphasis"><em>Consumer</em></span> represents a live consumer that is 
attached to queue.</p><p><span class="emphasis"><em>Loggers</em></span> are 
responsible for producing logs for this virtualhost.</p><p> The following 
diagram depicts the Virtualhost model: </p><div class="figure"><a 
id="d0e503"></a><p class="title"><strong>Figure&#160;4.3.&#160;Virtualhost 
Model showing major entities</strong></p><div class="figure-contents"><div 
class="mediaobject"><img alt="Virtual Host Model" 
src="images/VirtualHost-Model.png" /></div></div></div><p><br 
class="figure-break" />
+  </p><p>A <span class="emphasis"><em>virtualhost</em></span> is backed by 
storage which is used to store the
+    messages.</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-RemoteReplicationNodes.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-Exchanges.html">Next</a></td></tr><tr><td 
align="left" valign="top" width="40%">4.4.&#160;Remote Replication 
Nodes&#160;</td><td align="center" width="20%"><a accesskey="h" 
href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;4.6.&#160;Exchanges</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts.html.in
----------------------------------------------------------------------
diff --git 
a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts.html.in
 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts.html.in
new file mode 100644
index 0000000..7d2864e
--- /dev/null
+++ 
b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Concepts.html.in
@@ -0,0 +1,25 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" 
colspan="3">Chapter&#160;4.&#160;Concepts</th></tr><tr><td align="left" 
width="20%"><a accesskey="p" 
href="Java-Broker-Getting-Started-CommandLine.html">Prev</a>&#160;</td><th 
align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a 
accesskey="n" 
href="Java-Broker-Concepts-Broker.html">Next</a></td></tr></table><hr 
/></div><div class="chapter"><div class="titlepage"><div><div><h1 
class="title"><a 
id="Java-Broker-Concepts"></a>Chapter&#160;4.&#160;Concepts</h1></div></div></div><div
 class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span 
class="section"><a 
href="Java-Broker-Concepts.html#Java-Broker-Concepts-Overview">4.1. 
Overview</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Broker.html">4.2. Broker</a></span></dt><dt><span 
class="section"><a href="Java-Broker-Concepts-Virtualhost-Nodes.html">4.3. Virt
 ualhost Nodes</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-RemoteReplicationNodes.html">4.4. Remote Replication 
Nodes</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Virtualhosts.html">4.5. 
Virtualhosts</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Exchanges.html">4.6. 
Exchanges</a></span></dt><dd><dl><dt><span class="section"><a 
href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-Predeclared">4.6.1.
 Predeclared Exchanges</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-Types">4.6.2.
 Exchange Types</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-BindingArguments">4.6.3.
 Binding Arguments</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage">4.6.4.
 Unrouteable Messages</a></s
 pan></dt></dl></dd><dt><span class="section"><a 
href="Java-Broker-Concepts-Queues.html">4.7. 
Queues</a></span></dt><dd><dl><dt><span class="section"><a 
href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types">4.7.1.
 Types</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-QueueDeclareArguments">4.7.2.
 Queue Declare Arguments</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Message-Grouping">4.7.3.
 Messaging Grouping</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-SetLowPrefetch">4.7.4.
 Using low pre-fetch with special queue types</a></span></dt><dt><span 
class="section"><a 
href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-EnsureNonDestructiveConsumers">4.7.5.
 Forcing all consumers to be non-destructive</a></span></dt><dt><span 
class="section"><a href="Java-Broker-Conce
 pts-Queues.html#Java-Broker-Concepts-Queue-HoldingEntries">4.7.6. Holding 
messages on a Queue</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy">4.7.7.
 Controlling Queue Size</a></span></dt></dl></dd><dt><span class="section"><a 
href="Java-Broker-Concepts-Ports.html">4.8. Ports</a></span></dt><dt><span 
class="section"><a 
href="Java-Broker-Concepts-Authentication-Providers.html">4.9. Authentication 
Providers</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Other-Services.html">4.10. Other 
Services</a></span></dt><dd><dl><dt><span class="section"><a 
href="Java-Broker-Concepts-Other-Services.html#Java-Broker-Concepts-Access-Control-Providers">4.10.1.
 Access Control Providers</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Other-Services.html#Java-Broker-Concepts-Group-Providers">4.10.2.
 Group Providers</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Conc
 epts-Other-Services.html#Java-Broker-Concepts-Keystores">4.10.3. 
Keystores</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Other-Services.html#Java-Broker-Concepts-Truststores">4.10.4.
 Truststores</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Concepts-Other-Services.html#Java-Broker-Concepts-Loggers">4.10.5.
 Loggers</a></span></dt></dl></dd></dl></div><div class="section"><div 
class="titlepage"><div><div><h2 class="title" style="clear: both"><a 
id="Java-Broker-Concepts-Overview"></a>4.1.&#160;Overview</h2></div></div></div><p>The
 Broker comprises a number of entities. This section summaries the purpose of 
each of
+    the entities and describes the relationships between them. These details 
are developed further
+    in the sub-sections that follow.</p><p>The most important entity is the 
<span class="emphasis"><em>Virtualhost</em></span>. A virtualhost is an
+    independent namespace in which messaging is performed. A <span 
class="emphasis"><em>virtualhost</em></span> exists
+    in a container called a <span class="emphasis"><em>virtualhost 
node</em></span>. A virtualhost node has exactly
+    one virtualhost.</p><p><span class="emphasis"><em>Ports</em></span> accept 
connections for messaging and management. The Broker
+    supports any number of ports. When connecting for messaging, the user 
specifies a virtualhost
+    name to indicate the virtualhost to which it is to be 
connected.</p><p><span class="emphasis"><em>Authentication 
Providers</em></span> assert the identity of the user as it connects
+    for messaging or management. The Broker supports any number of 
authentication providers. Each
+    port is associated with exactly one authentication provider. The port uses 
the authentication
+    provider to assert the identity of the user as new connections are 
received.</p><p><span class="emphasis"><em>Group Providers</em></span> provide 
mechanisms that provide grouping of users. A
+    Broker supports zero or more group providers.</p><p><span 
class="emphasis"><em>Access Control Provider</em></span> allows the abilities 
of users (or groups of
+    users) to be restrained. A Broker can have zero or one access control 
providers.</p><p><span class="emphasis"><em>Keystores</em></span> provide a 
repositories of certificates and are used when the
+    Broker accepts SSL connections. Any number of keystore providers can be 
defined. Keystores are
+    be associated with Ports defined to accepts SSL.</p><p><span 
class="emphasis"><em>Truststores</em></span> provide a repositories of trust 
and are used to validate a
+    peer. Any number of truststore provides can be defined. Truststores can be 
associated with Ports
+    and other entities that form SSL connections.</p><p><span 
class="emphasis"><em>Remote Replication Nodes</em></span> are used when the 
high availability feature is
+    in use. It is the remote representation of other virtualhost nodes that 
form part of the same
+    group.</p><p><span class="emphasis"><em>Loggers</em></span>, at this point 
in the hierarchy, are responsible for the
+    production of a log for the Broker.</p><p>These concepts will be developed 
over the forthcoming pages. The diagrams below also help
+    put these entities in context of one and other.</p><p>
+    </p><div class="figure"><a id="d0e392"></a><p 
class="title"><strong>Figure&#160;4.1.&#160;Message Flow through Key 
Entities</strong></p><div class="figure-contents"><div class="mediaobject"><img 
alt="Message Flow through the Key Entities of the Broker" 
src="images/Broker-MessageFlow.png" /></div></div></div><p><br 
class="figure-break" />
+  </p><p>
+    </p><div class="figure"><a id="d0e404"></a><p 
class="title"><strong>Figure&#160;4.2.&#160;Broker Structure showing major 
entities</strong></p><div class="figure-contents"><div class="mediaobject"><img 
alt="Broker Structure" src="images/Broker-Model.png" /></div></div></div><p><br 
class="figure-break" />
+  </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-Getting-Started-CommandLine.html">Prev</a>&#160;</td><td 
align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a 
accesskey="n" href="Java-Broker-Concepts-Broker.html">Next</a></td></tr><tr><td 
align="left" valign="top" width="40%">3.5.&#160;Using the command 
line&#160;</td><td align="center" width="20%"><a accesskey="h" 
href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;4.2.&#160;Broker</td></tr></table></div></div>
\ No newline at end of file


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

Reply via email to