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 2021/06/19 18:00:26 UTC

[qpid-site] branch asf-site updated: Update site for Qpid Broker-J 8.0.5 release

This is an automated email from the ASF dual-hosted git repository.

orudyy pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/qpid-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new cd3779e  Update site for Qpid Broker-J 8.0.5 release
cd3779e is described below

commit cd3779e3e5ac118648c271ab90119a27a0c363da
Author: Alex Rudyy <or...@apache.org>
AuthorDate: Sat Jun 19 19:00:15 2021 +0100

    Update site for Qpid Broker-J 8.0.5 release
---
 input/_transom_config.py                           |    2 +-
 input/releases/index.md                            |    3 +-
 .../book/Apache-Qpid-Broker-J-Book.fo              | 3360 ++++++++++++++++++++
 .../book/Apache-Qpid-Broker-J-Book.html.in         |   10 +
 .../book/Apache-Qpid-Broker-J-Book.pdf             |  Bin 0 -> 621428 bytes
 ...x-BDB-HA-initial-configuration-creation.html.in |   41 +
 ...r-Appendix-BDB-HA-initial-configuration.html.in |  112 +
 ...a-Broker-Appendix-Environment-Variables.html.in |   54 +
 .../Java-Broker-Appendix-Operation-Logging.html.in |  417 +++
 .../book/Java-Broker-Appendix-Queue-Alerts.html.in |   26 +
 ...Broker-Appendix-Queue-Declare-Arguments.html.in |   90 +
 ...va-Broker-Appendix-Statistics-Reporting.html.in |    8 +
 .../Java-Broker-Appendix-System-Properties.html.in |   10 +
 ...er-Backup-And-Recovery-Virtualhost-Node.html.in |   13 +
 ...-Broker-Backup-And-Recovery-Virtualhost.html.in |   10 +
 .../book/Java-Broker-Backup-And-Recovery.html.in   |    4 +
 ...roker-Concepts-Authentication-Providers.html.in |    5 +
 .../book/Java-Broker-Concepts-Broker.html.in       |    1 +
 .../book/Java-Broker-Concepts-Exchanges.html.in    |   62 +
 .../Java-Broker-Concepts-Other-Services.html.in    |    8 +
 .../book/Java-Broker-Concepts-Ports.html.in        |   12 +
 .../book/Java-Broker-Concepts-Queues.html.in       |  179 ++
 ...-Broker-Concepts-RemoteReplicationNodes.html.in |    2 +
 .../Java-Broker-Concepts-Virtualhost-Nodes.html.in |   11 +
 .../book/Java-Broker-Concepts-Virtualhosts.html.in |   16 +
 .../book/Java-Broker-Concepts.html.in              |   34 +
 ...Java-Broker-Getting-Started-CommandLine.html.in |   58 +
 .../Java-Broker-Getting-Started-Logging.html.in    |    4 +
 ...-Getting-Started-Starting-Stopping-Unix.html.in |   13 +
 ...tting-Started-Starting-Stopping-Windows.html.in |   13 +
 .../book/Java-Broker-Getting-Started.html.in       |    8 +
 .../Java-Broker-High-Availability-Backup.html.in   |    2 +
 ...Java-Broker-High-Availability-Behaviour.html.in |   96 +
 ...Broker-High-Availability-ClientFailover.html.in |    5 +
 ...-Broker-High-Availability-CreatingGroup.html.in |   42 +
 ...Java-Broker-High-Availability-DiskSpace.html.in |    4 +
 ...-High-Availability-Network-Requirements.html.in |    5 +
 ...Broker-High-Availability-NodeOperations.html.in |   21 +
 ...a-Broker-High-Availability-OverviewOfHA.html.in |   25 +
 ...h-Availability-Reset-Group-Infomational.html.in |    8 +
 .../Java-Broker-High-Availability-Security.html.in |    3 +
 .../book/Java-Broker-High-Availability.html.in     |   10 +
 ...-Configuration-Configuration-Properties.html.in |   23 +
 ...ial-Configuration-Create-Initial-Config.html.in |   16 +
 ...va-Broker-Initial-Configuration-Example.html.in |  100 +
 ...l-Configuration-Initial-Config-Location.html.in |   10 +
 ...a-Broker-Initial-Configuration-Location.html.in |    8 +
 .../Java-Broker-Initial-Configuration-Type.html.in |   18 +
 .../book/Java-Broker-Initial-Configuration.html.in |   10 +
 .../book/Java-Broker-Installation-Download.html.in |    3 +
 ...va-Broker-Installation-InstallationUnix.html.in |   25 +
 ...Broker-Installation-InstallationWindows.html.in |   26 +
 ...roker-Installation-OptionalDependencies.html.in |    3 +
 .../Java-Broker-Installation-Prerequistes.html.in  |   20 +
 .../book/Java-Broker-Installation.html.in          |    2 +
 .../book/Java-Broker-Introduction.html.in          |   10 +
 ...oker-Management-Channel-AMQP-Intrinstic.html.in |    3 +
 ...Java-Broker-Management-Channel-REST-API.html.in |  251 ++
 ...a-Broker-Management-Channel-Web-Console.html.in |   48 +
 .../book/Java-Broker-Management-Channel.html.in    |   13 +
 ...ement-Managing-Access-Control-Providers.html.in |    3 +
 ...ement-Managing-Authentication-Providers.html.in |   20 +
 .../Java-Broker-Management-Managing-Broker.html.in |   28 +
 ...va-Broker-Management-Managing-Consumers.html.in |    8 +
 ...ava-Broker-Management-Managing-Entities.html.in |   22 +
 ...va-Broker-Management-Managing-Exchanges.html.in |    7 +
 ...ker-Management-Managing-Group-Providers.html.in |    1 +
 ...va-Broker-Management-Managing-Keystores.html.in |   46 +
 ...-Broker-Management-Managing-Plugin-HTTP.html.in |   10 +
 .../Java-Broker-Management-Managing-Ports.html.in  |   36 +
 .../Java-Broker-Management-Managing-Queues.html.in |   20 +
 ...agement-Managing-RemoteReplicationNodes.html.in |   24 +
 ...-Broker-Management-Managing-Truststores.html.in |   49 +
 ...r-Management-Managing-Virtualhost-Nodes.html.in |   33 +
 ...Broker-Management-Managing-Virtualhosts.html.in |   28 +
 .../book/Java-Broker-Management-Metrics.html.in    |   17 +
 ...laneous-Installing-External-JDBC-Driver.html.in |    5 +
 .../book/Java-Broker-Miscellaneous.html.in         |    9 +
 ...Java-Broker-Runtime-Background-Recovery.html.in |   14 +
 ...-Runtime-Close-Connection-When-No-Route.html.in |   28 +
 .../Java-Broker-Runtime-Connection-Limit.html.in   |   24 +
 .../book/Java-Broker-Runtime-Consumers.html.in     |   32 +
 ...va-Broker-Runtime-Disk-Space-Management.html.in |   41 +
 .../book/Java-Broker-Runtime-Flow-To-Disk.html.in  |   14 +
 ...Runtime-Handling-Undeliverable-Messages.html.in |   52 +
 .../book/Java-Broker-Runtime-Memory.html.in        |  138 +
 ...Java-Broker-Runtime-Message-Compression.html.in |   15 +
 ...Java-Broker-Runtime-Transaction-Timeout.html.in |   43 +
 .../book/Java-Broker-Runtime.html.in               |   97 +
 ...-Broker-Security-AccessControlProviders.html.in |  256 ++
 ...roker-Security-Configuration-Encryption.html.in |   20 +
 .../Java-Broker-Security-Group-Providers.html.in   |   36 +
 .../book/Java-Broker-Security.html.in              |  190 ++
 ...oker-Virtual-Host-Initial-Configuration.html.in |   21 +
 .../qpid-broker-j-8.0.5/book/apds02.html.in        |   17 +
 .../qpid-broker-j-8.0.5/book/apds03.html.in        |   16 +
 .../qpid-broker-j-8.0.5/book/css/style.css         |  131 +
 .../book/images/Broker-MessageFlow.png             |  Bin 0 -> 36840 bytes
 .../book/images/Broker-Model.png                   |  Bin 0 -> 56499 bytes
 .../book/images/Broker-PortAuthFlow.png            |  Bin 0 -> 56560 bytes
 .../book/images/Exchange-Direct.png                |  Bin 0 -> 36554 bytes
 .../book/images/Exchange-Direct.svg                |   23 +
 .../book/images/Exchange-Fanout.png                |  Bin 0 -> 23348 bytes
 .../book/images/Exchange-Fanout.svg                |   23 +
 .../book/images/Exchange-Topic-Hierarchical.png    |  Bin 0 -> 40952 bytes
 .../book/images/Exchange-Topic-Hierarchical.svg    |   23 +
 .../book/images/Exchange-Topic-JMSSelector.png     |  Bin 0 -> 44744 bytes
 .../book/images/Exchange-Topic-JMSSelector.svg     |   23 +
 .../book/images/Exchange-Topic.png                 |  Bin 0 -> 26939 bytes
 .../book/images/Exchange-Topic.svg                 |   23 +
 .../images/HA-BDBHAMessageStore-MBean-jconsole.png |  Bin 0 -> 52533 bytes
 .../book/images/HA-Create-1.png                    |  Bin 0 -> 50328 bytes
 .../book/images/HA-Create-2.png                    |  Bin 0 -> 51814 bytes
 .../book/images/HA-Create-3.png                    |  Bin 0 -> 83561 bytes
 .../book/images/HA-Overview.png                    |  Bin 0 -> 54044 bytes
 .../book/images/Management-Web-Add-Dialogue.png    |  Bin 0 -> 92422 bytes
 .../book/images/Management-Web-Auth.png            |  Bin 0 -> 85993 bytes
 .../book/images/Management-Web-Console.png         |  Bin 0 -> 232164 bytes
 .../book/images/Management-Web-ContextVar.png      |  Bin 0 -> 33453 bytes
 .../book/images/Management-Web-Edit-Dialogue.png   |  Bin 0 -> 31643 bytes
 .../images/Management-Web-Logging-FileLogger.png   |  Bin 0 -> 107458 bytes
 .../Management-Web-Logging-InclusionRule.png       |  Bin 0 -> 118676 bytes
 .../images/Management-Web-Logging-MemoryLogger.png |  Bin 0 -> 190563 bytes
 .../book/images/Management-Web-Tab.png             |  Bin 0 -> 119713 bytes
 .../book/images/VirtualHost-Model.png              |  Bin 0 -> 24613 bytes
 .../qpid-broker-j-8.0.5/book/index.html.in         |   10 +
 input/releases/qpid-broker-j-8.0.5/index.md        |   69 +
 .../releases/qpid-broker-j-8.0.5/release-notes.md  |   50 +
 128 files changed, 7189 insertions(+), 2 deletions(-)

diff --git a/input/_transom_config.py b/input/_transom_config.py
index caa63d6..8201998 100644
--- a/input/_transom_config.py
+++ b/input/_transom_config.py
@@ -22,7 +22,7 @@ class _Release(object):
     def brief_link(self):
         return "<a href=\"{}\">{}</a>".format(self.url, self.number)
 
-broker_j_release = _Release(site_url, "Qpid Broker-J", "qpid-broker-j", "8.0.4")
+broker_j_release = _Release(site_url, "Qpid Broker-J", "qpid-broker-j", "8.0.5")
 other_broker_j_release = "7.1.12"
 cpp_release = _Release(site_url, "Qpid C++", "qpid-cpp", "1.39.0")
 dispatch_release = _Release(site_url, "Qpid Dispatch", "qpid-dispatch", "1.16.0")
diff --git a/input/releases/index.md b/input/releases/index.md
index 8e1db2f..7e7eba5 100644
--- a/input/releases/index.md
+++ b/input/releases/index.md
@@ -27,12 +27,12 @@ the
 ## Current releases
 
 <div class="two-column" markdown="1">
+ - [Qpid Broker-J 8.0.5](qpid-broker-j-8.0.5/index.html), June 2021
  - [Qpid ProtonJ2 1.0.0-M1](qpid-protonj2-1.0.0-M2/index.html), May 2021
  - [Qpid JMS 1.0.0](qpid-jms-1.0.0/index.html), May 2021
  - [Qpid JMS 0.59.0](qpid-jms-0.59.0/index.html), May 2021
  - [Qpid ProtonJ2 1.0.0-M1](qpid-protonj2-1.0.0-M1/index.html), May 2021
  - [Qpid Proton 0.34.0](qpid-proton-0.34.0/index.html), April 2021
- - [Qpid Broker-J 8.0.4](qpid-broker-j-8.0.4/index.html), February 2021
  - [Qpid Broker-J 7.1.12](qpid-broker-j-7.1.12/index.html), February 2021
  - [Qpid Dispatch 1.16.0](qpid-dispatch-1.16.0/index.html), May 2021
  - [Qpid Proton-J 0.33.8](qpid-proton-j-0.33.8/index.html), November 2020
@@ -50,6 +50,7 @@ the
  - [Qpid JMS 0.58.0](qpid-jms-0.58.0/index.html), April 2021
  - [Qpid JMS 0.57.0](qpid-jms-0.57.0/index.html), March 2021
  - [Qpid Dispatch 1.15.0](qpid-dispatch-1.15.0/index.html), February 2021
+ - [Qpid Broker-J 8.0.4](qpid-broker-j-8.0.4/index.html), February 2021
  - [Qpid Broker-J 8.0.3](qpid-broker-j-8.0.3/index.html), January 2021
  - [Qpid Broker-J 7.1.11](qpid-broker-j-7.1.11/index.html), January 2021
  - [Qpid JMS 0.56.0](qpid-jms-0.56.0/index.html), December 2020
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.fo b/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.fo
new file mode 100644
index 0000000..448f358
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.fo
@@ -0,0 +1,3360 @@
+<?xml version="1.0" encoding="utf-8"?><fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="serif,Symbol,ZapfDingbats" font-size="10pt" text-align="justify" line-height="normal" font-selection-strategy="character-by-character" line-height-shift-adjustment="disregard-shifts" writing-mode="lr-tb" language="en"><fo:layout-master-set><fo:simple-page-master master-name="blank" page-width="8.5in" page-height="11in" margin-top="0.5in" margin-bottom="0.5in" margin-left="1in" margin- [...]
+       ACL Rules
+    </fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"> <fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" keep-with-next.within-line="always"/> <fo:basic-link internal-destination="Java-Broker-Security-AccessControlProviders-ACLRules"><fo:page-number-citation ref-id="Java-Broker-Security-AccessControlProviders-ACLRules"/></fo:basic-link></fo:inline></fo:block><fo:block text-align-last="justify" text-align="start" end-inde [...]
+       Syntax
+    </fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"> <fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" keep-with-next.within-line="always"/> <fo:basic-link internal-destination="Java-Broker-Security-AccessControlProviders-Syntax"><fo:page-number-citation ref-id="Java-Broker-Security-AccessControlProviders-Syntax"/></fo:basic-link></fo:inline></fo:block><fo:block text-align-last="justify" text-align="start" end-indent=" [...]
+      Worked Examples
+    </fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"> <fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" keep-with-next.within-line="always"/> <fo:basic-link internal-destination="Java-Broker-Security-AccessControlProviders-WorkedExamples"><fo:page-number-citation ref-id="Java-Broker-Security-AccessControlProviders-WorkedExamples"/></fo:basic-link></fo:inline></fo:block></fo:block><fo:block text-align-last="justify" text [...]
+        <fo:inline font-style="italic">closeWhenNoRoute</fo:inline>
+    </fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"> <fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" keep-with-next.within-line="always"/> <fo:basic-link internal-destination="Java-Broker-Runtime-Close-Connection-When-No-Route-Configuration"><fo:page-number-citation ref-id="Java-Broker-Runtime-Close-Connection-When-No-Route-Configuration"/></fo:basic-link></fo:inline></fo:block></fo:block><fo:block text-align-last="j [...]
+          directly</fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"> <fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" keep-with-next.within-line="always"/> <fo:basic-link internal-destination="d0e7369"><fo:page-number-citation ref-id="d0e7369"/></fo:basic-link></fo:inline></fo:block><fo:block text-align-last="justify" text-align="start" end-indent="24pt" last-line-end-indent="-24pt"><fo:inline keep-with-next.within-line [...]
+      <fo:basic-link external-destination="url(http://www.amqp.org)"><fo:inline> Advanced Message Queuing Protocol (AMQP)</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://www.amqp.org)">http://www.amqp.org</fo:basic-link>]</fo:inline>. The Apache Qpid Broker-J
+    is actually one of two message brokers provided by the <fo:basic-link external-destination="url(http://qpid.apache.org)"><fo:inline>Apache Qpid project</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://qpid.apache.org)">http://qpid.apache.org</fo:basic-link>]</fo:inline>: Qpid Broker-J and the C++
+    Broker.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This document relates to the Apache Qpid Broker-J. The <fo:basic-link external-destination="url(/releases/qpid-cpp-{{current_cpp_release}}/cpp-broker/book/)"><fo:inline>C++ Broker is
+    described separately</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(/releases/qpid-cpp-{{current_cpp_release}}/cpp-broker/book/)">/releases/qpid-cpp-{{current_cpp_release}}/cpp-broker/book/</fo:basic-link>]</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Headline features</fo:inline></fo:block><fo:list-block space-before.optimum="1em [...]
+        etc).</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e38"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Transaction support including XA<fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="n [...]
+        External, OAuth2, and file-based authentication mechanisms.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e56"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Support for message compression</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item s [...]
+        Derby</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://db.apache.org/derby/)">http://db.apache.org/derby/</fo:basic-link>]</fo:inline>, <fo:basic-link external-destination="url(${oracleBdbProductOverviewUrl})"><fo:inline>
+        Oracle BDB JE</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(${oracleBdbProductOverviewUrl})">${oracleBdbProductOverviewUrl}</fo:basic-link>]</fo:inline>, and External Databases.
+      </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e68"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Web based management interface and programmatic management interfaces via REST.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.o [...]
+      platforms.</fo:block></fo:block><fo:block id="Java-Broker-Installation-Prerequistes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start [...]
+        operating system supporting Java 1.8 or higher<fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">1</fo:inline></fo:inline><fo:footnote-body font-family="serif,Symbol,ZapfDingbats" font-size="8pt" font-weight="normal" font-style="normal" text-align="justify" start-indent="0pt" end-indent="0pt" text-indent="0pt" hyphenate="true" wrap-option="wrap" linefeed-treatment="treat-as-spa [...]
+        Unlimited Strength extension must be installed or enabled for some features.</fo:block></fo:footnote-body></fo:footnote>. This includes Linux,
+        Solaris, Mac OS X, and Windows 7/8/10 etc.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The broker has been tested with Java implementations from both Oracle and IBM. Whatever
+        platform you chose, it is recommended that you ensure it is patched with any critical
+        updates made available from the vendor. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Verify that your JVM is installed properly by following <fo:basic-link internal-destination="Java-Broker-Miscellaneous-JVM-Verification"><fo:inline>these instructions.</fo:inline></fo:basic-link>
+      </fo:block></fo:block><fo:block id="Java-Broker-Installation-Prerequistes-Disk"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-inde [...]
+        message store, that is, the area of the file-system used to record messages
+        whilst they are passing through the Broker. The working directory is also used for the
+        default location of the log file. The size of the working directory will depend on the how
+        the Broker is used.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The performance of the file system hosting the work directory is key to the performance
+        of Broker as a whole. For best performance, choose a device that has low latency and one
+        that is uncontended by other applications.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Be aware that there are additional considerations if you are considering hosting the
+        working directory on NFS.</fo:block></fo:block><fo:block id="Java-Broker-Installation-Prerequistes-Memory"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em"  [...]
+        benefit from as much memory as possible. However, on a 32bit JVM, the maximum addressable
+        memory range for a process is 4GB, after leaving space for the JVM's own use this will give
+        a maximum usable size of approximately ~3.7GB.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">See <fo:basic-link internal-destination="Java-Broker-Runtime-Memory"><fo:inline>Section 9.11, “Memory”</fo:inline></fo:basic-link> for a full description of how memory is
+        used.</fo:block></fo:block><fo:block id="Java-Broker-Installation-Prerequistes-OperatingSystemAccount"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text [...]
+        account (i.e. root on UNIX platforms or Administrator on Windows). However it is suggested
+        that you use an dedicated account (e.g. qpid) for the installation and operation of the Broker.</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Installation-Download"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.mini [...]
+        signature matches that available on the site. Instructions are given on the download page.
+      </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Installation-InstallationWindows"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="star [...]
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Now chose a directory for Qpid broker installation. This directory will be used for the
+      Qpid JARs and configuration files. It need not be the same location as the work directory used
+      for the persistent message store or the log file (you will choose this location later). For
+      the remainder this example we will assume that location c:\qpid has been chosen.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Next extract the qpid-broker-8.0.5-bin.zip package into the directory, using either
+      the zip file handling offered by Windows (right click the file and select 'Extract All') or a
+      third party tool of your choice.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The extraction of the broker package will have created a directory
+      qpid-broker\\8.0.5 within c:\qpid</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e163">
+ Directory of c:\qpid\qpid-broker\\8.0.5
+
+25/11/2015  11:29    &lt;DIR&gt;          .
+25/11/2015  11:29    &lt;DIR&gt;          ..
+25/11/2015  10:56    &lt;DIR&gt;          bin
+03/07/2015  08:06    &lt;DIR&gt;          etc
+25/11/2015  11:25    &lt;DIR&gt;          lib
+25/11/2015  10:56            28,143 LICENSE
+25/11/2015  10:56             3,409 NOTICE
+29/04/2015  09:13               116 README.txt
+3 File(s)         31,668 bytes
+5 Dir(s)  25,981,767,680 bytes free
+</fo:block><fo:block id="Java-Broker-Installation-InstallationWindows-SettingQPIDWORK"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-ind [...]
+        Qpid log file and is used for the storage of persistent messages. The work directory can be
+        set on the command-line (for the lifetime of the command interpreter), but you will normally
+        want to set the environment variable permanently via the Advanced System Settings in the
+        Control Panel.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e170">set QPID_WORK=C:\qpidwork</fo:block><fo:block space-before.optimum="1em" space-before.minimum=" [...]
+        exist, the Broker will attempt to create it on start-up.</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Installation-InstallationUnix"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimu [...]
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Now chose a directory for Qpid broker installation. This directory will be used for the
+      Qpid JARs and configuration files. It need not be the same location as the work directory used
+      for the persistent message store or the log file (you will choose this location later). For
+      the remainder this example we will assume that location /usr/local/qpid has been
+      chosen.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Next extract the qpid-broker-8.0.5-bin.tgz package into the directory.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-trea [...]
+cd /usr/local/qpid
+tar xvzf qpid-broker-8.0.5-bin.tgz</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The extraction of the broker package will have created a directory
+      qpid-broker/8.0.5 within /usr/local/qpid</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e193">ls -la qpid-broker/8.0.5/
+total 56
+drwxrwxr-x. 5 alex alex  4096 Nov 25 11:43 .
+drwxrwxr-x. 3 alex alex  4096 Nov 25 11:43 ..
+drwxr-xr-x. 2 alex alex  4096 Nov 24 23:38 bin
+drwxr-xr-x. 2 alex alex  4096 Nov 24 23:38 etc
+drwxrwxr-x. 2 alex alex  4096 Nov 25 11:43 lib
+-rw-r--r--. 1 alex alex 28143 Nov 24 23:38 LICENSE
+-rw-r--r--. 1 alex alex  3409 Nov 24 23:38 NOTICE
+-rw-r--r--. 1 alex alex   116 Nov 24 23:38 README.txt
+    </fo:block><fo:block id="Java-Broker-Installation-InstallationUnix-SettingQPIDWORK"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-in [...]
+        Qpid log file and is used for the storage of persistent messages. The work directory can be
+        set on the command-line (for the lifetime of the current shell), but you will normally want
+        to set the environment variable permanently the user's shell profile file (~/.bash_profile
+        for Bash etc).</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e200">export QPID_WORK=/var/qpidwork
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If the directory referred to by <fo:basic-link internal-destination="Java-Broker-Appendix-Environment-Variables-Qpid-Work"><fo:inline>QPID_WORK</fo:inline></fo:basic-link> does not
+        exist, the Broker will attempt to create it on start-up. </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Installation-OptionalDependencies"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.o [...]
+      <fo:basic-link internal-destination="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver"><fo:inline>Section F.2, “Installing External JDBC Driver”</fo:inline></fo:basic-link> for details of
+      installing their dependencies.</fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="body" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfDingbats [...]
+      This section describes how to start and stop the Broker, and outlines the various command line options.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      For additional details about the broker configuration store and related command line arguments see
+      <fo:basic-link internal-destination="Java-Broker-Initial-Configuration"><fo:inline>Chapter 5, <fo:inline font-style="italic">Initial Configuration</fo:inline></fo:inline></fo:basic-link>.
+      The broker is fully configurable via its Web Management Console, for details of this see
+      <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console"><fo:inline>Section 6.2, “Web Management Console”</fo:inline></fo:basic-link>.
+    </fo:block></fo:block><fo:block id="Java-Broker-Getting-Started-Starting-Stopping-Windows"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" s [...]
+      and ensure that the <fo:basic-link internal-destination="Java-Broker-Installation-InstallationWindows-SettingQPIDWORK"><fo:inline>QPID_WORK environment variable is set</fo:inline></fo:basic-link>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Now use the <fo:inline font-weight="bold">qpid-server.bat</fo:inline> to start the server</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maxim [...]
+[Broker] BRK-1001 : Startup : Version: 8.0.5 Build: 1478262
+[Broker] BRK-1010 : Platform : JVM : Oracle Corporation version: 1.8.0_144-b01 OS : Windows 7 version: 6.1 arch: x86 cores: 4
+[Broker] BRK-1011 : Maximum Memory : Heap : 518,979,584 bytes Direct : 1,610,612,736 bytes
+[Broker] BRK-1002 : Starting : Listening on TCP port 5672
+[Broker] MNG-1001 : Web Management Startup
+[Broker] MNG-1002 : Starting : HTTP : Listening on port 8080
+[Broker] MNG-1004 : Web Management Ready
+[Broker] BRK-1004 : Qpid Broker Ready</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The BRK-1004 message confirms that the Broker is ready for work.  The MNG-1002 and BRK-1002 confirm the ports on
+      which the Broker is listening (for HTTP management and AMQP respectively).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">To stop the Broker, use Control-C from the controlling command prompt or
+      <fo:basic-link internal-destination="Java-Broker-Management-Channel-REST-API-Operations"><fo:inline>REST operation broker/shutdown</fo:inline></fo:basic-link>.
+    </fo:block></fo:block><fo:block id="Java-Broker-Getting-Started-Starting-Stopping-Unix"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" star [...]
+      and ensure that the <fo:basic-link internal-destination="Java-Broker-Installation-InstallationUnix-SettingQPIDWORK"><fo:inline>QPID_WORK environment variable is set</fo:inline></fo:basic-link>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Now use the <fo:inline font-weight="bold">qpid-server</fo:inline> script to start the server:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maxi [...]
+[Broker] BRK-1001 : Startup : Version: 8.0.5 Build: exported
+[Broker] BRK-1010 : Platform : JVM : Oracle Corporation version: 1.8.0_144-b01 OS : Mac OS X version: 10.12.6 arch: x86_64 cores: 8
+[Broker] BRK-1011 : Maximum Memory : Heap : 518,979,584 bytes Direct : 1,610,612,736 bytes
+[Broker] BRK-1002 : Starting : Listening on TCP port 5672
+[Broker] MNG-1001 : Web Management Startup
+[Broker] MNG-1002 : Starting : HTTP : Listening on port 8080
+[Broker] MNG-1004 : Web Management Ready
+[Broker] BRK-1004 : Qpid Broker Ready</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The BRK-1004 message confirms that the Broker is ready for work.  The MNG-1002 and BRK-1002 confirm the ports on
+    which the Broker is listening (for HTTP management and AMQP respectively).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">To stop the Broker, use Control-C from the controlling shell, use the
+        <fo:inline font-weight="bold">bin/qpid.stop</fo:inline> script, use <fo:inline font-weight="bold">kill -TERM &lt;pid&gt;</fo:inline>, or
+      the <fo:basic-link internal-destination="Java-Broker-Management-Channel-REST-API-Operations"><fo:inline>REST operation broker/shutdown</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="Java-Broker-Getting-Started-Logging"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold [...]
+      conditions.  By default the log file is written within the log subdirectory beneath the work directory
+      - <fo:inline font-family="monospace">$QPID_WORK/log/qpid.log</fo:inline> (UNIX) and
+      <fo:inline font-family="monospace">%QPID_WORK%\log\qpid.log</fo:inline> (Windows).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For details of how to control the logging, see <fo:basic-link internal-destination="Java-Broker-Runtime-Logging"><fo:inline>Section 9.1, “Logging”</fo:inline></fo:basic-link></fo:block></fo:block><fo:block id="Java-Broker-Getting-Started-CommandLine"><fo:block><fo:block><fo:block keep-together.wit [...]
+      For additional details about the broker configuration and related command line arguments see
+      <fo:basic-link internal-destination="Java-Broker-Initial-Configuration"><fo:inline>Chapter 5, <fo:inline font-style="italic">Initial Configuration</fo:inline></fo:inline></fo:basic-link>.
+      The broker is fully configurable via its Web Management Console, for details of this see
+      <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console"><fo:inline>Section 6.2, “Web Management Console”</fo:inline></fo:basic-link>.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">To see usage information for all command line options, use the <fo:inline font-family="monospace">--help</fo:inline> option</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" wh [...]
+       [-mmpass &lt;password&gt;] [-mmqv] [-os]
+       [-prop &lt;name=value&gt;] [-props &lt;path&gt;] [-sp &lt;path&gt;] [-st &lt;type&gt;] [-v]
+ -cic,--create-initial-config &lt;path&gt;                  create a copy of the
+                                                      initial config file,
+                                                      either to an
+                                                      optionally specified
+                                                      file path, or as
+                                                      initial-config.json
+                                                      in the current
+                                                      directory
+ -h,--help                                            print this message
+ -icp,--initial-config-path &lt;path&gt;                    set the location of
+                                                      initial JSON config
+                                                      to use when
+                                                      creating/overwriting
+                                                      a broker
+                                                      configuration store
+ -mm,--management-mode                                start broker in
+                                                      management mode,
+                                                      disabling the AMQP
+                                                      ports
+ -mmhttp,--management-mode-http-port &lt;port&gt;           override http
+                                                      management port in
+                                                      management mode
+ -mmpass,--management-mode-password &lt;password&gt;        Set the password for
+                                                      the management mode
+                                                      user mm_admin
+ -mmqv,--management-mode-quiesce-virtualhostnodes     make virtualhost nodes
+                                                      stay in the quiesced
+                                                      state during
+                                                      management mode.
+ -prop,--config-property &lt;name=value&gt;                 set a configuration
+                                                      property to use when
+                                                      resolving variables
+                                                      in the broker
+                                                      configuration store,
+                                                      with format
+                                                      "name=value"
+ -props,--system-properties-file &lt;path&gt;               set the location of
+                                                      initial properties
+                                                      file to set
+                                                      otherwise unset
+                                                      system properties
+ -sp,--store-path &lt;path&gt;                              use given
+                                                      configuration store
+                                                      location
+ -st,--store-type &lt;type&gt;                              use given broker
+                                                      configuration store
+                                                      type
+ -v,--version                                         print the version
+                                                      information and exit
+</fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="body" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table table- [...]
+    the entities and describes the relationships between them. These details are developed further
+    in the sub-sections that follow.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The most important entity is the <fo:inline font-style="italic">Virtualhost</fo:inline>. A virtualhost is an
+    independent container in which messaging is performed. A <fo:inline font-style="italic">virtualhost</fo:inline> exists
+    in a container called a <fo:inline font-style="italic">virtualhost node</fo:inline>. A virtualhost node has exactly
+    one virtualhost.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">An <fo:inline font-style="italic">Exchange</fo:inline> accepts messages from a producer application and routes these
+    to one or more <fo:inline font-style="italic">Queues</fo:inline> according to pre-arranged criteria called
+    <fo:inline font-style="italic">bindings</fo:inline>. Exchange are an AMQP 0-8, 0-9, 0-9-1, 0-10 concept.  They exist to
+    produce useful messaging behaviours such as fanout.  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 advanced behaviours)
+    or it may publish messages direct to a queue.
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Queue</fo:inline>s are named entities that hold/buffer messages for later delivery to
+    consumer applications.
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Ports</fo:inline> 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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Authentication Providers</fo:inline> 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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Group Providers</fo:inline> provide mechanisms that provide grouping of users. A
+    Broker supports zero or more group providers.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Access Control Provider</fo:inline> allows the abilities of users (or groups of
+    users) to be restrained. A Broker can have zero or one access control providers.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Keystores</fo:inline> 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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Truststores</fo:inline> 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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Remote Replication Nodes</fo:inline> 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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Loggers</fo:inline>, at this point in the hierarchy, are responsible for the
+    production of a log for the Broker.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">These concepts will be developed over the forthcoming pages. The diagrams below also help
+    put these entities in context of one and other.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+    <fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e399"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with-next.within-column="alw [...]
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+    <fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e411"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with-next.within-column="alw [...]
+  </fo:block></fo:block><fo:block id="Java-Broker-Concepts-Broker"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:marker [...]
+    one virtualhost.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A <fo:inline font-style="italic">virtualhost node</fo:inline> is backed by storage. This storage is used to record
+    the durable entities that exist beneath the virtualhost node (the virtualhost, queues, exchanges
+    etc).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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 <fo:basic-link internal-destination="Java-Broker-Concepts-RemoteReplicationNodes"><fo:inline>remote replications nodes</fo:inline></fo:basic-link>. There is a remote replication node corresponding to each
+    remote virtualhost node that form part of the group.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+    <fo:inline font-style="italic">Virtualhost node</fo:inline> also provides an initial configuration for its <fo:inline font-style="italic">virtualhost</fo:inline>.
+    How to specify initial configuration for <fo:inline font-style="italic">virtual host</fo:inline> is described at
+    <fo:basic-link internal-destination="Java-Broker-Virtual-Host-Initial-Configuration"><fo:inline>Section 5.8, “Virtualhost Initial Configuration”</fo:inline></fo:basic-link>.
+  </fo:block></fo:block><fo:block id="Java-Broker-Concepts-RemoteReplicationNodes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent= [...]
+    another virtualhost node in the group.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Virtualhosts"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" te [...]
+    the messaging that goes on within one virtualhost is independent of any messaging that goes on
+    in another virtualhost. For instance, a queue named <fo:inline font-style="italic">foo</fo:inline> defined in one
+    virtualhost is completely independent of a queue named <fo:inline font-style="italic">foo</fo:inline> in another
+    virtualhost.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A virtualhost exists in a virtualhost node.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Exchanges</fo:inline> is a named entity within the Virtual Host which receives
+    messages from producers and routes them to matching Queues.  When using AMQP 0-8, 0-9, 0-9-1, 0-10
+    the exchange is the only way ingressing a message into the virtualhost.  When using AMQP 1.0
+    producers may route messages via exchanges or direct to queues.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Queues</fo:inline> are named entities that hold messages for delivery to consumer
+    applications.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Connections</fo:inline> represent a live connection to the virtualhost from a
+    messaging client.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A <fo:inline font-style="italic">Session</fo:inline> represents a context for the production or consumption of
+    messages. A Connection can have many Sessions.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A <fo:inline font-style="italic">Consumer</fo:inline> represents a live consumer that is attached to queue.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Loggers</fo:inline> are responsible for producing logs for this virtualhost.</fo:block><fo:b [...]
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A <fo:inline font-style="italic">virtualhost</fo:inline> is backed by storage which is used to store the
+    messages.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Exchanges"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0 [...]
+  messages from producers and routes them to matching <fo:inline font-style="italic">Queue</fo:inline>s within the <fo:inline font-style="italic">Virtualhost</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+  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).
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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 <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-Types"><fo:inline>Section 4.6.2, “Exchange Types”</fo:inline></fo:basic-link> below.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The server predeclares a number of exchange instances with names starting with "<fo:inline font-family="monospace">amq.</fo:inline>". These are defined in
+  <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-Predeclared"><fo:inline>Section 4.6.1, “Predeclared Exchanges”</fo:inline></fo:basic-link>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Applications can make use of the pre-declared exchanges, or they may declare their own. The number of exchanges within a <fo:inline font-style="italic">Virtualhost</fo:inline> is
+  limited only by resource constraints.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The behaviour when an <fo:inline font-style="italic">Exchange</fo:inline> is unable to route a message to any queue is defined in <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-UnroutableMessage"><fo:inline>Section 4.6.4, “Unrouteable Messages”</fo:inline></fo:basic-link></fo:block><fo:block id="Java-Broker-Concepts-Exchange [...]
+   <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e584"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e585"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-b [...]
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The conceptual "<fo:inline font-family="monospace">default exchange</fo:inline>" 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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Applications may not declare exchanges with names beginning with "<fo:inline font-family="monospace">amq.</fo:inline>". Such names are reserved for system use.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Exchanges-Types"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,Zapf [...]
+   The following Exchange types are supported.
+   <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e613"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e614"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-b [...]
+   These exchange types are described in the following sub-sections.</fo:block><fo:block id="Java-Broker-Concepts-Exchanges-Types-Direct"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space- [...]
+    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 <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-BindingArguments-JMSSelector"><fo:inline>
+    binding argument specifying a JMS message selector</fo:inline></fo:basic-link>.
+   </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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.</fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e637"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em [...]
+    "<fo:inline font-family="monospace">myqueue</fo:inline>" match the binding key corresponding to queue "<fo:inline font-family="monospace">myqueue</fo:inline>" and so are routed there.  The red
+    messages published with the routing key "<fo:inline font-family="monospace">foo</fo:inline>" match two bindings in the table so a copy of the message is
+    routed to both the "<fo:inline font-family="monospace">bar1</fo:inline>" and "<fo:inline font-family="monospace">bar2</fo:inline>" queues.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The routing key of the blue message matches no binding keys, so the message is unroutable. It is handled as described
+     in <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-UnroutableMessage"><fo:inline>Section 4.6.4, “Unrouteable Messages”</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Exchanges-Types-Topic"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-we [...]
+     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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Additional filter rules may be specified using a <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-BindingArguments-JMSSelector"><fo:inline>
+     binding argument specifying a JMS message selector</fo:inline></fo:basic-link>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following three figures help explain how the topic exchange functions.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"/><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em"  [...]
+    message to every bound queue whose binding key matches the routing key.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In the case illustrated, this means that each subscriber's queue receives every yellow message.</fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="alw [...]
+    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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In the case illustrated, <fo:inline font-family="monospace">sub1</fo:inline> has received the red and green message as "<fo:inline font-family="monospace">news.uk</fo:inline>" and "<fo:inline font-family="monospace">news.de</fo:inline>"
+    match binding key "<fo:inline font-family="monospace">news.#</fo:inline>". The red message has also gone to <fo:inline font-family="monospace">sub2</fo:inline> and <fo:inline font-family="monospace">sub3</fo:inline> as it's routing key
+    is matched exactly by "<fo:inline font-family="monospace">news.uk</fo:inline>" and by "<fo:inline font-family="monospace">*.uk</fo:inline>".</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The routing key of the yellow message matches no binding keys, so the message is unroutable. It is handled as described
+    in <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-UnroutableMessage"><fo:inline>Section 4.6.4, “Unrouteable Messages”</fo:inline></fo:basic-link>.</fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e730"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum=" [...]
+    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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In the case illustrated, <fo:inline font-family="monospace">sub1</fo:inline> has received the yellow and blue message as their property "<fo:inline font-family="monospace">area</fo:inline>"
+    cause expression "<fo:inline font-family="monospace">area in ('Forties', 'Cromarty')</fo:inline>" to evaluate true.  Similarly, the yellow message has also gone to
+    <fo:inline font-family="monospace">gale_alert</fo:inline> as its property "<fo:inline font-family="monospace">speed</fo:inline>" causes expression "<fo:inline font-family="monospace">speed &gt; 7 and speed &lt; 10</fo:inline>"
+    to evaluate true.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The properties of purple message cause no expressions to evaluate true, so the message is unroutable. It is handled as described in
+    <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-UnroutableMessage"><fo:inline>Section 4.6.4, “Unrouteable Messages”</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Exchanges-Types-Fanout"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weigh [...]
+    binding argument specifying a JMS message selector</fo:inline></fo:basic-link>.</fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e777"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" [...]
+     a queue if the header properties of the message satisfy the <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-BindingArguments-x-match"><fo:inline>
+     x-match expression</fo:inline></fo:basic-link> specified by the binding arguments with which the queue was bound.
+   </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Concepts-Exchanges-BindingArguments"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="star [...]
+    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.<fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">1</fo:inline></fo:inline><fo:footnote-body font-family="serif,Symbol,ZapfDingbats" font-size="8pt" font-weight="normal" font-style="normal" text-align="justify" start-indent="0pt" end-indent="0pt" text-indent="0pt" hyphenate="true" wrap-option="w [...]
+    This is a Qpid specific extension.</fo:block></fo:footnote-body></fo:footnote>.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Exchanges-BindingArguments-x-match"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8e [...]
+    rest of the name value pairs are treated during matching.</fo:block><fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e816"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e817"><fo:list-item-label end-indent="la [...]
+      (i.e. an AND match)</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e822"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-family="monospace">any</fo:inline> implies that the message should be routed if any of the fields in the headers property match  [...]
+      fields in the arguments table (i.e. an OR match)</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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.</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Concepts-Exchanges-UnroutableMessage"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" spa [...]
+   <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e834"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e835"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-b [...]
+     If the message is still unroutable after considering the alternate binding, the message is discarded unless the sending link has requested the
+     <fo:inline font-family="monospace">REJECT_UNROUTABLE</fo:inline> target capability, or the Exchange has its <fo:inline font-family="monospace">unroutableMessageBehaviour</fo:inline> attribute set to
+     <fo:inline font-family="monospace">REJECT</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e847"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>If using the AMQP 0-10 protocol, and an alternate binding has been set on the exchange, the message is routed  [...]
+     If the message is still unroutable after considering the alternate binding,the message is discarded.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e850"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>If using AMQP protocols 0-8..0-9-1, and the publisher set the ma [...]
+     close when no route</fo:inline></fo:basic-link> feature did not close the connection, the message is returned to the Producer.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e856"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Otherwise, the message is discarded.</ [...]
+  </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Concepts-Queues"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt" [...]
+     hold/buffer messages for later delivery to consumer applications.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Messages arrive on queues either from <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges"><fo:inline>Exchanges</fo:inline></fo:basic-link>, 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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Consumers subscribe to a queue in order to receive messages from it.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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.</fo:block><fo:block id="Java-Broker-Concepts-Queues-Types"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-ind [...]
+            delivery order depends on the value of the sorting key property in each message</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e901"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Concepts-Queues-Types-LVQ"><f [...]
+              Queue</fo:inline></fo:basic-link> - also known as an LVQ, retains only the last (newest) message received
+            with a given LVQ key value</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block><fo:block id="Java-Broker-Concepts-Queues-Types-Standard"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum=" [...]
+          <fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSPriority())"><fo:inline>JMS priority message
+          header</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSPriority())">http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSPriority()</fo:basic-link>]</fo:inline> 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. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">It is possible to reduce the effective number of priorities if desired.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">JMS defines the <fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#D [...]
+          default message priority</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#DEFAULT_PRIORITY)">http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#DEFAULT_PRIORITY</fo:basic-link>]</fo:inline> as 4. Messages sent without a specified priority use this
+        default. </fo:block></fo:block><fo:block id="Java-Broker-Concepts-Queues-Types-Sorted"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" s [...]
+          <fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getStringProperty())"><fo:inline>JMS message
+          property</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getStringProperty())">http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getStringProperty()</fo:basic-link>]</fo:inline>. Sort order is alpha-numeric and the property value must have a type
+        java.lang.String.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Messages sent to a sorted queue without the specified JMS message property will be
+        put at the head of the queue.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Queues-Types-LVQ"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" tex [...]
+        when a newer message arrives with the same key value. The key is specified by arbitrary
+          <fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getPropertyNames())"><fo:inline>JMS message
+          property</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getPropertyNames())">http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getPropertyNames()</fo:basic-link>]</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Messages sent to an LVQ without the specified property will be delivered as normal and
+        will never be "replaced".</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Concepts-Queues-Message-Grouping"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maxim [...]
+      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. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> 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. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> 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 <fo:inline font-style="italic">add</fo:inline> message to the broker,
+      immediately followed by a <fo:inline font-style="italic">remove</fo:inline> message, they will be queued in the
+      proper order - <fo:inline font-style="italic">add</fo:inline>, followed by <fo:inline font-style="italic">remove</fo:inline>. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> However, if there are multiple consumers, it is possible that once a consumer acquires
+      the <fo:inline font-style="italic">add</fo:inline> message, a different consumer may acquire the
+        <fo:inline font-style="italic">remove</fo:inline> message. This allows both messages to be processed in parallel,
+      which could result in a "race" where the <fo:inline font-style="italic">remove</fo:inline> operation is incorrectly
+      performed before the <fo:inline font-style="italic">add</fo:inline> operation. </fo:block><fo:block id="Java-Broker-Concepts-Queues-GroupingMessages"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.opti [...]
+            <fo:inline font-family="monospace">JMSXGroupId</fo:inline> to specify the <fo:inline font-style="italic">group identifier</fo:inline>
+            when publishing messages.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Alternatively, the application may designate a particular message header
+            as containing a message's <fo:inline font-style="italic">group identifier</fo:inline>. 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.
+        </fo:block></fo:block><fo:block id="Java-Broker-Concepts-Queues-BrokerRole"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent [...]
+              header.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1013"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Enforce <fo:inline font-style="italic">consumption ordering</fo:inline> among messages belonging to the
+              same group. <fo:inline font-style="italic">Consumption ordering</fo:inline> means one of two things
+              depending on how the queue has been configured. </fo:block><fo:list-block provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e1022"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1023"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block> In default mode, a group gets assigned to  [...]
+                  of that consumer, and the broker will pass all subsequent messages in the group to
+                  that consumer. </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1026"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>In 'shared groups' mode (which gives the same behaviour as the Qpid C++
+                  Broker) the broker enforces a looser guarantee, namely that all the
+                    <fo:inline font-style="italic">currently unacknowledged messages</fo:inline> 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 <fo:inline font-style="italic">may</fo:inline> pass the
+                  next pending message in that group to a different consumer. </fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The absence of a value in the designated group header field of a message is treated as
+        follows: <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e1038"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1039"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label [...]
+              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. </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1042"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block> 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. </fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Note that message grouping has no effect on queue browsers.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> 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. </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Concepts-Queue-EnsureNonDestructiveConsumers"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space [...]
+          sent to that consumer are acquired exclusively by that consumer, and when the consumer
+          acknowledges them, the messages are removed from the queue.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If every consumer on a queue is non destructive then we can obtain some interesting
+          behaviours. In the case of a <fo:inline>LVQ
+          </fo:inline> 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).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A queue can be created to enforce all consumers are non-destructive.</fo:block><fo:block id="d0e1064"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingb [...]
+            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.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Minimum/Maximum TTL for a queue can be set though the HTTP Management UI, using the
+            REST API. The attribute names are <fo:inline font-family="monospace">minimumMessageTtl</fo:inline> and
+            <fo:inline font-family="monospace">maximumMessageTtl</fo:inline> and the TTL value is given in milliseconds.</fo:block></fo:block><fo:block id="d0e1077"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-be [...]
+            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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A special parameter <fo:inline font-family="monospace">x-qpid-replay-period</fo:inline> can be used in the
+            consumer declaration to control the messages the consumer wishes to receive. The
+            value of <fo:inline font-family="monospace">x-qpid-replay-period</fo:inline> 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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When using the Qpid JMS AMQP 0-x, the consumer declaration can be hinted using the
+            address.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e1092"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.op [...]
+            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).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The default filter set for a queue can be set via the REST API using the attribute named
+            <fo:inline font-family="monospace">defaultFilters</fo:inline>. 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:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e1125">
+            { "x-qpid-replay-period" : { "x-qpid-replay-period" : [ "0" ] } }
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            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:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e1129">
+            { "x-qpid-replay-period" : { "x-qpid-replay-period" : [ "60" ] } }
+        </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Concepts-Queue-HoldingEntries"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start [...]
+            until some external condition is met. </fo:block><fo:block id="d0e1136"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent [...]
+                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 <fo:inline font-family="monospace">holdOnPublishEnabled</fo:inline>
+                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)
+                <fo:inline font-family="monospace">x-qpid-not-valid-before</fo:inline>. 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.
+            </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="s [...]
+            <fo:inline font-style="italic">Overflow Policy</fo:inline>
+            can be configured on an individual <fo:inline font-style="italic">Queue</fo:inline> to limit the queue size.  The size
+            can be expressed in terms of a <fo:inline font-style="italic">maximum number of bytes</fo:inline> and/or
+            <fo:inline font-style="italic">maximum number of messages</fo:inline>.
+            The <fo:inline font-style="italic">Overflow Policy</fo:inline> defines the Queue behaviour when any of the limits is reached.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            The following <fo:inline font-style="italic">Overflow Policies</fo:inline> are supported:
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e1172"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1173"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                        <fo:inline font-style="italic">None</fo:inline>
+                        - Queue is unbounded and the capacity limits are not applied.
+                        This is a default policy applied implicitly when policy is not set explicitly.
+                    </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1179"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>
+                        <fo:inline font-style="italic">Ring</fo:inline>
+                        - 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
+                        <fo:basic-link internal-destination="Java-Broker-Concepts-Queues-Types-Priority"><fo:inline>Priority Queue</fo:inline></fo:basic-link>
+                        the oldest messages with lowest priorities are removed.
+                    </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1188"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>
+                        <fo:inline font-style="italic">Producer Flow Control</fo:inline>
+                        -The producing sessions
+                        are blocked until queue depth falls below the <fo:inline font-style="italic">resume threshold</fo:inline> set as a
+                        context variable <fo:inline font-style="italic">${queue.queueFlowResumeLimit}</fo:inline>
+                        (specifying the percentage from the limit values. Default is 80%).
+                    </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1200"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>
+                        <fo:inline font-style="italic">Flow to Disk</fo:inline>
+                        -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 <fo:basic-link internal-destination="Java-Broker-Runtime-Flow-To-Disk"><fo:inline>Flow to Disk feature</fo:inline></fo:basic-link>
+                        operates completely independent of this Queue Overflow Policy.
+                    </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1209"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>
+                        <fo:inline font-style="italic">Reject</fo:inline>
+                        -A newly arriving message is rejected when queue limit is breached.
+                    </fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            A negative value for <fo:inline font-style="italic">maximum number of messages</fo:inline> or
+            <fo:inline font-style="italic">maximum number of bytes</fo:inline> disables the limit.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            The Broker issues Operational log messages when the queue sizes are breached.  These are documented
+            at <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Message-List-Queue"><fo:inline>Table C.6, “Queue Log Messages”</fo:inline></fo:basic-link>.
+        </fo:block></fo:block><fo:block id="Java-Broker-Concepts-Queues-SetLowPrefetch"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-in [...]
+            <fo:inline font-style="italic">pre-fetch</fo:inline></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">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.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">See the messaging client documentation for details of how to configure prefetch.</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Concepts-Ports"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.wi [...]
+        AMQP messaging and HTTP management connectivity it offers for use. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Each Port is configured with the particular <fo:inline font-style="italic">Protocols</fo:inline> and
+            <fo:inline font-style="italic">Transports</fo:inline> it supports, as well as the <fo:inline font-style="italic">Authentication
+            Provider</fo:inline> to be used to authenticate connections. Where SSL is in use, the
+            <fo:inline font-style="italic">Port</fo:inline> configuration also defines which <fo:inline font-style="italic">Keystore</fo:inline>
+        to use and (where supported) which <fo:inline font-style="italic">TrustStore(s)</fo:inline> and whether Client
+        Certificates should be requested/required. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Different <fo:inline font-style="italic">Ports</fo:inline> can support different protocols, and many
+            <fo:inline font-style="italic">Ports</fo:inline> can be configured on the Broker.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The following AMQP protocols are currently supported by the Broker: <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provi [...]
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Additionally, HTTP ports can be configured for use by the associated management
+        plugin. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This diagram explains how Ports, <fo:basic-link internal-destination="Java-Broker-Concepts-Authentication-Providers"><fo:inline>Authentication Providers</fo:inline></fo:basic-link>
+        and an Access Control Provider work together to allow an application to form a connection to
+        a Virtualhost.<fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e1311"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with-next [...]
+        <fo:inline font-style="italic">Authentication Providers</fo:inline> are used by <fo:inline font-style="italic">Ports</fo:inline> to authenticate connections.
+        Many <fo:inline font-style="italic">Authentication Providers</fo:inline> can be configured on the Broker at the same time, from which
+        each <fo:inline font-style="italic">Port</fo:inline> can be assigned one.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Some Authentication Providers offer facilities for creation and deletion of users.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Other-Services"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDing [...]
+        The Broker can also have <fo:inline font-style="italic">Access Control Providers</fo:inline>, <fo:inline font-style="italic">Group Providers</fo:inline>,
+        <fo:inline font-style="italic">Keystores</fo:inline>, <fo:inline font-style="italic">Trustores</fo:inline> and [Management] <fo:inline font-style="italic">Plugins</fo:inline> configured.
+    </fo:block><fo:block id="Java-Broker-Concepts-Access-Control-Providers"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt">< [...]
+        which can be then be used in Access Control rules applicable to the whole group.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Group Provider configuration and management is covered in <fo:basic-link internal-destination="Java-Broker-Security-Group-Providers"><fo:inline>Section 8.2, “Group Providers”</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Keystores"><fo:block><fo:block><fo:blo [...]
+        for the SSL transports on Ports.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Keystore configuration and management is covered in <fo:basic-link internal-destination="Java-Broker-Management-Managing-Keystores"><fo:inline>Section 7.11, “Keystores”</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Truststores"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left= [...]
+            on SSL ports or making SSL connections to other external services like LDAP, etc.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Truststore configuration and management is covered in <fo:basic-link internal-destination="Java-Broker-Management-Managing-Truststores"><fo:inline>Section 7.12, “Truststores”</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="Java-Broker-Concepts-Loggers"><fo:block><fo:block><fo: [...]
+            an individual Virtualhost. These are described in <fo:basic-link internal-destination="Java-Broker-Runtime-Logging"><fo:inline>Section 9.1, “Logging”</fo:inline></fo:basic-link>.</fo:block></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="body" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-pu [...]
+            the Broker is started, subsequent management is performed using the <fo:basic-link internal-destination="Java-Broker-Management-Channel"><fo:inline>Management interfaces</fo:inline></fo:basic-link></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The configuration for each component is stored as an entry in the broker
+            configuration store, currently implemented as a JSON file which persists changes to
+            disk, BDB or Derby database or an in-memory store which does not. The following
+            components configuration is stored there: <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e1427"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1428"><fo:list-item-label end-indent="label-end()"><fo:b [...]
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Broker startup involves two configuration related items, the 'Initial Configuration'
+            and the Configuration Store. When the broker is started, if a Configuration Store does
+            not exist at the current <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Location"><fo:inline>store location</fo:inline></fo:basic-link> then one will be initialised with the current <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Initial-Config-Location"><fo:inline>'Initial
+                Configuration'</fo:inline></fo:basic-link>. Subsequent broker restarts will use the existing configuration
+            store and ignore the contents of the 'Initial Configuration'. </fo:block></fo:block><fo:block id="Java-Broker-Initial-Configuration-Location"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimu [...]
+            otherwise instructed. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The command line argument <fo:inline font-style="italic">-sp</fo:inline> (or
+                <fo:inline font-style="italic">--store-path</fo:inline>) can optionally be used to specify a different
+            relative or absolute path to use for the broker configuration store: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e1483">
+$ ./qpid-server -sp ./my-broker-configuration.json
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> If no configuration store exists at the specified/defaulted location when the broker
+            starts then one will be initialised using the current <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Initial-Config-Location"><fo:inline>'Initial
+                Configuration'</fo:inline></fo:basic-link>. </fo:block></fo:block><fo:block id="Java-Broker-Initial-Configuration-Initial-Config-Location"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optim [...]
+            configuration stores. The broker will default to using an internal file within its jar
+            unless otherwise instructed. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The command line argument <fo:inline font-style="italic">-icp </fo:inline> (or
+                <fo:inline font-style="italic">--initial-config-path</fo:inline>) can be used to override the brokers
+            internal file and supply a <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Create-Initial-Config"><fo:inline>user-created
+                one</fo:inline></fo:basic-link>:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e1506">
+$ ./qpid-server -icp ./my-initial-configuration.json
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> If a Configuration Store already exists at the current <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Location"><fo:inline>store location</fo:inline></fo:basic-link> then the
+            current 'Initial Configuration' will be ignored.
+        </fo:block></fo:block><fo:block id="Java-Broker-Initial-Configuration-Create-Initial-Config"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="st [...]
+            file to disk using the command line argument <fo:inline font-style="italic">-cic</fo:inline> (or
+                <fo:inline font-style="italic">--create-initial-config</fo:inline>). If the option is used without
+            providing a path, a file called <fo:inline font-style="italic">initial-config.json</fo:inline> will be created
+            in the current directory, or alternatively the file can be created at a specified
+            location: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e1527">
+$ ./qpid-server -cic ./initial-config.json
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The 'Initial Configuration' JSON file shares a common format with the brokers JSON
+            Configuration Store implementation, so it is possible to use a Broker's Configuration
+            Store output as an initial configuration. Typically 'Initial Configuration' files would
+            not to contain IDs for the configured entities, so that IDs will be generated when the
+            configuration store is initialised and prevent use of the same IDs across multiple
+            brokers, however it may prove useful to include IDs if using the Memory <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Type"><fo:inline>Configuration Store Type</fo:inline></fo:basic-link>. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> It can be useful to use <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Configuration-Properties"><fo:inline>Configuration
+                Properties</fo:inline></fo:basic-link> within 'Initial Configuration' files to allow a degree of
+            customisation with an otherwise fixed file. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> For an example file, see <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Example"><fo:inline>Section 5.7, “Example of JSON 'Initial Configuration'”</fo:inline></fo:basic-link>
+        </fo:block></fo:block><fo:block id="Java-Broker-Initial-Configuration-Type"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent [...]
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" id="d0e1548" provisional-distance-between-starts="6em * 0.60+1em" provisional-label-separation="1em"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1549"><fo:list-item-label end-indent="label-end()" text-align="start"><fo:block><fo:inline> [...]
+                        restarts and always relies on the current <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Initial-Config-Location"><fo:inline>'Initial
+                            Configuration'</fo:inline></fo:basic-link> to provide the configuration to start the broker with.
+                    </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1564"><fo:list-item-label end-indent="label-end()" text-align="start"><fo:block><fo:inline>DERBY</fo:inline></fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>stores configuration in embedded derby store</fo:block></fo:block></fo:list-item-body></fo:list-item>< [...]
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The command line argument <fo:inline font-style="italic">-st</fo:inline> (or
+                <fo:inline font-style="italic">--store-type</fo:inline>) can be used to override the default
+                <fo:inline font-style="italic">json</fo:inline>)configuration store type and allow choosing an alternative,
+            such as <fo:inline font-style="italic">Memory</fo:inline>) </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e1597">
+$ ./qpid-server -st memory
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> This can be useful when running tests, or always wishing to start the broker with the
+            same <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Initial-Config-Location"><fo:inline>'Initial
+                Configuration'</fo:inline></fo:basic-link>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Another example of broker startup with configuration in DERBY network server</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-tre [...]
+$ ./qpid-server -st JDBC \
+  -prop "systemConfig.connectionUrl=jdbc:derby://localhost:1527/path/to/store;create=true" \
+  -prop "systemConfig.username=test" -prop "systemConfig.password=password"
+        </fo:block></fo:block><fo:block id="Java-Broker-Initial-Configuration-Configuration-Properties"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align= [...]
+            ${properties} that can be resolved to String values at startup, allowing a degree of
+            customisation using a fixed file. Configuration Property values can be set either via
+            Java System Properties, or by specifying ConfigurationProperties on the broker command
+            line. If both are defined, System Property values take precedence. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The broker has the following set of core configuration properties, with the indicated
+            default values if not otherwise configured by the user: <fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e1615"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space [...]
+                                the 'lib' directory and the 'etc' directory often used to store
+                                files such as group and ACL files. </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block> Defaults to the value set into the QPID_HOME system property if
+                                it is set, or remains unset otherwise unless configured by the user.
+                            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block> qpid.work_dir </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block> Location of [...]
+                                the persistent message store and broker configuration store files. </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block> Defaults to the value set into the QPID_WORK system property if
+                                it is set, or the 'work' subdirectory of the JVMs current working
+                                directory. </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Use of these core properties can be seen in the <fo:basic-link internal-destination="Java-Broker-Initial-Configuration-Example"><fo:inline>default 'Initial Configuration' example</fo:inline></fo:basic-link>. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Configuration Properties can be set on the command line using the
+                <fo:inline font-style="italic">-prop</fo:inline> (or <fo:inline font-style="italic">--configuration-property</fo:inline>)
+            command line argument: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e1673">
+$ ./qpid-server -prop "qpid.amqp_port=10000" -prop "qpid.http_port=10001"
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> In the example above, property used to set the port number of the default AMQP port
+            is specified with the value 10000, overriding the default value of 5672, and similarly
+            the value 10001 is used to override the default HTTP port number of 8080. When using the
+            'Initial Configuration' to initialise a new Configuration Store at first broker
+            startup these new values will be used for the port numbers instead. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> NOTE: When running the broker on Windows and starting it via the qpid-server.bat
+            file, the "name=value" argument MUST be quoted. </fo:block></fo:block><fo:block id="Java-Broker-Initial-Configuration-Example"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space [...]
+            provided below:</fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e1684"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximu [...]
+{
+  "name": "${broker.name}",
+  "modelVersion" : "8.0",
+    "authenticationproviders" : [ {
+      "name" : "plain",
+      "type" : "Plain",
+      "users" : [ {
+      "name" : "guest",
+      "type" : "managed",
+      "password" : "guest"
+      } ]
+    } ],
+    "brokerloggers" : [ {
+    "name" : "logfile",
+    "type" : "File",
+    "fileName" : "${qpid.work_dir}${file.separator}log${file.separator}qpid.log",
+    "brokerloginclusionrules" : [ {
+      "name" : "Root",
+      "type" : "NameAndLevel",
+      "level" : "WARN",
+      "loggerName" : "ROOT"
+    }, {
+      "name" : "Qpid",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "org.apache.qpid.*"
+    }, {
+      "name" : "Operational",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.message.*"
+    }, {
+      "name" : "Statistics",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.statistics.*"
+    } ]
+  }, {
+    "name" : "memory",
+    "type" : "Memory",
+    "brokerloginclusionrules" : [ {
+      "name" : "Root",
+      "type" : "NameAndLevel",
+      "level" : "WARN",
+      "loggerName" : "ROOT"
+    }, {
+      "name" : "Qpid",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "org.apache.qpid.*"
+    }, {
+      "name" : "Operational",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.message.*"
+    }, {
+      "name" : "Statistics",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.statistics.*"
+    } ]
+  } ],
+  "ports" : [  {
+    "name" : "AMQP",
+    "port" : "${qpid.amqp_port}",
+    "authenticationProvider" : "plain",
+    "virtualhostaliases" : [ {
+       "name" : "nameAlias",
+       "type" : "nameAlias"
+    }, {
+        "name" : "defaultAlias",
+        "type" : "defaultAlias"
+    }, {
+        "name" : "hostnameAlias",
+        "type" : "hostnameAlias"
+    } ]
+  }, {
+    "name" : "HTTP",
+    "port" : "${qpid.http_port}",
+    "authenticationProvider" : "plain",
+    "protocols" : [ "HTTP" ]
+  }],
+  "virtualhostnodes" : [ {
+    "name" : "default",
+    "type" : "JSON",
+    "defaultVirtualHostNode" : "true",
+    "virtualHostInitialConfiguration" : "\\${qpid.initial_config_virtualhost_config}"
+  } ],
+  "plugins" : [ {
+    "type" : "MANAGEMENT-HTTP",
+    "name" : "httpManagement"
+  } ]
+}
+</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In the configuration above the following entries are stored: <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e1691"><fo:list-item space-before.optimum="1em" space-be [...]
+                                <fo:inline font-style="italic">PlainPasswordFile</fo:inline> with name "passwordFile".
+                        </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1698"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block> Two Port entries: "AMQP", "HTTP"
+                        </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1701"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block> Virtualhost Node called <fo:inline font-style="italic">default</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-it [...]
+            </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Virtual-Host-Initial-Configuration"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2e [...]
+            <fo:inline font-style="italic">Virtualhost</fo:inline> initial configuration can be specified in <fo:inline font-style="italic">Virtualhost node</fo:inline>
+            attribute <fo:inline font-style="italic">virtualHostInitialConfiguration</fo:inline>. On first startup,
+            the <fo:inline font-style="italic">virtualhost</fo:inline> is created based on provided initial configuration.
+            You can define there manageable <fo:inline font-style="italic">Virtualhost</fo:inline> attributes and children like exchanges, queues, etc.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            The attribute <fo:inline font-family="monospace">virtualHostInitialConfiguration</fo:inline> can have a value of <fo:inline font-style="italic">URL</fo:inline>
+            to an external resource where <fo:inline font-style="italic">virtualhost</fo:inline> initial configuration is provided in json format, or,
+            it can hold a string value with initial configuration in stringified json format. If required, you can
+            specify initial configuration as context variable which can be resolved as <fo:inline font-style="italic">URL</fo:inline>
+            to external resource or stringified json.
+        </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e1748"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with [...]
+            ...
+            "virtualhostnodes" : [ {
+            "name" : "default",
+            "type" : "JSON",
+            "defaultVirtualHostNode" : "true",
+            "virtualHostInitialConfiguration" : "{\"type\":\"BDB\",\"nodeAutoCreationPolicies\":[{\"patterns\":\".*\",\"createdOnPublish\":\"true\",\"createdOnConsume\":\"true\",\"nodeType\":\"queue\"}]}"
+            } ]
+            ...</fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">After creation of <fo:inline font-style="italic">virtualhost</fo:inline> the value of
+            <fo:inline font-family="monospace">virtualHostInitialConfiguration</fo:inline> is set to an empty string.</fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="body" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flo [...]
+        Console and a REST API.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1771"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>AMQP - The AMQP protocols 0-8..0-10 allow for some management of Exchanges, Queue and
+        Bindings. This will be superseded by AMQP 1.0 Management. It is suggested that new users
+        favour the Management facilities provided by the Web Console/REST API.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block><fo:block id="Java-Broker-Management-Channel-HTTP"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always"  [...]
+            Broker. The plugin actually provides two interfaces:</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e1784"><fo:list-item space-before.optimum="1em" space [...]
+                            Console</fo:inline></fo:basic-link> - rich web based interface for the management of the
+                        Broker.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1790"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Management-Channel-REST-API"><fo:inline>REST API</fo:inline></fo:basic-link> -
+                        REST API providing complete programmatic management of the Broker.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The Web Management Console itself uses the REST API, so every function you can perform
+            through the Web Management Console can be also be scripted and integrated into other
+            systems. This provides a simple integration point allowing the Broker to monitored and
+            controlled from systems such as Naoios or BMC Control-M.</fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-HTTP-DefaultConfiguration"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-befor [...]
+            is configured to require SASL authentication. The port is not SSL protected.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The settings can be changed by configuring the HTTP plugin and/or the port configured
+            to serve HTTP.</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-Web-Console"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em [...]
+        and Control of the Broker. From here, all aspects of the Broker can be controlled,
+        including: <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e1811"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1812"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-lab [...]
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The remainder of the section provides an introduction to the web management console and
+        its use.</fo:block><fo:block id="Java-Broker-Management-Channel-Web-Console-Accessing"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" s [...]
+            HTTP Management Plugin is in its default configuration, the Web Management Console can
+            be accessed by pointing a browser at the following URL:</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            <fo:inline font-family="monospace">http://myhost.mydomain.com:8080</fo:inline>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The Console will prompt you to login using a username and password.</fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e1839"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-befor [...]
+            of the screen are now explained.</fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e1853"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-aft [...]
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e1864"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1865"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                        showing all entities within the Broker. Double click on an entity name to
+                        cause its tab to be opened. </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1870"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">B</fo:inline> - Tab. Shows the details of an entity including its
+                        attributes and its child entities. </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1875"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">C</fo:inline> - Occluded tab. Click tab name to bring the tab to
+                        the front.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1880"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">D</fo:inline> - Auto restore check box. Checked tabs will be
+                        automatically restored on subsequent login.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1885"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">E</fo:inline> - Close. Click to close the tab.</fo:block></fo:block></ [...]
+                        Help.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="Java-Broker-Management-Channel-Web-Console-Orientation-Tab"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0 [...]
+                        entity. Click the panel title bar opens/closes the panel.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1913"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">2</fo:inline> - Child Panels. Panels containing a table listing
+                        the children of the entity. Click the panel title bar opens/closes the
+                        panel.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1918"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">3</fo:inline> - Child Row. Row summarizing a child entity. Double
+                        click to open the child tab.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e1923"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">4</fo:inline> - Child Operations. Buttons to add a new child or
+                        perform operations on existing children.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-Web-Console-Managing-Entities"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-alig [...]
+                on the Child Panel on the Parent's tab. Clicking the Add button causes an add
+                dialogue to be displayed.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Add dialogues allow you to set the attributes of the new child, and set context
+                variables. Most fields on the add dialogue have field level help that give more
+                details about the attribute and any default value (which may be expressed in terms
+                of a context variable) that will take effect if you leave the attribute unset. An
+                example add dialogue is shown in the figure that follows.</fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Add-Dialogue"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font- [...]
+                button on the tab corresponding to the Entity itself. Editing an entity lets you
+                change some of its attributes and modify its context variables. Most fields on the
+                edit dialogue have field level help that give more details about the attribute and
+                any default value. An example edit dialogue is shown in the figure that
+                follows.</fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Edit-Dialogue"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimu [...]
+                    <fo:inline font-family="monospace">Delete</fo:inline> button on the tab corresponding to the Entity itself.
+                For some child types, you can select many children from the parent's type and delete
+                many children at once.</fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-Web-Console-Managing-Context-Variables"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" [...]
+                    variables</fo:inline></fo:basic-link> associated with them.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Most add and edit dialogues have the ability to make context variable assignments.
+                To add/change/remove a context variable, click the Context Variable panel to expand
+                it.</fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Context-Variables-Dialogue"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-afte [...]
+                local context variables in bold, and any inherited from above in normal face.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Since context variables can be defined in terms of other context variables, the
+                display has two value columns: actual and effective. Actual shows the value truely
+                associated with the variable, where as effective shows the resulting value, after
+                variable expansion has taken place.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-family="monospace">+</fo:inline> button allows new variables to be added. The
+                    <fo:inline font-family="monospace">-</fo:inline> button removes existing ones.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">You change an existing local variables defintion by clicking on the actual value.
+                You can also <fo:inline font-style="italic">provide a local definition</fo:inline> for an inherited value
+                by clicking on the actual value and typing its new value.</fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-REST-API"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" s [...]
+      for use by developers who wish to automate the management or monitoring of the Broker. It
+      is also very useful for adhoc monitoring on the command line using tools such as
+        <fo:inline font-family="monospace">curl</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The REST API provides access to all of the Broker's entities using hierarchical paths
+      expressed by the URI. Responses are returned in JSON format.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-family="monospace">GET</fo:inline> method request retrieves information about an object, the
+        <fo:inline font-family="monospace">DELETE</fo:inline> method requests the removal of one, and the <fo:inline font-family="monospace">PUT</fo:inline>
+      or <fo:inline font-family="monospace">POST</fo:inline> methods perform updates or create new objects. The
+        <fo:inline font-family="monospace">POST</fo:inline> method is also used to invoke operations.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The REST API is versioned with the version number embedded within the URI. The general form
+      of the URI is <fo:inline font-family="monospace">/api/&lt;version&gt;</fo:inline> where &lt;version&gt; is a dot separated
+      major and minor model version prefixed with "v", for example, "v6.1" (without the quotation marks).
+      For convenience the alias <fo:inline font-family="monospace">latest</fo:inline> (<fo:inline font-family="monospace">/api/latest</fo:inline>) signifies the
+      latest supported version.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">There are also some ancillary services under URI <fo:inline font-family="monospace">/service</fo:inline> used for
+      authentication and logout.</fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-REST-API-APIDocs"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em [...]
+        <fo:inline font-family="monospace">/apidocs</fo:inline>. It is also linked from the menu of the Web Management Console.
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-REST-API-Authentication"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start"  [...]
+      by the <fo:basic-link internal-destination="Java-Broker-Concepts-Authentication-Providers"><fo:inline>authentication
+        provider</fo:inline></fo:basic-link> associated with HTTP <fo:basic-link internal-destination="Java-Broker-Concepts-Ports"><fo:inline>port</fo:inline></fo:basic-link>
+      on which you connect.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">You may authenticate using <fo:basic-link external-destination="url(https://www.ietf.org/rfc/rfc4422.txt)"><fo:inline>SASL</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(https://www.ietf.org/rfc/rfc4422.txt)">https://www.ietf.org/rfc/rfc4422.txt</fo:basic-link>]</fo:inline>
+        (<fo:inline font-family="monospace">/service/sasl</fo:inline>) or <fo:basic-link external-destination="url(https://tools.ietf.org/html/rfc2617)"><fo:inline>HTTP
+        Basic Authentication</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(https://tools.ietf.org/html/rfc2617)">https://tools.ietf.org/html/rfc2617</fo:basic-link>]</fo:inline>. The latter is convienent when using tools such as
+        <fo:inline font-family="monospace">curl</fo:inline> on the command line. This is illustrated in the examples
+      below.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For SASL authentication use a <fo:inline font-family="monospace">GET</fo:inline> request to
+        <fo:inline font-family="monospace">/service/sasl</fo:inline> to get a list of supported SASL mechanisms, and use
+        <fo:inline font-family="monospace">PUT</fo:inline> to the same URL to perform the SASL negotiation.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">It is possible to end an authenticated session using
+      <fo:inline font-family="monospace">/service/logout</fo:inline>.</fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-REST-API-Create"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum [...]
+      URI (the one ending with configured object name) or by submitting PUT/POST request against
+      parent URI. The request encoding should be json (application/json) and request body should
+      contain attributes values in json format. On successful completion of operation a response
+      should be returned having response status code set to 201 and response header "Location" set
+      to ConfiguredObject full URI. If object with a such name/id already exist and POST/PUT
+      requests is made against parent URI, an error response should be returned having response code
+      409 (conflict) and body containing the json with the reason of operation failure. If object
+      with a such name/id already exist and and PUT request is made against ConfiguredObject full
+      URI, then ConfiguredObject update should be performed and http status code 200 should be
+      returned. If ConfiguredObject cannot be created because of validation failure(s) the response
+      should have http status code set 422 (Unprocessible Entity) and body should contain json with
+      the reason of operation failure. On any other failure to create ConfiguredObject the response
+      should have status code set to 400 (Bad Request) and payload should contain a json with error
+      explaining the exact reason of failure. </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e2126"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" [...]
+        contained within virtual host node with name "vhn") either of the following requests should
+        be made: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e2131">PUT /api/latest/queue/vhn/vh HTTP/1.1</fo:block><fo:block space-before.minimum="0.8em" space-before [...]
+        "Location" should be set to "/api/latest/queue/test/my-queue". If queue with name "my-queue"
+        already exists and either of 2 first requests above were used, an error response with
+        response code 409 (conflict) and body containing json with message that queue exists should
+        be returned. If queue with name "my-queue" exists and last request is used, then Queue
+        update should occur. </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-REST-API-Update"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-bef [...]
+      ConfiguredObject full URI (the one ending with configured object name). The request encoding
+      should be json (application/json) and request body should contain a ConfiguredObject json
+      (with all or only modified attributes). On successful completion of operation a response code
+      200 should be returned. If ConfiguredObject does not exists and PUT method is used, such
+      object should be created (201 response will be returned in this case). If ConfiguredObject
+      does not exists and POST method is used, an error response should be returned having response
+      status code 404 and payload with json explaining the problem. If any error occur on update, a
+      response with response code 400 or 422 or 404 should be sent back to the client containing
+      json body with error details. </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e2146"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-aft [...]
+        virtual host node with name "vhn") either of the following requests can be made:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e2151">POST /api/latest/queue/vhn/v [...]
+      be deleted with update request having desiredState attribute set to value "DELETED". POST or
+      PUT methods can be used in this case.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">On successful completion of operation a response code 200 should be returned.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">With DELETE method object ConfiguredObject in following ways:</fo:block><fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maxi [...]
+          configured object name)</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2168"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>by submitting DELETE request using parent URI and providing parameters having the same
+          names as children attributes, for example, id, name, etc. Multiple children can be deleted
+          in a such way. Many "id" parameters can be specified in such requests. Only children with
+          matching attribute values will be deleted.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e2171"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphe [...]
+        virtual host node with name "vhn") either of the following requests can be made:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e2176">DELETE /api/latest/queue/vhn [...]
+      all queues beneath the virtualhost called <fo:inline font-family="monospace">vh</fo:inline>. A collection will be returned.
+    </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e2196">GET /api/latest/queue/vhn/vh</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-b [...]
+      For instance, to filter those queues of type <fo:inline font-family="monospace">standard</fo:inline>:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e2203">GET /api/ [...]
+            response</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2214"><fo:list-item-label end-indent="label-end()" text-align="start"><fo:block><fo:inline>actuals</fo:inline></fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>If set to "true" attribute actual values are returned instead of effective</fo:block></fo:block></fo [...]
+      parameters. Pass parameters using a JSON request body containing a map with a map entry for
+      each parameter. </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e2243"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0. [...]
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">200</fo:block>
+            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">REST request is successfully completed. This status code can be returned by
+                update, delete and get requests.</fo:block>
+            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">201</fo:block>
+            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">New configured object is created. It is returned by REST PUT and POST requests
+                for creation of configured objects.</fo:block>
+            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">400</fo:block>
+            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">REST request cannot be performed due to errors in request. It can be returned
+                from create, update and delete requests. The details of a problem are provided in
+                the response payload in json format.</fo:block>
+            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">401</fo:block>
+            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The request requires user authentication</fo:block>
+            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">403</fo:block>
+            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Execution of request is not allowed due to failure to authorize user
+                operation.</fo:block>
+            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">404</fo:block>
+            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The requested configured object cannot be found. This status code can be
+                returned from POST update requests if configured object does not exist. The reason
+                for the status code is provided in the response payload in json format. </fo:block>
+            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">409</fo:block>
+            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The request can not be performed because its execution can create conflicts in
+                the broker. This status code can be returned from POST/PUT create requests against
+                parent URI if configured object with requested name or id already exists. The status
+                code 409 can also be returned if removal or update of configured object can violate
+                system integrity. The reason for the status code is provided in the response payload
+                in json format. </fo:block>
+            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">422</fo:block>
+            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+              <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The request can not be performed because provided information either incomplete
+                or invalid. This status code can be returned from create or update requests. The
+                reason for the status code is provided in the response payload in json
+                format.</fo:block>
+            </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-REST-API-Examples"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space- [...]
+#create a durable queue
+curl --user admin -X PUT  -d '{"durable":true}' http://localhost:8080/api/latest/queue/&lt;vhostnode name&gt;/&lt;vhostname&gt;/&lt;queuename&gt;
+#create a durable priority queue
+curl --user admin -X PUT  -d '{"durable":true,"type":"priority"}' http://localhost:8080/api/latest/queue/&lt;vhostnode name&gt;/&lt;vhostname&gt;/&lt;queuename&gt;
+            </fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> NOTE: These curl examples utilise an unsecured HTTP transport. To use the examples it is
+      first necessary enable Basic authentication for HTTP within the HTTP Management Configuration
+      (it is off by default). For details see <fo:basic-link internal-destination="Java-Broker-Management-Managing-Plugin-HTTP"><fo:inline>Section 7.15, “HTTP Plugin”</fo:inline></fo:basic-link>
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-REST-Query-API"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-ind [...]
+            the <fo:inline font-style="italic">Query API</fo:inline>. This allows the retrieval of the existing configured objects attributes
+            satisfying user-provided queries.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Developers and operators can use this feature to monitor the Broker.
+            For example, using <fo:inline font-style="italic">Query API</fo:inline> one can find all queues with queue depth
+            exceeding some limit or existing connections made from a particular location(s).</fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-REST-Query-API-Overview"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minim [...]
+            When using the <fo:inline font-style="italic">Query API</fo:inline> one specifies the category of the object
+            to query, a list of attributes to return in the result set, an optional where clause,
+            expressed as a predicate, that determines the filtering criteria, ordering, and
+            limit/offset. The features should be readily recognisable to anyone who has has familiarity
+            with SQL.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Queries associate with either the <fo:inline font-style="italic">broker</fo:inline> as a whole, or an
+            individual  <fo:inline font-style="italic">virtualhost</fo:inline>.  Queries associated with the Broker
+            can query any object within the Broker. Queries associated with a virtualhost are limited
+            to the objects of the virtualhost itself.   For instance a queue query associated
+            with a virtualhost queries only the queues belonging to that virtualhost.  On the other
+            hand, a queue query associated with the Broker sees all the queues belonging on the entire
+            Broker.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            <fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e2404"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space [...]
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">/api/latest/querybroker/&lt;configured object category name&gt;</fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">/api/&lt;version&gt;/querybroker/&lt;configured object category name&gt;</fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Query API URL fragment to query the specified object type across the entire broker</fo:block>
+                            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">/api/latest/queryvhost/&lt;virtual host node name&gt;/&lt;virtual host name&gt;/&lt;configured object category name&gt;</fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">/api/&lt;version&gt;/queryvhost/&lt;virtual host node name&gt;/&lt;virtual host name&gt;/&lt;configured object category name&gt;</fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Query API URL fragment to query the specified object type for a specific virtualhost</fo:block>
+                            </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            The QueryAPI accepts <fo:inline font-family="monospace">select</fo:inline>, <fo:inline font-family="monospace">where</fo:inline>, <fo:inline font-family="monospace">orderBy</fo:inline>,
+            <fo:inline font-family="monospace">limit</fo:inline> and <fo:inline font-family="monospace">offset</fo:inline> request parameters.
+            <fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e2463"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space [...]
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">select</fo:inline></fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-family="monospace">select</fo:inline> defines the columns of the result set.  It is a
+                                    comma-separated list of expressions.  At its most simple, an expression can be
+                                    the name of the attribute (e.g. <fo:inline font-family="monospace">queueDepthBytes</fo:inline>), but more complex
+                                    <fo:basic-link internal-destination="Java-Broker-Management-Channel-REST-Query-API-Expressions"><fo:inline>expressions</fo:inline></fo:basic-link> are also supported.</fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Columns within the result set are named.  For expressions that are simple attribute
+                                    names, the column names will follow the attributes themselves.  By default, other
+                                    expressions will have a no name.</fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Column names can be overridden with an <fo:inline font-family="monospace">AS</fo:inline>
+                                    clause e.g. <fo:inline font-family="monospace">now() AS currentDate</fo:inline>
+                                </fo:block>
+                            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">where</fo:inline></fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-family="monospace">where</fo:inline> provides a boolean expression defining the result set filtering.</fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The syntax of the <fo:basic-link internal-destination="Java-Broker-Management-Channel-REST-Query-API-Expressions"><fo:inline>expression</fo:inline></fo:basic-link>
+                                    is based on a subset of the SQL92 conditional expression syntax and is similar to selector expressions in JMS e.g.
+                                    <fo:inline font-family="monospace">queueDepthBytes &gt; 16384 AND name like '%flow_queue'</fo:inline>.
+                                </fo:block>
+                            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">orderBy</fo:inline></fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Ordering conditions; the syntax of the
+                                    <fo:basic-link internal-destination="Java-Broker-Management-Channel-REST-Query-API-Expressions"><fo:inline>
+                                        expression
+                                    </fo:inline></fo:basic-link>
+                                    is based on a subset of
+                                    the SQL92 ordering expression syntax. Similar to ordering expressions in SQL,
+                                    one can specify in ordering expression attributes names, sub-expressions
+                                    or indexes (starting from 1) of attributes or expressions specified in select.
+                                </fo:block>
+                            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">limit</fo:inline></fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The maximum number of results to provide starting from given offset.</fo:block>
+                            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">offset</fo:inline></fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">An offset in results (default is 0) to provide results from.</fo:block>
+                            </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block>
+        </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e2573"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with [...]
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" id="d0e2586" provisional-distance-between-starts="7em * 0.60+1em" provisional-label-separation="1em"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2587"><fo:list-item-label end-indent="label-end()" text-align="start"><fo:block><fo:inline> [...]
+                            clause. Note that anonymous expressions (that is, those expressed without an
+                            <fo:inline font-family="monospace">AS</fo:inline>) will have empty column name.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2600"><fo:list-item-label end-indent="label-end()" text-align="start"><fo:block><fo:inline><fo:inline font-family="monospace">results</fo:inline></fo:inline></fo:block></fo:list-item-label><fo:list-item-body start-indent=" [...]
+        </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e2618"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with [...]
+{
+    "headers" : [ "name", "queueDepthBytes", "queueDepthMessages" ],
+    "results" : [ [ "foo", 312, 26], [ "bar", 300, 24 ] ],
+    "total" : 2
+}
+            </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-REST-Query-API-Expressions"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2e [...]
+                clauses can be comprised in the following manner. Expressions can be nested to arbitary depth. Parentheses
+                allow for precedence to be explicitly denoted.
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e2639"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2640"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                a reference to a parent attribute <fo:inline font-family="monospace">$parent.name</fo:inline></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2648"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>literal e.g. <fo:inline font-family="monospace">3</fo:inlin [...]
+                <fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e2674"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" s [...]
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">concat(obj[,obj..])</fo:inline></fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">concatenates the given objects into a string</fo:block>
+                            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">now()</fo:inline></fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">returns current date and time</fo:block>
+                            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">to_date(object)</fo:inline></fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">converts the first parameter, which must be a string. into a date.  The
+                                string must be in ISO-8601 format e.g. <fo:inline font-family="monospace">1970-01-01T10:00:00Z</fo:inline>.</fo:block>
+                            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">date_add(object, duration)</fo:inline></fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">adds the given ISO-8601 duration <fo:inline font-family="monospace">duration</fo:inline> e.g.
+                                    <fo:inline font-family="monospace">P1D</fo:inline> or <fo:inline font-family="monospace">-PT10H</fo:inline> to the date provided by the
+                                    first parameter.</fo:block>
+                            </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">to_string(object[, format[, timezone]])</fo:inline></fo:block>
+                            </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Converts given object into a string.</fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If the format argument is present, it must be a Java
+                                    <fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html)"><fo:inline>Formatter</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html)">http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html</fo:basic-link>]</fo:inline>
+                                    compliant string e.g. <fo:inline font-family="monospace">%f</fo:inline> or <fo:inline font-family="monospace">%tY-%tm-%td</fo:inline>.
+                                </fo:block>
+                                <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The timezone argument is significant if the object is a Date. If the timezone
+                                    argument is specified it must be a valid Java timezone name. The date is converted
+                                    to the specified timezone before being formatted by the<fo:inline font-family="monospace">format</fo:inline>.
+                                    If the timezone is omitted <fo:inline font-family="monospace">UTC</fo:inline> is assumed.
+                                </fo:block>
+                            </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block>
+            </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-REST-API-CORS"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" [...]
+      to allow web management consoles other than the one embedded in the
+      broker to use the REST API.  This feature must be enabled by configuring
+      the CORS Allow Origins and related attributes on the
+      <fo:basic-link internal-destination="Java-Broker-Management-Managing-Plugin-HTTP"><fo:inline>Section 7.15, “HTTP Plugin”</fo:inline></fo:basic-link>
+    </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Metrics"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent= [...]
+      <fo:basic-link external-destination="url(https://prometheus.io/)"><fo:inline>Prometheus format</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(https://prometheus.io/)">https://prometheus.io/</fo:basic-link>]</fo:inline>.
+      The metrics endpoint is intended for scraping by Prometheus server to collect the Broker telemetry.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The Prometheus metric endpoints are mapped under /metrics path and /metrics/*.
+      The latter allows to get the Virtual Host statistics by specify the path to the virtual host as
+      /metrics/&lt;virtual host node name&gt;/&lt; virtual host name&gt;.
+      The former allow to get all Broker statistics or Virtual Host statistics when called with HOST header
+      set to the Virtual Host name</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      The metrics endpoints allow anonymous access by default. If required, an authentication can be enabled for the
+      metrics endpoints by setting http management context variable
+      <fo:inline font-family="monospace">qpid.httpManagement.enableMetricContentAuthentication</fo:inline> to <fo:inline font-family="monospace">true</fo:inline>.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The Broker JVM statistics are disabled by default. The metrics endpoints can be called with parameter
+      <fo:inline font-family="monospace">includeDisabled</fo:inline> set to <fo:inline font-family="monospace">true</fo:inline> to include JVM  broker metrics into endpoint
+      output. If required, the JVM metrics could be enabled by setting context variable
+      <fo:inline font-family="monospace">qpid.metrics.includeDisabled</fo:inline> to <fo:inline font-family="monospace">true</fo:inline>.
+    </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e2821"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For more information about Prometheus, check out the
+        <fo:basic-link external-destination="url(https://prometheus.io/docs/introduction/overview/)"><fo:inline>prometheus documentation</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(https://prometheus.io/docs/introduction/overview/)">https://prometheus.io/docs/introduction/overview/</fo:basic-link>]</fo:inline>.
+      </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Channel-AMQP-Intrinstic"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" tex [...]
+        and Bindings.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The exact details of how to utilise this commands depends of the client. See the
+        documentation accompanying the client for details.</fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="body" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="ser [...]
+    entity management are the same regardless of entity type. For this reason, this section begins
+    with a general description that applies to all.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Since not all channels support the management of all entity type, this section commences
+    with a table showing which entity type is supported by each channel.</fo:block><fo:block id="Java-Broker-Management-Managing-Entities-General"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0e [...]
+      type.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e2850"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2851"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            called the System Context. It has no parent.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2854"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Entities have one or more attributes. For example a <fo:inline font-family="monospace">name</fo:inline>, an
+              <fo:inline font-family="monospace">id</fo:inline> or a <fo:inline font-family="monospace">maximumQueueDepth</fo:inline></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2865"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Entities can be durable or non-dura [...]
+            Non-durable entities will not.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2868"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Attributes may have a default value. If an attribute value is not specified the
+            default value is used.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2871"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Attributes values can be expressed as a simple value (e.g. <fo:inline font-family="monospace">myName</fo:inline>
+            or <fo:inline font-family="monospace">1234</fo:inline>), in terms of context variables
+              (e.g.<fo:inline font-family="monospace">${foo}</fo:inline> or <fo:inline font-family="monospace">/data/${foo}/</fo:inline>).</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2886"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Each entity has zero or more c [...]
+            It is read only and is populated with all Java System Properties. Thus it can be
+            influenced from the Broker's external environment. See <fo:basic-link internal-destination="Java-Broker-Appendix-Environment-Variables-Qpid-Opts"><fo:inline>QPID_OPTS </fo:inline></fo:basic-link>
+            environment variable.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2895"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>When resolving an attribute's value, if the value contains a variable
+              (e.g.<fo:inline font-family="monospace">${foo}</fo:inline>), the variable is first resolved using the entity's own
+            context variables. If the entity has no definition for the context variable, the
+            entity's parent is tried, then its grandparent and so forth, all the way until the
+            SystemContext is reached.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2901"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Some entities support state and have a lifecycle.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">What follows now is a section dedicated to each entity type. For each entity type key
+      features are described along with the entities key attributes, key context variables, details
+      of the entities lifecycle and any other operations.</fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Broker"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-befor [...]
+    composed of a number of other entities that collaborate to provide message broker
+    facilities.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The Broker can only be managed via the HTTP management channel.</fo:block><fo:block id="Java-Broker-Management-Managing-Broker-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e2923"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2924"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            environments that have many.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2929"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Shutdown timeout</fo:inline>. Broker shutdown timeout in seconds (disabled if 0). If clean
+            shutdown takes more than shutdown timeout, broker exits immediately.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2934"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Confidential configuration encryption provider</fo:inline [...]
+            provider used to encrypt passwords and other secrets within the configuration. See <fo:basic-link internal-destination="Java-Broker-Security-Configuration-Encryption"><fo:inline>Section 8.4, “Configuration Encryption”</fo:inline></fo:basic-link>.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Broker-Context"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-in [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e2947"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2948"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            that may be utilised on a filesystem hosting a virtualhost's message store before
+            producer flow control is automatically imposed.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This defaults to 90%.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="Java-Broker-Management-Managing-Broker-Context-BrokerDefaultSupportedProtocolVersionReply"><fo:list-item-label end-indent="label-end()"><fo:block> [...]
+            during protocol negotiation. If set, the Broker will offer this AMQP version to a client
+            requesting an AMQP protocol that is not supported by the Broker. If not set, the Broker
+            offers the highest protocol version it supports. </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2976"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>
+            <fo:inline font-style="italic">qpid.broker_msg_auth</fo:inline> If set true, the Broker ensures that the user
+            id of each received message matches the user id of the producing connection. If this
+            check fails, the message is returned to the producer's connection with a 403 (Access
+            Refused) error code.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This value can be overridden for each Virtual Host by setting the context value on the Virtual Host or
+            Virtual Host Node.
+          </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defaults to false.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Broker-Children"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-i [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e2992"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2993"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            <fo:basic-link internal-destination="Java-Broker-Management-Managing-Virtualhost-Nodes"><fo:inline>Virtualhost
+              nodes</fo:inline></fo:basic-link>
+          </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e2999"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>
+            <fo:basic-link internal-destination="Java-Broker-Management-Managing-Ports"><fo:inline>Ports</fo:inline></fo:basic-link>
+          </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3005"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Authentication Providers</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-b [...]
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Broker-Lifecycle"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start- [...]
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="s [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3063"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3064"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            not specify a virtualhost name will be connected to the virtualhost beneath this node.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3074"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Store Path or JDBC URL.</fo:inline> Ref [...]
+            configuration of the virtualhost.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3079"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Role</fo:inline> (HA only). The role that this node is currently playing in
+            the group. <fo:list-block provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3084"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3085"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>MASTER - Virtualhost node is a master.</fo:block></fo:block></fo:list-item-body></fo:list-ite [...]
+                  more nodes to join in order that an election may be held.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3094"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>DETACHED - Virtualhost node is disconnected from the group.</fo:block></fo:block></fo:list-it [...]
+            occurs. The attribute can be used to make it more likely for a node to be elected than
+            other nodes, or disallow the node from never being elected at all. See <fo:basic-link internal-destination="Java-Broker-High-Availability-Behaviour-NodePriority"><fo:inline>Section 10.4.3, “Node Priority”</fo:inline></fo:basic-link></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3103"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-it [...]
+            Allows the number of nodes required to hold an election to be reduced in order that
+            service can be restore when less than quorum nodes are present. See <fo:basic-link internal-destination="Java-Broker-High-Availability-Behaviour-MinimumNumberOfNodes"><fo:inline>Section 10.4.4, “Required Minimum Number Of Nodes”</fo:inline></fo:basic-link></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3109"><fo:list-item-label end-indent="label-end()"><fo:block> [...]
+            node in a two node group to operate solo. See <fo:basic-link internal-destination="Java-Broker-High-Availability-Behaviour-DesignatedPrimary"><fo:inline>Section 10.4.5, “Allow to Operate Solo”</fo:inline></fo:basic-link></fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Virtualhost-Node-Children"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="star [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3121"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3122"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            <fo:basic-link internal-destination="Java-Broker-Management-Managing-Virtualhosts"><fo:inline>Virtualhost</fo:inline></fo:basic-link>
+          </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3128"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>
+            <fo:basic-link internal-destination="Java-Broker-Management-Managing-RemoteReplicationNodes"><fo:inline>Remote
+              Replication Nodes</fo:inline></fo:basic-link>
+          </fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Virtualhost-Node-Lifecycle"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="sta [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3140"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3141"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            messaging connections to the virtualhost and prevents new ones. Any inflight
+            transactions are rolled back. Non durable queues and exchanges are lost. Transient
+            messages or persistent messages on non-durable queues are lost.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When HA is in use, stopping the virtualhost node stops the virtualhost node from
+            participating in the group. If the node was in the master role, the remaining nodes will
+            try to conduct an election and elect a new master. If the node was in the replica role,
+            the node will cease to keep up to date with later transactions. A stopped node does not
+            vote in elections. Other nodes in the group will report the stopped node as
+            unreachable.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3148"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Start</fo:inline>. Activates the virtualhost node.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:li [...]
+            contained within it. All exchanges and queues, any the messages contained within it are
+            removed. In the HA case, deleting the virtualhost node causes it be removed permanently
+            from the group.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Virtualhosts"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" [...]
+    responsible for the storage of message data.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Virtualhosts can only be managed by the HTTP management channel.</fo:block><fo:block id="Java-Broker-Management-Managing-Virtualhosts-Types"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-fami [...]
+            node <fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">3</fo:inline></fo:inline><fo:footnote-body font-family="serif,Symbol,ZapfDingbats" font-size="8pt" font-weight="normal" font-style="normal" text-align="justify" start-indent="0pt" end-indent="0pt" text-indent="0pt" hyphenate="true" wrap-option="wrap" linefeed-treatment="treat-as-space"><fo:block><fo:inline font-family= [...]
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Virtualhost-Context"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" sta [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3205"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3206"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            feature.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Virtualhost-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start"  [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3220"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3221"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            refer to when forming a connection to the Broker.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3226"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Store Path/JDBC URL</fo:inline>. Refers the file system location or
+            database URL used to store the message data.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3231"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Store overflow/underflow</fo:inline>. Some virtualhosts have the ability to
+            limit the of the cumulative size of all the messages contained within the store. This
+            feature is described in detail <fo:basic-link internal-destination="Java-Broker-Runtime-Disk-Space-Management"><fo:inline>Section 9.2, “Disk Space Management”</fo:inline></fo:basic-link>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3238"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="bod [...]
+            used to perform messaging with connected clients.  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defaults to 64 or double the maximum number of available processors, whichever
+            is the larger.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3245"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Number of selectors</fo:inline>. Number of worker threads
+            used from the thread pool to dispatch I/O activity to the worker threads.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defaults to one eighth of the thread pool size. Minimum 1.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3252"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:li [...]
+            transactions. See <fo:basic-link internal-destination="Java-Broker-Runtime-Transaction-Timeout"><fo:inline>Section 9.3, “Transaction Timeout”</fo:inline></fo:basic-link></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3258"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:blo [...]
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Virtualhost-Children"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" st [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3270"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3271"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            <fo:basic-link internal-destination="Java-Broker-Management-Managing-Exchanges"><fo:inline>Exchange</fo:inline></fo:basic-link>
+          </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3277"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>
+            <fo:basic-link internal-destination="Java-Broker-Management-Managing-Queues"><fo:inline>Queue</fo:inline></fo:basic-link>
+          </fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Virtualhost-Lifecycle"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" s [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3289"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3290"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            connections to the virtualhost and prevents new ones. Any inflight transactions are
+            rolled back. Non durable queues and non durable exchanges are lost. Transient messages
+            or persistent messages on non-durable queues are lost.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3295"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Start</fo:inline>. Activates the virtualhost.</fo:block></fo:block></fo [...]
+    </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-RemoteReplicationNodes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-ali [...]
+    in the group. Remote replication nodes are not created directly. Instead the system
+    automatically creates a remote replication node for every node in the group. It serves to
+    provide a view of the whole group from every node in the system.</fo:block><fo:block id="Java-Broker-Management-Managing-RemoteReplicationNodes-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before. [...]
+            remote virtualhost node</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3320"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Role</fo:inline>. Indicates the role that the remote node is playing in the
+            group at this moment. <fo:list-block provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3325"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3326"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">MASTER</fo:inline> - Remote node is a master.</fo:b [...]
+                  This remote note may be down, or an network problem may prevent it from being
+                  contacted.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+          </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3342"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Join time</fo:inline>. Time when first contact was established with this
+            node.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3347"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Last known transaction id</fo:inline>. Last transaction id reported
+            processed by node. This is an internal transaction counter and does not relate to any
+            value available to the messaging clients. This value can only be used to determine the
+            node is up to date relative to others in the group.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-RemoteReplicationNodes-Children"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" kee [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3362"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3363"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            the group. This operation should be used when the virtualhost node cannot be deleted
+            from its own Broker, for instance, if a Broker has been destroyed by machine
+            failure.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-RemoteReplication-Nodes-Operations"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-al [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3374"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3375"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            anther node in the group. The transfer sequence is as follows. <fo:list-block provisional-label-separation="0.2em" provisional-distance-between-starts="1.2em" id="d0e3380"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3381"><fo:list-item-label end-indent="label-end()"><fo:block>1.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Group waits until the proposed master is [...]
+                  clients from the old master, and in-flight transactions are rolled back. Messaging
+                  clients reconnect to the new master.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3393"><fo:list-item-label end-indent="label-end()"><fo:block>5.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>The old master will rejoin as a replica.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+          </fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Exchanges"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" st [...]
+    HTTP or AMQP channels.</fo:block><fo:block id="Java-Broker-Management-Managing-Exchanges-Types"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="sta [...]
+    </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Exchanges-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" st [...]
+            producing messages.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3434"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Type of the exchange</fo:inline>. Can be either <fo:basic-link internal-destination="Java-Broker-Concepts- [...]
+              requested by the producer, may be used if a message arriving at this exchange cannot be routed to at least
+              one queue.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3466"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">unroutableMessageBehaviour</fo:inline>. (AMQP 1.0 only) Default behaviour to apply when a
+                message is not routed to any queues.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Exchanges-Lifecycle"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-colu [...]
+    hold/buffer messages for later delivery to consumer applications.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Queues can be managed using the HTTP or AMQP channels.</fo:block><fo:block id="Java-Broker-Management-Managing-Queues-Types"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font [...]
+            delivery order depends on the value of the sorting key property in each message</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3507"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Concepts-Queues-Types-LVQ">< [...]
+              Queue</fo:inline></fo:basic-link> - also known as an LVQ, retains only the last (newest) message received
+            with a given LVQ key value</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Queues-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" spac [...]
+            name when they wish to subscribe to queue to receive messages from it.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3522"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Type of the queue</fo:inline>. Can be either <fo:basic- [...]
+            non durable queue do not survive a restart even if they are marked persistent.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3544"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Maximum/Minimum TTL</fo:inline>. Defines a maxi [...]
+                arriving with TTL larger than the maximum (including those with no TTL at all, which are considered to
+                have a TTL of infinity) will be overridden by the maximum. Similarly, messages arriving with TTL less
+                than the minimum, will be overridden by the minimum.
+            </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Changing these values affects only new arrivals, existing messages already on the
+            queue are not affected.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3551"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Message persistent override</fo:inline>. Allow message persistent settings
+            of incoming messages to be overridden. Changing this value affects only new arrivals,
+            existing messages on the queue are not affected. </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3556"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Overflow policy</fo:inline>. Queues have the ability to limit the of the
+            cumulative size of all the messages contained within the store. This feature is
+            described in detail <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3563"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start( [...]
+            variety of conditions: total queue depth exceeded a number or size, message age exceeded
+            a threshold, message size exceeded a threshold. These thresholds are soft. See <fo:basic-link internal-destination="Java-Broker-Appendix-Queue-Alerts"><fo:inline>Appendix E, <fo:inline font-style="italic">Queue Alerts</fo:inline></fo:inline></fo:basic-link></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3569"><fo:list-item-label end-indent="label-end()"><fo:block [...]
+              number of delivery attempts exceeds the <fo:inline font-style="italic">maximumDeliveryAttempts</fo:inline> configured on this
+              queue.  Messages are also routed to this destination if this queue is deleted.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Queue-Lifecycle"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weig [...]
+    in the model indicates that an application is currently connected to the queue <fo:inline font-style="italic">at this moment</fo:inline>.
+  </fo:block><fo:block id="Java-Broker-Management-Managing-Consumers-Context"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt" [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3611"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3612"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+           time that a consumer may remain suspended before the the Broker begins to
+           produce <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Message-SUB-1003"><fo:inline>SUB-1003</fo:inline></fo:basic-link>
+            operational log messages.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Ports"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start- [...]
+        protocol. This can be an AMQP protocol for messaging or HTTP for management.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A port is defined to have one or more transports. A transport can either be plain (TCP) or
+        SSL (TLS). When SSL is in use, the port can be configured to accept or require client
+        authentication.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Any number of ports defined to use AMQP or HTTP protocols can be defined.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Ports can only be managed by the HTTP management channel.</fo:block><fo:block id="Java-Broker-Management-Managing-Ports-Context"><fo:block><fo:block><fo:block keep-together.within-colu [...]
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3638"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3639"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                       of concurrent connections supported by an AMQP port.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3644"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">qpid.port.amqp.acceptBacklog</fo:inline>. The backlog is the maximum
+                        number of pending connections that may be queued by the AMQP port. Once the queue
+                        is full, further connections will be refused. This is a request to the operating system
+                        which may or may not be respected. The operating system itself may impose a ceiling.
+                        <fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">4</fo:inline></fo:inline><fo:footnote-body font-family="serif,Symbol,ZapfDingbats" font-size="8pt" font-weight="normal" font-style="normal" text-align="justify" start-indent="0pt" end-indent="0pt" text-indent="0pt" hyphenate="true" wrap-option="wrap" linefeed-treatment="treat-as-space"><fo:block><fo:inline font- [...]
+                            setting <fo:inline font-family="monospace">net.core.somaxconn</fo:inline>.</fo:block></fo:footnote-body></fo:footnote></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3658"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style= [...]
+                        which Broker and client will exchange heartbeat messages (in seconds). Clients may negotiate a
+                        different heartbeat frequency or disable it altogether. For AMQP 1.0 this setting controls the
+                        incoming idle timeout only.  A value of 0 disables.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Ports-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" st [...]
+                        single network interface.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3684"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Authentication Provider</fo:inline>. The <fo:basic-link internal-destination="Java-Broke [...]
+                            provider</fo:inline></fo:basic-link> used to authenticate incoming connections.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3692"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Protocol(s)</fo:inline>. A lis [...]
+                        the port. For messaging choose one or more AMQP protocols. For management
+                        choose HTTP.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3697"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Transports</fo:inline>. A list of transports supported by the
+                        port. For messaging or HTTP management chose TCP, SSL or both.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3702"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Enabled/Disabled Cipher Suites</fo:inline>. Allows cipher
+                        suites supported by the JVM to be enabled or disabled.  The cipher
+                        suite names are those understood by the JVM.
+                    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">SSLv3 is disabled by default.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3709"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline fo [...]
+                        containing the Broker's private key. Required if SSL is in use.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3717"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Want/Need Client Auth</fo:inline>. Client authenti [...]
+                        either accepted if offered (want), or demanded (need). When Client
+                        Certificate Authentication is in use a Truststore must be configured. When
+                        using Client Certificate Authentication it may be desirable to use the <fo:basic-link internal-destination="Java-Broker-Security-External-Provider"><fo:inline>External Authentication
+                            Provider</fo:inline></fo:basic-link>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3725"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Truststore</fo:inline>. <fo:basic-link internal-destination="Java-Broker [...]
+                        contain an issuer certificate or the public keys of the clients themselves
+                        if peers only is desired.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3733"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Maximum Open Connections</fo:inline>. AMQP ports only.  Limits
+                     the number of connections that may be open at any one time.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3738"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Thread pool size</fo:inline>. AMQP ports only.  Number of [...]
+                    used to process AMQP connections during connection negotiation phase.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defaults to 8.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3745"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-i [...]
+                    used from the thread pool to dispatch I/O activity to the worker threads.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defaults to one eighth of the thread pool size. Minimum 1.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Ports-Children"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left [...]
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3757"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3758"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+        </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Ports-Lifecycle"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" sta [...]
+                numbers do not become effective until the Broker is restarted.</fo:block></fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Authentication-Providers"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="alway [...]
+        <fo:basic-link internal-destination="Java-Broker-Concepts-Authentication-Providers"><fo:inline>Authentication
+            Providers</fo:inline></fo:basic-link> are used by <fo:basic-link internal-destination="Java-Broker-Concepts-Ports"><fo:inline>Ports</fo:inline></fo:basic-link> to
+        authenticate connections.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">See <fo:basic-link internal-destination="Java-Broker-Security-Authentication-Providers"><fo:inline>Section 8.1, “Authentication Providers”</fo:inline></fo:basic-link></fo:block><fo:block id="Java-Broker-Management-Managing-Authentication-Providers-Types"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family=" [...]
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3790"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3791"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                    Broker</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3796"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Security-External-Provider"><fo:inline>External</fo:inline></fo:basic-link>: delegates to ext [...]
+                        Certificate Authentication</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3801"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Security-Kerberos-Provider"><fo:inline>Kerberos</fo:inline></fo:basic [...]
+                        GSS-API.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3806"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Security-LDAP-Provider"><fo:inline>SimpleLDAP</fo:inline></fo:basic-link>: authenticate [...]
+                    server.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3811"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Security-OAuth2-Provider"><fo:inline>OAuth2</fo:inline></fo:basic-link>: authenticate users  [...]
+                    Server.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3816"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Security-ScramSha-Providers"><fo:inline>ScramSha</fo:inline></fo:basic-link>: authenticate u [...]
+                        local database</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3821"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Security-Plain-Provider"><fo:inline>Plain</fo:inline></fo:basic-link>: authentica [...]
+                            database.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3826"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Security-PlainPasswordFile-Provider"><fo:inline>PlainPasswordFile</fo:inline></fo: [...]
+                        in plain text in a local file.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3831"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Security-MD5-Provider"><fo:inline>MD5</fo:inline></fo:basic-link> [...]
+                        stored in a local database.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3836"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:basic-link internal-destination="Java-Broker-Security-Base64MD5PasswordFile-Provider"><fo:inline>Base64MD5Passwor [...]
+                        stored encoded in a local file.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+            </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The last five providers offer user management facilities too, that is, users can
+                be created, deleted and passwords reset.</fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Authentication-Providers-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before [...]
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3849"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3850"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Other attributes are provider specific.</fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Authentication-Providers-Children"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" fon [...]
+                the Broker is restarted.</fo:block></fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Keystores"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum= [...]
+        order to use SSL for messaging and/or management.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The Broker supports a number of different keystore types. These are described
+        below.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The key material may be held by the Broker itself (held inline within the configuration)
+        or you may use references to files on the server's file system. Whichever mechanism is
+        chosen it is imperative to ensure that private key material remains confidential.</fo:block><fo:block id="Java-Broker-Management-Managing-Keystores-Types"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-befo [...]
+                        keystore format undertood by Java and Java tools such as <fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html)"><fo:inline>keytool</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html)">http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html</fo:basic-link>]</fo:inlin [...]
+                        certificate is to be used by specifying an alias. If no alias is specified
+                        the first certificate found in the keystore will be used.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3900"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Non Java Key Store</fo:inline>. A Non Java Keystore accepts key
+                        material in PEM and DER file formats. With this store type it is necessary
+                        to provide the private key, which must not be protected by password,
+                        certificate and optionally a file containing intermediate
+                        certificates.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3905"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Auto Generated Self Signed</fo:inline> has the ability to
+                        generate a self signed certificate and produce a truststore
+                        suitable for use by an application using the Apache Qpid JMS and Apache Qpid JMS AMQP 0-x clients.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The use of self signed certficates is not recommended for production
+                        use.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Keystores-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start [...]
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3918"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3919"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                        keystore.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following attributes apply to <fo:inline font-style="italic">File Key Stores</fo:inline> only.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3932"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3933"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                        file</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3938"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Keystore password</fo:inline>. Password used to secure the keystore<fo:block space-before.minimum="0.8em" spa [...]
+                                itself. This is a restriction of the Broker implementation. If
+                                using the <fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html)"><fo:inline>keytool</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html)">http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html</fo:basic-link>]</fo:inline> utility, note
+                                that this means the argument to the <fo:inline font-family="monospace">-keypass</fo:inline> option
+                                must match the <fo:inline font-family="monospace">-storepass</fo:inline> option. </fo:block></fo:block></fo:block></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3958"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style= [...]
+                        which certificate the broker should use if the keystore contains multiple
+                        entries.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3963"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Manager Factory Algorithm</fo:inline>.In keystores the have more
+                        than one certificate, the alias identifies the certificate to be
+                        used.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3968"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Key Store Type</fo:inline>. Type of Keystore.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:li [...]
+                        an SSL handshake will be used to select the most appropriate certificate
+                        by matching an indicated hostname with the certificate hostname specified in subject or
+                        subject alternatives as CN or DC.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following attributes apply to <fo:inline font-style="italic">Non Java Key Stores</fo:inline>
+            only.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e3986"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3987"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                        This file must not be password protected.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3992"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Certificate</fo:inline>. The cerificate in DER or PEM
+                        format.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e3997"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Intermediates Certificates </fo:inline>. Optional. Intermediate
+                        cerificates in PEM or DER format.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following attributes apply to <fo:inline font-style="italic">Auto Generated Self Signed</fo:inline>
+            only.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4010"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4011"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                        self-signed certificate.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4016"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Signature Algorithm </fo:inline>. Optional. The name of signature
+                        algorithm.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4021"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Key Length</fo:inline>. Optional. Length of the key in
+                        bits.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4026"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Duration</fo:inline>. Optional. Validility period in
+                        months.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Keystores-Children"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start"  [...]
+        <fo:basic-link internal-destination="Java-Broker-Concepts-Truststores"><fo:inline>Truststores</fo:inline></fo:basic-link>
+        have a number of roles within
+        the Broker.
+        <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4051"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4052"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list [...]
+                    <fo:basic-link external-destination="url(https://en.wikipedia.org/wiki/Key_server_(cryptographic))"><fo:inline>
+                        Key Server
+                    </fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(https://en.wikipedia.org/wiki/Key_server_(cryptographic))">https://en.wikipedia.org/wiki/Key_server_(cryptographic)</fo:basic-link>]</fo:inline>
+                    so that publishing applications have convenient access to recipient's public keys.
+                </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4061"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Some authentication providers also use a truststore when connecting to authentication systems that
+                    are protected by a private issuer
+                    SSL certificate.
+                </fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block><fo:block id="Java-Broker-Management-Managing-Truststores-Types"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0p [...]
+                        truststore format understood by Java and Java tools such as <fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html)"><fo:inline>keytool</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html)">http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html</fo:basic-link>]</fo:in [...]
+                        material in PEM and DER file formats. Either a path to the certificate on the server can be specified using the file:// protocol or the certificate can be uploaded with the data:// protocol</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4084"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body sta [...]
+                        material in PEM and DER file formats. Contrary to the Non Java Trust Store this store allows the user to add multiple certificates and stores them in the broker configuration.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4089"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="bod [...]
+        </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Truststores-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="sta [...]
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4100"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4101"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                        truststore.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4106"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Exposed as Message Source</fo:inline>. If enabled, the Broker
+                        will distribute certificates contained within the truststore to clients.
+                        Used by the end to end message encryption feature.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4111"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Trust Anchor Validity Enforced</fo:inline>. If enabled, authent [...]
+                        fail if the trust anchor's validity date has not yet been reached or already expired.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Revocation attributes.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4121"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4122"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                        client tries to connect.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4127"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Only End Entity</fo:inline>. If enabled, check only the revocation status of
+                        end-entity certificates.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4132"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Prefer CRLs</fo:inline>. If enabled, prefer CRL (specified in certificate
+                        distribution points) to OCSP, if disabled prefer OCSP to CRL.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4137"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">No Fallback</fo:inline>. If enabled, disable fallbac [...]
+                        <fo:inline font-style="italic">Prefer CRLs</fo:inline> set to true, disable fallback to OCSP,
+                        otherwise disable fallback to CRL in certificate distribution points).</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4145"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Ignore Soft Failures</fo:inline>. If enable [...]
+                        if CRL/OCSP response cannot be obtained because of network error or OCSP responder returns
+                        internalError or tryLater.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4150"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Server CRL Path Or Upload</fo:inline>. Path to Certificate Revocation List file.
+                        If set, certificate revocation check uses only set CRL file and ignores CRL Distribution Points
+                        in certificate.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following attributes apply to <fo:inline font-style="italic">File Trust Stores</fo:inline> only.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4163"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4164"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                                itself. </fo:block></fo:block></fo:block></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4180"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Certificate Alias</fo:inline>. An optional way of specifying
+                        which certificate the broker should use if the keystore contains multiple
+                        entries.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4185"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Manager Factory Algorithm</fo:inline>. In keystores the have more
+                        than one certificate, the alias identifies the certificate to be
+                        used.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4190"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Key Store Type</fo:inline>. Type of Keystore.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:li [...]
+                        the Truststore it will allow authenticate only those clients that present a
+                        certificate exactly matching a certificate contained within the Truststore
+                        database.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following attributes apply to <fo:inline font-style="italic">Non Java Trust Stores</fo:inline>
+            only.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4208"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4209"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                        format.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+        </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Truststores-Children"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start [...]
+            Provider</fo:inline></fo:basic-link> governs who may do what within the Broker. It governs both messaging and
+        management.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">See <fo:basic-link internal-destination="Java-Broker-Security-AccessControlProviders"><fo:inline>Section 8.3, “Access Control Providers”</fo:inline></fo:basic-link></fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Plugin-HTTP"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDi [...]
+        Management Console</fo:inline></fo:basic-link> and the <fo:basic-link internal-destination="Java-Broker-Management-Channel-REST-API"><fo:inline>REST API</fo:inline></fo:basic-link>.</fo:block><fo:block id="Java-Broker-Management-Managing-Plugin-HTTP-Attributes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,Zap [...]
+            <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4264"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4265"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo: [...]
+                        (disabled) by default.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4270"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Basic Authentication for HTTPS</fo:inline>. It is set to true
+                        (enabled) by default.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4275"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">SASL Authentication for HTTP</fo:inline>. It is set to true
+                        (enabled) by default.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4280"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">SASL Authentication for HTTPS</fo:inline>. It is set to true
+                        (enabled) by default.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4285"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Session timeout</fo:inline> is the timeout in seconds to close
+                        the HTTP session. It is set to 10 minutes by default.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4290"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">CORS Allow Origins</fo:inline> is a comma separated list of  [...]
+        </fo:block></fo:block><fo:block id="Java-Broker-Management-Managing-Plugin-HTTP-Children"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start [...]
+                    effect at broker restart. </fo:block></fo:block></fo:block></fo:block></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="body" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-f [...]
+    authenticated. The Broker supports a number of different authentication schemes, each with
+    its own "authentication provider". Any number of Authentication Providers can be configured on
+    the Broker at the same time. </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e4334"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Important</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Only unused Authentication Provider can be deleted. For delete reques [...]
+      delete Authentication Provider associated with the Ports, the errors will be returned and
+      delete operations will be aborted. It is possible to change the Authentication Provider on
+      Port at runtime. However, the Broker restart is required for changes on Port to take effect.
+    </fo:block></fo:block></fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e4337"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      Authentication Providers may choose to selectively disable certain authentication mechanisms
+      depending on whether an encrypted transport is being used or not. This is to avoid insecure
+      configurations. Notably, by default the PLAIN mechanism will be disabled on non-SSL
+      connections. This security feature can be overwritten by setting
+      <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4340">secureOnlyMechanisms = []</fo:block> in the authentication provider
+      section of the config.json.
+      <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e4343"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Warning</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+          Changing the secureOnlyMechanism is a breach of security and might cause passwords to be
+          transfered in the clear. Use at your own risk!
+        </fo:block></fo:block></fo:block>
+    </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Security-LDAP-Provider"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-ind [...]
+                <fo:inline font-family="monospace">ldaps://example.com:636</fo:inline></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4363"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Search context</fo:inline> is the distinguished nam [...]
+                object. It defines the location from which the search for users begins, for example,
+                <fo:inline font-family="monospace">dc=users,dc=example,dc=com</fo:inline></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4370"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Search filter</fo:inline> is a DN template to fi [...]
+                provided user name, for example, <fo:inline font-family="monospace">(uid={0})</fo:inline></fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block> Additionally, the following optional fields can be specified: <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-sta [...]
+                JNDI LDAP context factory. This class must implement the <fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/InitialContextFactory.html)"><fo:inline>InitialContextFactory</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/InitialContextFactory.html)">http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/InitialContext [...]
+                not specified a default value of <fo:inline font-family="monospace">com.sun.jndi.ldap.LdapCtxFactory</fo:inline> is
+                used.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4393"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">LDAP authentication URL</fo:inline> is the URL of LDAP server for
+                performing "ldap bind". If not specified, the <fo:inline font-style="italic">LDAP server URL</fo:inline> will
+                be used for both searches and authentications.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4401"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Truststore name</fo:inline> is a name of <fo:basic-link internal-destinatio [...]
+                truststore</fo:inline></fo:basic-link>. Use this if connecting to a Directory over SSL (i.e. ldaps://)
+                which is protected by a certificate signed by a private CA (or utilising a self-signed
+                certificate).</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4409"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Authentication method</fo:inline> is a method of authentication to use on binding into LDAP
+                when <fo:inline font-family="monospace">bind without search</fo:inline> mode is not selected.
+                Supported methods are NONE, SIMPLE, GSSAPI. The latter requires setting of <fo:inline font-style="italic">Login Config Scope</fo:inline>
+                which is a name of JAAS login module from JASS login configuration file specified using JVM system
+                property <fo:inline font-style="italic">java.security.auth.login.config</fo:inline> or Java security properties file. If
+                <fo:inline font-style="italic">Login Config Scope</fo:inline> is not specified with <fo:inline font-family="monospace">GSSAPI</fo:inline>
+                <fo:inline font-style="italic">Authentication method</fo:inline>, the scope <fo:inline font-style="italic">qpid-broker-j</fo:inline> will be used.
+            </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4435"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Additional group information can be obtained from LDAP.
+                There are two common ways of representing group membership in LDAP.
+                <fo:list-block provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4438"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4439"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block>
+                        User entries can hold membership information as attribute.
+                        To use this the <fo:inline font-style="italic">attribute name</fo:inline> that holds the group information must be specified.
+                    </fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4444"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block>
+                        Group entries can hold a list of their members as attribute.
+                        This can be used by specifying a <fo:inline font-style="italic">search context</fo:inline> and <fo:inline font-style="italic">search filter</fo:inline> to find all groups that the user should be considered a member of.
+                        Typically this involves filtering groups by looking for the user's DN on a group attribute.
+                        The <fo:inline font-style="italic">subtree search scope</fo:inline> determines whether the search should include the subtree extending from the <fo:inline font-style="italic">search context</fo:inline>.
+                    </fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+            </fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e4460"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Important</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In order to protect the security of the user's password, when using LDAP authentication,
+            you must: </fo:block><fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4463"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4464"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo [...]
+                    transmission to the Broker. The Broker enforces this restriction automatically on AMQP
+                    and HTTP ports.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4467"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Authenticate to the Directory using SSL (i.e. ldaps://) to protect the password
+                    during transmission from the Broker to the Directory.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The LDAP Authentication Provider works in the following manner. If not in <fo:inline font-family="monospace">bind
+        without search</fo:inline> mode, it first connects to the Directory and searches for the ldap
+        entity which is identified by the username. The search begins at the distinguished name
+        identified by <fo:inline font-family="monospace">Search Context</fo:inline> and uses the username as a filter. The search
+        scope is sub-tree meaning the search will include the base object and the subtree extending
+        beneath it. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> If the search returns a match, or is configured in <fo:inline font-family="monospace">bind without search</fo:inline>
+        mode, the Authentication Provider then attempts to bind to the LDAP server with the given name
+        and the password. Note that <fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/api/javax/naming/Context.html#SECURITY_AUTHENTICATION)"><fo:inline>simple security
+            authentication</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javase/7/docs/api/javax/naming/Context.html#SECURITY_AUTHENTICATION)">http://docs.oracle.com/javase/7/docs/api/javax/naming/Context.html#SECURITY_AUTHENTICATION</fo:basic-link>]</fo:inline> is used so the Directory receives the password in the clear.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        By default, this authentication provider caches the result of an authentication for a short period of time. This
+        reduces the load on the Directory service if the same credentials are presented frequently within a short
+        period of time.  The length of time a result will be cached is defined by context variable
+        <fo:inline font-family="monospace">qpid.auth.cache.expiration_time</fo:inline> (default to 600 seconds).  The cache can be disabled by
+        setting the context variable <fo:inline font-family="monospace">qpid.auth.cache.size</fo:inline> to 0.
+    </fo:block></fo:block><fo:block id="Java-Broker-Security-Kerberos-Provider"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0p [...]
+        connections. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Configuration of kerberos is done through system properties (there doesn't seem to be a
+        way around this unfortunately). </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4502">
+    export JAVA_OPTS=-Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.auth.login.config=qpid.conf
+    ${QPID_HOME}/bin/qpid-server
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Where qpid.conf would look something like this:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start [...]
+com.sun.security.jgss.accept {
+    com.sun.security.auth.module.Krb5LoginModule required
+    useKeyTab=true
+    storeKey=true
+    doNotPrompt=true
+    realm="EXAMPLE.COM"
+    useSubjectCredsOnly=false
+    kdc="kerberos.example.com"
+    keyTab="/path/to/keytab-file"
+    principal="&lt;name&gt;/&lt;host&gt;";
+};</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Where realm, kdc, keyTab and principal should obviously be set correctly for the
+        environment where you are running (see the existing documentation for the C++ broker about
+        creating a keytab file). </fo:block><fo:block id="Java-Broker-Security-Kerberos-Provider-Spnego"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align [...]
+            SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism) based authentication can be configured
+            for Web Management Console and REST API.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A special JAAS login configuration needs to be provided for
+            Service Principal Name (SPN) <fo:inline font-style="italic">HTTP/{FQDN}@REALM</fo:inline> in addition to configuration
+            provided for broker service principal in scope <fo:inline font-style="italic">com.sun.security.jgss.accept</fo:inline>.
+            An example of such SPNEGO configuration is provided below, </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4523">
+spnego {
+    com.sun.security.auth.module.Krb5LoginModule required
+    useKeyTab=true
+    storeKey=true
+    doNotPrompt=true
+    realm="EXAMPLE.COM"
+    useSubjectCredsOnly=false
+    kdc="kerberos.example.com"
+    keyTab="/path/to/keytab-file-for-HTTP-principal"
+    principal="HTTP/broker.org";
+};</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e4525"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Important</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Please, note that in the example above a principal name is specified as
+            <fo:inline font-style="italic">HTTP/broker.org</fo:inline> where <fo:inline font-style="italic">broker.org</fo:inline> is supposed to be
+            a fully qualified name of the host where broker is running. The FQDN used to access the Broker
+            must match the host name in the SPN exactly otherwise the authentication will fail.</fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            A name of configuration module in the example above is <fo:inline font-style="italic">spnego</fo:inline>. It can be
+            communicated to the Kerberos authentication provider via context variable or JVM system property
+            <fo:inline font-style="italic">qpid.auth.gssapi.spnegoConfigScope</fo:inline>. For example,
+
+    <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4542">
+        export QPID_OPTS=-Dqpid.auth.gssapi.spnegoConfigScope=spnego -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.auth.login.config=qpid.conf
+    </fo:block>
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            The RELM part in name of authenticated principal logged with SPNEGO mechanism can be stripped by
+            setting context variable <fo:inline font-style="italic">qpid.auth.gssapi.spnegoStripRealmFromPrincipalName</fo:inline> to
+            <fo:inline font-style="italic">true</fo:inline>.
+        </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Security-OAuth2-Provider"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" sta [...]
+        Unfortunately, the <fo:basic-link external-destination="url(https://www.rfc-editor.org/rfc/rfc6749.txt)"><fo:inline>OAuth2 specification</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(https://www.rfc-editor.org/rfc/rfc6749.txt)">https://www.rfc-editor.org/rfc/rfc6749.txt</fo:basic-link>]</fo:inline> does not define a standard why to get the identity of a subject from an access token.
+        However, most OAuth2 implementations provide such functionality, although in different ways. Qpid handles this by providing so called IdentityResolvers.
+        Currently the following services are supported:
+        <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4562"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4563"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list [...]
+        Since all of these, with the exception of CloudFoundry, are tied to a specific service they come with defaults for the Scope, Authorization-, Token-, and IdentityResolverEndpoint.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        By default, this authentication provider caches the result of an authentication for a short period of time. This
+        reduces the load on the OAuth2 service if the same token is presented frequently within a short
+        period of time.  The length of time a result will be cached is defined by context variable
+        <fo:inline font-family="monospace">qpid.auth.cache.expiration_time</fo:inline> (default to 600 seconds).  The cache can be disabled by
+        setting the context variable <fo:inline font-family="monospace">qpid.auth.cache.size</fo:inline> to 0.
+    </fo:block></fo:block><fo:block id="Java-Broker-Security-External-Provider"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0p [...]
+        Certificates</fo:inline></fo:basic-link> be presented the External Authentication Provider can be used, such that
+        the user is authenticated based on trust of their certificate alone, and the X500Principal
+        from the SSL session is then used as the username for the connection, instead of also
+        requiring the user to present a valid username and password. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        <fo:inline font-weight="bold">Note:</fo:inline> The External Authentication Provider should typically
+        only be used on the AMQP/HTTP ports, in conjunction with <fo:basic-link internal-destination="Java-Broker-Management-Managing-Ports"><fo:inline>SSL client certificate
+            authentication</fo:inline></fo:basic-link>. It is not intended for other uses and
+        will treat any non-sasl authentication processes on these ports as successful with the given
+        username.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">On creation of External Provider the use of full DN or username CN as a principal name can
+        be configured. If attribute "Use the full DN as the Username" is set to "true" the full DN is
+        used as an authenticated principal name. If attribute "Use the full DN as the Username" is set
+        to "false" the user name CN part is used as the authenticated principal name. Setting the
+        field to "false" is particular useful when <fo:basic-link internal-destination="Java-Broker-Security-AccessControlProviders"><fo:inline>ACL</fo:inline></fo:basic-link> is required, as at the moment, ACL does not support commas in the user name.
+    </fo:block></fo:block><fo:block id="Java-Broker-Security-Anonymous-Provider"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0 [...]
+    credentials and result in their identification on the broker as the user ANONYMOUS. This
+    Provider does not require specification of any additional attributes on creation. </fo:block></fo:block><fo:block id="Java-Broker-Security-ScramSha-Providers"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-befo [...]
+        users. The users'
+        passwords are stored as salted SHA digested password. This can be further encrypted using the
+        facilities described in <fo:basic-link internal-destination="Java-Broker-Security-Configuration-Encryption"><fo:inline>Section 8.4, “Configuration Encryption”</fo:inline></fo:basic-link>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">There are two variants of this provider, SHA1 and SHA256. SHA256 is recommended whenever
+        possible. SHA1 is provided with compatibility with clients utilising JDK 1.6 (which does not
+        support SHA256).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For these providers user credentials can be added, removed or changed using
+        Management.</fo:block></fo:block><fo:block id="Java-Broker-Security-Plain-Provider"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" star [...]
+        (unlike the <fo:basic-link internal-destination="Java-Broker-Security-PlainPasswordFile-Provider"><fo:inline>PlainPasswordFile</fo:inline></fo:basic-link>, there is no separate password file). As the name suggests,
+        the user data (including password) is not hashed in any way. In order to provide encryption,
+        the facilities described in <fo:basic-link internal-destination="Java-Broker-Security-Configuration-Encryption"><fo:inline>Section 8.4, “Configuration Encryption”</fo:inline></fo:basic-link>
+        must be used.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For this provider user credentials can be added, removed or changed using
+        Management.</fo:block></fo:block><fo:block id="Java-Broker-Security-PlainPasswordFile-Provider"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align= [...]
+            instead.</fo:inline></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The PlainPasswordFile Provider uses local file to store and manage user credentials. When
+        creating an authentication provider the path to the file needs to be specified. If specified
+        file does not exist an empty file is created automatically on Authentication Provider
+        creation. On Provider deletion the password file is deleted as well.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For this provider user credentials can be added, removed or changed using
+        Management.</fo:block><fo:block id="d0e4656"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="14. [...]
+            password pairs separated by colon character. This file must not be modified externally
+            whilst the Broker is running.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4661">
+# password file format
+# &lt;user name&gt;: &lt;user password&gt;
+guest:guest
+        </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Security-MD5-Provider"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start- [...]
+        users (unlike the <fo:basic-link internal-destination="Java-Broker-Security-Base64MD5PasswordFile-Provider"><fo:inline>Base64MD5 Password File</fo:inline></fo:basic-link>, there is no separate password file). Rather than store the
+        unencrypted user password (as the Plain provider does) it instead stores the MD5 password
+        digest.  This can be further encrypted using the
+        facilities described in <fo:basic-link internal-destination="Java-Broker-Security-Configuration-Encryption"><fo:inline>Section 8.4, “Configuration Encryption”</fo:inline></fo:basic-link>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For this provider user credentials can be added, removed or changed using
+        Management.</fo:block></fo:block><fo:block id="Java-Broker-Security-Base64MD5PasswordFile-Provider"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-al [...]
+        <fo:basic-link internal-destination="Java-Broker-Security-MD5-Provider"><fo:inline>MD5</fo:inline></fo:basic-link> provider should be used
+        instead.</fo:inline></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Base64MD5PasswordFile Provider uses local file to store and manage user credentials
+        similar to PlainPasswordFile but instead of storing a password the MD5 password digest encoded
+        with Base64 encoding is stored in the file. When creating an authentication provider the path
+        to the file needs to be specified. If specified file does not exist an empty file is created
+        automatically on Authentication Provider creation. On Base64MD5PasswordFile Provider deletion
+        the password file is deleted as well.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For this provider user credentials can be added, removed or changed using
+        Management.</fo:block><fo:block id="d0e4692"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="14. [...]
+            pairs separated by colon character. The password is stored MD5 digest/Base64 encoded. This
+            file must not be modified externally whilst the Broker is running.</fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Security-Group-Providers"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" [...]
+    The Apache Qpid Broker-J utilises GroupProviders to allow assigning users to groups for use in <fo:basic-link internal-destination="Java-Broker-Security-AccessControlProviders"><fo:inline>ACLs</fo:inline></fo:basic-link>.
+    Following authentication by a given <fo:basic-link internal-destination="Java-Broker-Security-Authentication-Providers"><fo:inline>Authentication Provider</fo:inline></fo:basic-link>,
+    the configured Group Providers are consulted allowing the assignment of GroupPrincipals for a given authenticated user. Any number of
+    Group Providers can be added into the Broker. All of them will be checked for the presence of the groups for a given authenticated user.
+  </fo:block><fo:block id="File-Group-Manager"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:marker marker-class-name=" [...]
+      The <fo:inline font-style="italic">GroupFile</fo:inline> Provider allows specifying group membership in a flat file on disk.
+      On adding a new GroupFile Provider the path to the groups file is required to be specified.
+      If file does not exist an empty file is created automatically. On deletion of GroupFile Provider
+      the groups file is deleted as well. Only one instance of "GroupFile" Provider per groups file location can be created.
+      On attempt to create another GroupFile Provider pointing to the same location the error will be displayed and
+      the creation will be aborted.
+    </fo:block><fo:block id="File-Group-Manager-FileFormat"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-si [...]
+            The groups file has the following format:
+          </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4722">
+    # &lt;GroupName&gt;.users = &lt;comma delimited user list&gt;
+    # For example:
+
+    administrators.users = admin,manager
+</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            Only users can be added to a group currently, not other groups. Usernames can't contain commas.
+          </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            Lines starting with a '#' are treated as comments when opening the file, but these are not preserved when the broker updates the file due to changes made through the management interface.
+          </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Security-Group-Providers-ManagedGroupProvider"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" [...]
+            The <fo:inline font-style="italic">ManagedGroupProvider</fo:inline> allows specifying group membership as part of broker configuration.
+            In future version of Brokers GroupFile Provider will be replaced by this one.
+        </fo:block></fo:block><fo:block id="Java-Broker-Security-Group-Providers-CloudFoundry"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" s [...]
+            The <fo:inline font-style="italic">CloudFoundryDashboardManagementGroupProvider</fo:inline>
+            allows mapping of service instance ids to qpid management groups.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            One use case is restricting management capabilities of a OAuth2 authenticated user to certain virtual
+            hosts. For this, one would associate a cloudfoundry service id with each virtual host and have an ACL with a
+            separate management group for each virtual host. Given the correct service instance id to
+            management group mapping the GroupProvider will then associate the user with each management group the user
+            is provisioned to manage the associated service instance in the <fo:basic-link external-destination="url(http://docs.cloudfoundry.org/services/dashboard-sso.html#checking-user-permissions)"><fo:inline>CloudFoundry dashboard</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.cloudfoundry.org/services/dashboard-sso.html#checking-user-permissions)">http://docs.cloudfoundry.org/services/dashboard-sso.html#checking-user-p [...]
+        </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Security-AccessControlProviders"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="sta [...]
+    The Access Control Provider governs the actions that a user may perform.
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">There are two points within the hierarchy that enforce access control: the Broker itself and at each Virtual
+    Host. When an access decision needs to be made, the nearest control point configured with a provider is consulted
+    for a decision.  The example, when making a decision about the ability to say, consume from, a Queue, if the
+    Virtual Host is configured with Access Control Provider it is consulted.  Unless a decision is made, the decision
+    is delegated to the Access Control Provider configured at the Broker.
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Access Control Providers are configured with a list of ACL rules. The rules determine to which objects
+    the user has access and what actions the user may perform on those objects.  Rules are ordered and are considered
+    top to bottom.  The first matching rule makes the access decision.
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+    ACL rules may be written in terms of user or group names. A rule written in terms of a group name applies to the
+    user if he is a member of that group. Groups information is obtained from the
+    <fo:basic-link internal-destination="Java-Broker-Security-Authentication-Providers"><fo:inline>Authentication Providers</fo:inline></fo:basic-link>
+    and
+    <fo:basic-link internal-destination="Java-Broker-Security-Group-Providers"><fo:inline>Group Providers</fo:inline></fo:basic-link>.  Writing ACL in terms of groups is
+    recommended.
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+    The Access Control Providers can be configured using
+    <fo:basic-link internal-destination="Java-Broker-Management-Channel-REST-API"><fo:inline>REST Management interfaces</fo:inline></fo:basic-link>
+    and <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console"><fo:inline>Web Management Console</fo:inline></fo:basic-link>.
+  </fo:block><fo:block id="Java-Broker-Security-AccessControlProviders-Types"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt" [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e4780"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4781"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+           the Broker's or VirtualHost's configuration.  When used with HA, the Virtualhost
+           rules automatically propagated to all nodes participating within the HA group.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e4786"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">ACLFile</fo:inline> - an older provider that references an externally provided
+              ACL file (or data url).  This provider is deprecated.</fo:block>
+          </fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block><fo:block id="Java-Broker-Security-AccessControlProviders-ACLRules"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" st [...]
+       ACL Rules
+    </fo:marker><fo:block font-size="17.28pt">8.3.2. 
+       ACL Rules
+    </fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      An ACL rule-set is an ordered list of ACL rules.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">An ACL rule comprises matching criteria that determines if a rule applies to a situation and a decision
+      outcome. The rule produces an outcome only if the all matching criteria are satisfied.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Matching criteria is composed of an ACL object type (e.g. <fo:inline font-family="monospace">QUEUE</fo:inline>), an ACL action
+      (e.g. <fo:inline font-family="monospace">UPDATE</fo:inline>) and other properties that further refine if a match is made. These properties
+      restrict the match based on additional criteria such as name or IP address. ACL Object type <fo:inline font-family="monospace">ALL</fo:inline>
+      matches any object.  Likewise ACL Action <fo:inline font-family="monospace">ALL</fo:inline> matches any action.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Let's look at some examples.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="mo [...]
+      ACL ALLOW alice CREATE QUEUE              # Grants alice permission to create all queues.
+      ACL DENY bob CREATE QUEUE name="myqueue"  # Denies bob permission to create a queue called "myqueue"
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      As discussed, the ACL rule-set is considered in order with the first matching rule taking precedence over all those
+      that follow. In the following example, if the user bob tries to create an exchange "myexch", the action
+      will be allowed by the first rule. The second rule will never be considered.
+    </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4822">
+      ACL ALLOW bob ALL EXCHANGE
+      ACL DENY bob CREATE EXCHANGE name="myexch"  # Dead rule
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      If the desire is to allow bob to create all exchanges except "myexch", order of the rules must be reversed:
+    </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4826">
+      ACL DENY bob CREATE EXCHANGE name="myexch"
+      ACL ALLOW bob ALL EXCHANGE
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      If a rule-set fails to make a decision, the result is configurable. By default, the <fo:inline font-family="monospace">RuleBased</fo:inline>
+      provider defers the decision allowing another provider further up the hierarchy to make a decision (i.e. allowing
+      the VirtualHost control point to delegate to the Broker). In the case of the ACLFile provider, by default, its
+      rule-set implicit have a rule denying all operations to all users. It is as if the rule-set ends with
+      <fo:inline font-family="monospace">ACL DENY ALL ALL</fo:inline>.   If no access control provider makes a decision the default is to
+      deny the action.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      When writing a new ACL, a useful approach is to begin with an rule-set containing only
+      <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4838">ACL DENY-LOG ALL ALL</fo:block> at the Broker control point which will cause the Broker to
+      deny all operations with details of the denial logged. Build up the ACL rule by rule, gradually working through
+      the use-cases of your system. Once the ACL is complete, consider switching the DENY-LOG actions to DENY.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      ACL rules are very powerful: it is possible to write very granular rules specifying many broker objects and their
+      properties.  Most projects probably won't need this degree of flexibility.  A reasonable approach is to choose to apply permissions
+      at a certain level of abstractions and apply them consistently across the whole system.
+    </fo:block></fo:block><fo:block id="Java-Broker-Security-AccessControlProviders-Syntax"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" star [...]
+       Syntax
+    </fo:marker><fo:block font-size="17.28pt">8.3.3. 
+       Syntax
+    </fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+       ACL rules follow this syntax:
+    </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4848">
+     ACL {permission} {&lt;group-name&gt;|&lt;user-name&gt;|ALL} {action|ALL} [object|ALL] [property="&lt;property-value&gt;"]
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+       Comments may be introduced with the hash (#) character and are ignored.  Long lines can be broken with the slash (\) character.
+    </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e4852">
+      # A comment
+      ACL ALLOW admin CREATE ALL # Also a comment
+      ACL DENY guest \
+      ALL ALL   # A broken line
+    </fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="table-Java-Broker-Security-AccessControlProviders-Syntax_permissions"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyph [...]
+          <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Applied when the contents of a queue is purged</fo:block> </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block><fo:block space-before.optimum="1em" spac [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              Comma-separated strings representing IPv4 address ranges.
+            </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              Intended for use in ACCESS VIRTUALHOST rules to apply firewall-like restrictions.
+            </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              The rule matches if any of the address ranges match the IPv4 address of the messaging client.
+              The address ranges are specified using either Classless Inter-Domain Routing notation
+              (e.g. 192.168.1.0/24; see <fo:basic-link external-destination="url(http://tools.ietf.org/html/rfc4632)"><fo:inline>RFC 4632</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://tools.ietf.org/html/rfc4632)">http://tools.ietf.org/html/rfc4632</fo:basic-link>]</fo:inline>)
+              or wildcards (e.g. 192.169.1.*).
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block> <fo:inline font-weight="bold">from_hostname</fo:inline> </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              Comma-separated strings representing hostnames, specified using Perl-style regular
+              expressions, e.g. .*\.example\.company\.com
+            </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              Intended for use in ACCESS VIRTUALHOST rules to apply firewall-like restrictions.
+            </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              The rule matches if any of the patterns match the hostname of the messaging client.
+            </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              To look up the client's hostname, Qpid uses Java's DNS support, which internally caches its results.
+            </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              You can modify the time-to-live of cached results using the *.ttl properties described on the
+              Java <fo:basic-link external-destination="url(http://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html)"><fo:inline>Networking
+              Properties</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html)">http://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html</fo:basic-link>]</fo:inline> page.
+            </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              For example, you can either set system property sun.net.inetaddr.ttl from the command line
+              (e.g. export QPID_OPTS="-Dsun.net.inetaddr.ttl=0") or networkaddress.cache.ttl in
+              $JAVA_HOME/lib/security/java.security. The latter is preferred because it is JVM
+              vendor-independent.
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block><fo:inline font-weight="bold">connection_limit</fo:inline></fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-b [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              A maximum number of connections the users belonging to the given identity can establish to the Virtual Host
+            </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              Intended for use in ACCESS VIRTUALHOST rules to restrict the number of connections which can be made
+              by the messaging user.
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block><fo:inline font-weight="bold">connection_frequency_limit</fo:inline></fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              A maximum number of connections the user belonging to the given identity can establish to the Virtual Host
+              within pre-defined period of time, which is 1 minute by default.
+            </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              Intended for use in ACCESS VIRTUALHOST rules to restrict the frequency of connections which can be made
+              by the messaging user.
+            </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If required, the frequency period can be changed using context variable
+              <fo:inline font-style="italic">qpid.virtualhost.connectionFrequencyPeriodInMillis</fo:inline>. As name suggests, its value needs
+              to be specified in milliseconds. Setting it to zero or negative value turns off the
+              <fo:inline font-weight="bold">connection_frequency</fo:inline> evaluation.
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block><fo:inline font-weight="bold">virtualhost_name</fo:inline></fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-b [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              String. A name of virtual host to which the rule is applied.
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block><fo:inline font-weight="bold">method_name</fo:inline></fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              String. The name of the method. A trailing wildcard (*) is permitted.  Used with INVOKE ACL action.
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block><fo:inline font-weight="bold">attribute_names</fo:inline></fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              Specifies attribute name criteria.  Used by UPDATE ACL actions only.  Rules with this criteria will match
+              if and only if the set of attributes being updated Comma separated list of attribute names .  This criteria
+              will match if all attributes included within the update appear in the set described by
+              <fo:inline font-family="monospace">attribute_names</fo:inline>.
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block><fo:block id="Java-Broker-Security-AccessControlProviders-WorkedExamples"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-bef [...]
+      Worked Examples
+    </fo:marker><fo:block font-size="17.28pt">8.3.4. 
+      Worked Examples
+    </fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      Here are some example ACLs illustrating common use cases.
+    </fo:block><fo:block id="Java-Broker-Security-AccessControlProviders-WorkedExample1"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-i [...]
+        Worked example 1 - Management rights
+      </fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        Suppose you wish to permission two users: a user <fo:inline font-family="monospace">operator</fo:inline> must be able to perform all
+        Management operations, and a user 'readonly' must be enable to perform only read-only actions. Neither
+        <fo:inline font-family="monospace">operator</fo:inline> nor <fo:inline font-family="monospace">readonly</fo:inline> should be allowed to connect clients for
+        messaging.
+      </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e5554"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with-n [...]
+          # Deny operator/readonly permission to connect for messaging.
+          ACL DENY-LOG operator ACCESS VIRTUALHOST
+          ACL DENY-LOG readonly ACCESS VIRTUALHOST
+          # Give operator permission to perfom all actions
+          ACL ALLOW operator ALL ALL
+          # Give readonly access permission to virtualhost. (Read permission for all objects implicit)
+          ACL ALLOW readonly ACCESS MANAGEMENT
+          ...
+          ... rules for other users
+          ...
+        </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Security-AccessControlProviders-ResourceRestrictions"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before [...]
+        Resource restrictions
+      </fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        The number of Virtual Host connections and frequency of connections can be restricted with
+        <fo:inline font-style="italic">ACCESS</fo:inline> rule.
+      </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e5567"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with-n [...]
+          ACL ALLOW-LOG guest ACCESS VIRTUALHOST connection_limit=1
+          ACL ALLOW-LOG messaging-users ACCESS VIRTUALHOST connection_frequency_limit=100
+          ...
+        </fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In the example above the maximum number of connections allowed to establish to the Virtual Host by user
+        <fo:inline font-style="italic">guest</fo:inline> is set to <fo:inline font-style="italic">1</fo:inline>. The maximum connection frequency for every user
+        belonging to the user group <fo:inline font-style="italic">messaging-users</fo:inline> is set to <fo:inline font-style="italic">100</fo:inline> (per minute,
+        by default).
+      </fo:block></fo:block><fo:block id="Java-Broker-Security-AccessControlProviders-WorkedExample2"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="s [...]
+        Worked example 2 - Simple Messaging
+      </fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        Suppose you wish to permission a system for application messaging.  User <fo:inline font-family="monospace">publisher</fo:inline>
+        needs permission to publish to <fo:inline font-family="monospace">appqueue</fo:inline> and consumer needs permission to consume
+        from the same queue object. We also want <fo:inline font-family="monospace">operator</fo:inline> to be able to inspect messages
+        and delete messages in case of the need to intervene.  This example assumes that the queue exists on
+        the Broker.
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        We use this ACL to illustrate separate Broker and Virtualhost access control providers.
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        The following ACL rules are given to the Broker.
+      </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e5604"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with-n [...]
+# This gives the operate permission to delete messages on all queues on all virtualhost
+ACL ALLOW operator ACCESS MANAGEMENT
+ACL ALLOW operator INVOKE QUEUE method_name="deleteMessages"
+ACL ALLOW operator INVOKE QUEUE method_name="getMessage*"
+        </fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        And the following ACL rule-set is applied to the Virtualhost.  The default outcome of the
+        Access Control Provider must be <fo:inline font-family="monospace">DEFERED</fo:inline>.  This means that if a request for
+        access is made for which there are no matching rules, the decision will be deferred to the
+        Broker so it can make a decision instead.
+      </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e5614"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with-n [...]
+# Configure the rule-set to DEFER decisions that have no matching rules.
+CONFIG DEFAULTDEFER=TRUE
+# Allow client and server to connect to the virtual host.
+ACL ALLOW publisher ACCESS VIRTUALHOST
+ACL ALLOW consumer ACCESS VIRTUALHOST
+
+ACL ALLOW publisher PUBLISH EXCHANGE name="" routingKey="appqueue"
+ACL ALLOW consumer CONSUME QUEUE name="appqueue"
+# In some addressing configurations, the Qpid JMS AMQP 0-x client, will declare the queue as a side effect of creating the consumer.
+# The following line allows for this.  For the Qpid JMS AMQP 1.0 client, this is not required.
+ACL ALLOW consumer CREATE QUEUE name="appqueue"
+        </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Security-AccessControlProviders-WorkedExample3"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maxim [...]
+        Worked example 3 - firewall-like access control
+      </fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        This example illustrates how to set up an ACL that restricts the IP addresses and hostnames
+        of messaging clients that can access a virtual host.
+      </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e5624"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with-n [...]
+          ################
+          # Hostname rules
+          ################
+
+          # Allow messaging clients from company1.com and company1.co.uk to connect
+          ACL ALLOW all ACCESS VIRTUALHOST from_hostname=".*\.company1\.com,.*\.company1\.co\.uk"
+
+          # Deny messaging clients from hosts within the dev subdomain
+          ACL DENY-LOG all ACCESS VIRTUALHOST from_hostname=".*\.dev\.company1\.com"
+
+          ##################
+          # IP address rules
+          ##################
+
+          # Deny access to all users in the IP ranges 192.168.1.0-192.168.1.255 and 192.168.2.0-192.168.2.255,
+          # using the notation specified in RFC 4632, "Classless Inter-domain Routing (CIDR)"
+          ACL DENY-LOG messaging-users ACCESS VIRTUALHOST \
+          from_network="192.168.1.0/24,192.168.2.0/24"
+
+          # Deny access to all users in the IP ranges 192.169.1.0-192.169.1.255 and 192.169.2.0-192.169.2.255,
+          # using wildcard notation.
+          ACL DENY-LOG messaging-users ACCESS VIRTUALHOST \
+          from_network="192.169.1.*,192.169.2.*"
+        </fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Security-Configuration-Encryption"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-bef [...]
+    Broker's configuration. This is means that items such as keystore/truststore passwords, JDBC
+    passwords, and LDAP passwords can be stored in the configure in a form that is difficult to
+    read.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The Broker ships with an encryptor implementation called <fo:inline font-family="monospace">AESKeyFile</fo:inline>. This
+    uses a securely generated random key of 256bit<fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">1</fo:inline></fo:inline><fo:footnote-body font-family="serif,Symbol,ZapfDingbats" font-size="8pt" font-weight="normal" font-style="normal" text-align="justify" start-indent="0pt" end-indent="0pt" text-indent="0pt" hyphenate="true" wrap-option="wrap" linefeed-treatment="treat-as-space"> [...]
+        Unlimited Strength required</fo:block></fo:footnote-body></fo:footnote> to encrypt the secrets stored within a key
+    file. Of course, the key itself must be guarded carefully, otherwise the passwords encrypted
+    with it may be compromised. For this reason, the Broker ensures that the file's permissions
+    allow the file to be read exclusively by the user account used for running the Broker.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e5644"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Important</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If the keyfil [...]
+      Web Management Console.  On enabling the provider, any existing passwords within the
+      configuration will be automatically rewritten in the encrypted form.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Note that passwords stored by the Authentication Providers <fo:basic-link internal-destination="Java-Broker-Security-PlainPasswordFile-Provider"><fo:inline>PlainPasswordFile</fo:inline></fo:basic-link> and.
+        <fo:basic-link internal-destination="Java-Broker-Security-Base64MD5PasswordFile-Provider"><fo:inline>PlainPasswordFile</fo:inline></fo:basic-link>
+      with the external password files are <fo:inline font-style="italic">not</fo:inline> encrypted by the key. Use the
+      Scram Authentication Managers instead; these make use of the Configuration Encryption when
+      storing the users' passwords. </fo:block></fo:block><fo:block id="Java-Broker-Security-Configuration-Encryption-Alternate-Implementations"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" [...]
+      the user, perhaps owing to the security standards of their institution, the
+        <fo:inline font-family="monospace">ConfigurationSecretEncrypter</fo:inline> interface is designed as an extension point.
+      Users may implement their own implementation of ConfigurationSecretEncrypter perhaps to employ
+      stronger encryption or delegating the storage of the key to an Enterprise Password
+      Safe.</fo:block></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="body" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left= [...]
+    <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e5692"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5693"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-ite [...]
+          plain files, remote syslog daemons, and an in-memory buffer (viewable from Management).
+          The system is also open for extension meaning it is possible to produce a plugin to log to
+          a bespoke destination.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5696"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Logging can be dynamically configured at runtime. For instance, it is possible to
+          temporarily increase the logging verbosity of the system whilst a problem is investigated
+          and then revert later, all without the need to restart the Broker.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5699"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Virtualhosts can be configured to generate their own separate log, and the Broker is
+          capable of generating a log either inclusive or exclusive of virtualhost events.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5702"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Logs are accessible over Management, removing the need for those operating the Broker
+          to have shell level access.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In the remainder of this section you will first find a description of the concepts used in
+    the logging subsystem. Next, you find a description of the default configuration. The section
+    then concludes with a in-depth description of the loggers themselves and how they may be
+    configured.</fo:block><fo:block id="Java-Broker-Runtime-Logging-Concepts"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt" [...]
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e5715"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5716"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            ships a variety of loggers, for instance, a file logger, which is capable of writing a
+            log file to the file system, a Syslog Logger capable of writing to a remote syslog
+            daemon and console logger capable of writing to stdout or stderr.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Loggers are attached at two points within the Broker Model; the Broker itself and
+            the virtualhosts. Loggers attached at the Broker can capture log events for the system
+            as a whole, or can exclude events related to virtualhosts.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Loggers attached to a virtualhost capture log events relating to that virtualhost
+            only.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The Broker and virtualhosts can have zero or more Loggers. If no loggers are
+            configured, no logging is generated at all.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5728"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Inclusion rules</fo:inline> govern what appears within a log. Inclusion
+            rules are associated with Loggers. This means it is possible for different Loggers to
+            have different contents.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A Logger with no inclusion rules will produce an empty log.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block><fo:block id="Java-Broker-Runtime-Logging-Default-Configuration"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start [...]
+      production environments. It has the following characteristics:</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e5743"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5744"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            rolled automatically when the file reaches 100MB. A maximum history of one file is
+            retained. On restart the the log will be appended to.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The log contains: <fo:list-block provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e5752"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5753"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item- [...]
+                higher.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5761"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Log events from Qpid's dependencies (such as Derby or Jetty) that are
+                  deemed warning or higher.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+          </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The default location for the log file is
+              <fo:inline font-family="monospace">${QPID_WORK}/log/qpid.log</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5770"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>The Broker also caches the last 4096 log events in a memory cache. By default, the
+            memory logger logs the same things the file logger does.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The configuration can be customised at runtime using Management. This makes it possible to
+      investigate unusual conditions <fo:inline font-style="italic">without</fo:inline> the need to restart the Broker.
+      For instance, you may alter the logging level so that a verbose log is produced whilst an
+      investigation is in progress and revert the setting later, all without the need to restart the
+      Broker.</fo:block></fo:block><fo:block id="Java-Broker-Runtime-Logging-Loggers"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-inde [...]
+      Logger's inclusion rules.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Loggers are associated with either the Broker or a virtualhost. Virtualhost loggers write
+      only log events related to that virtualhost. Broker Loggers write log events from the Broker
+      as a whole. Optionally a Broker Logger can be configured to exclude log events coming from
+      virtualhosts. These abilities can be usefully exploited together in managed service scenarios
+      to produce separate logs for separate user groups.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Loggers can be added or removed at runtime, without restarting the Broker. However changes
+      to a Logger's configuration such as filenames and rolling options don't take effect until the
+      next restart. Changes to a Logger's inclusion rules take effect immediately.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">All loggers allow the log event layout to be customised. Loggers understand <fo:basic-link external-destination="url(http://logback.qos.ch/manual/layouts.html#ClassicPatternLayout)"><fo:inline> Logback Classic
+        Pattern Layouts</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://logback.qos.ch/manual/layouts.html#ClassicPatternLayout)">http://logback.qos.ch/manual/layouts.html#ClassicPatternLayout</fo:basic-link>]</fo:inline>. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following sections describes each Logger implementation in detail.</fo:block><fo:block id="Java-Broke [...]
+        location of the log file, the rolling configuration, and compression options can be
+        configured.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-style="italic">roll daily</fo:inline> option, if enabled, will cause the log file will be
+        rolled at midnight local time. The rolled over file will have a suffix in the form
+          <fo:inline font-family="monospace">yyyy-mm-dd</fo:inline>. In roll daily mode, <fo:inline font-style="italic">maximum number of rolled
+          files</fo:inline> controls the maximum number of <fo:inline font-style="italic">days</fo:inline> to be retained.
+        Older files will be deleted.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-style="italic">maximum file size</fo:inline> option limits the size of any one log file.
+        Once a log file reaches the given size, it will be rolled. The rolled over file will have
+        the numeric suffix, beginning at <fo:inline font-family="monospace">1</fo:inline>. If the log file rolls again, first
+        the existing file with the suffix <fo:inline font-family="monospace">.1</fo:inline> is renamed to <fo:inline font-family="monospace">.2</fo:inline>
+        and so forth. If roll daily is not in use, <fo:inline font-style="italic">maximum number of rolled
+          files</fo:inline> governs the number of rolled <fo:inline font-style="italic">files</fo:inline> that will be
+        retained.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Roll on restart</fo:inline> governs whether the log file is rolled when the
+        Broker is restarted. If not ticked, the Broker will append to the existing log file until it
+        needs to be rolled.</fo:block></fo:block><fo:block id="Java-Broker-Runtime-Logging-Loggers-ConsoleLogger"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" t [...]
+        error.</fo:block></fo:block><fo:block id="Java-Broker-Runtime-Logging-Loggers-SyslogLogger"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="sta [...]
+          <fo:inline font-family="monospace">USER</fo:inline> facility. The hostname and port number of the syslog daemon can be
+        configured.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Log entries can be prefixed with a string. This string defaults to include the word
+          <fo:inline font-family="monospace">Qpid</fo:inline> and the name of the Broker or virtualhost. This serves to
+        distinguish the logging generated by this Qpid instance, from other Qpid instances, or other
+        applications using the <fo:inline font-family="monospace">USER</fo:inline>.</fo:block></fo:block><fo:block id="Java-Broker-Runtime-Logging-Loggers-MemoryLogger"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" spac [...]
+        default the circular buffer holds the last 4096 log events. The contents of the buffer can
+        be viewed via Management. See <fo:basic-link internal-destination="Java-Broker-Runtime-Logging-Management-MemoryLogger"><fo:inline>Figure 9.3, “Viewing a memory logger”</fo:inline></fo:basic-link></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Logging-InclusionRules"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-fami [...]
+      govern what appears in the log. A Logger with no inclusion rules will log nothing.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Inclusion rules can be added, removed or changed at runtime. Changes take place
+      immediately.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e5889"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5890"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+            a given <fo:inline font-style="italic">log event source name</fo:inline> and have a level that equals or
+            exceeds the specified value.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The log event source name refers to the fully qualified class name from which the
+            event originates. These names permit a trailing wild card <fo:inline font-family="monospace">.*</fo:inline>. For
+            instance a source name of <fo:inline font-family="monospace">org.apache.qpid.*</fo:inline> will match all events
+            from classes in the package <fo:inline font-family="monospace">org.apache.qpid</fo:inline> and any sub packages
+            beneath.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-style="italic">Level</fo:inline> governs the level of the events that will be included
+            in the log. It may take one of the following values: ERROR, WARN, INFO, DEBUG, TRACE
+            where ERROR is considered the highest and TRACE the lowest. In addition, there are two
+            special values: OFF and ALL, the former excludes all log events whereas the latter will
+            include everything. When considering whether a logging event should be included in the
+            log, the logging event must have a level that matches that of the inclusion rule or be
+            higher, otherwise the log event will not appear in the log.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block></fo:block><fo:block id="Java-Broker-Runtime-Logging-Management"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0p [...]
+      REST API. You can: <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e5921"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5922"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-it [...]
+            the Logger.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e5931"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>For MemoryLoggers, view the last <fo:inline font-family="monospace">n</fo:inline> log
+          events</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The figure that follows shows a FileLogger. The attributes area shows the configuration
+      of the Logger. The inclusion rule table shows the rules that are associated with the Logger.
+      The area towards the bottom of the tab allows the log files to be downloaded to the browser.
+        <fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="Java-Broker-Runtime-Logging-Management-FileLogger"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.ma [...]
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The figure below shows the editing of the level of an inclusion rule. <fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="Java-Broker-Runtime-Logging-Management-InclusionRule"><fo:block space-before.optimum="1em" space- [...]
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The figure below shows a Memory Logger. Note that the Memory Logger provides access to
+      the cached message via the viewer towards the bottom on the tab. <fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="Java-Broker-Runtime-Logging-Management-MemoryLogger"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space [...]
+    </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Disk-Space-Management"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" st [...]
+        The Apache Qpid Broker-J supports a flow control mechanism which is triggered when a configured
+        disk quota is exceeded. This is supported by the BDB and Derby virtualhosts.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        This functionality blocks all producers on reaching the disk overflow limit. When consumers consume the
+        messages, causing disk space usage to falls below the underflow limit, the producers are unblocked and continue
+        working as normal.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        Two limits can be configured:
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        overfull limit - the maximum space on disk (in bytes).
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        underfull limit - when the space on disk drops below this limit, producers are allowed to resume publishing.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        The overfull and underful limit can be specified when a new virtualhost is created or an exiting virtualhost is
+        edited. This can be done using the Store Overflow and Store Underfull settings within the virtual host creation
+        and edit dialogue. If editing an existing virtualhost, the virtualhost must be restarted for the new values to
+        take effect.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        The disk quota functionality is based on "best effort" principle. This means the broker cannot guarantee that
+        the disk space limit will not be exceeded. If several concurrent transactions are started before the limit is
+        reached, which collectively cause the limit to be exceeded, the broker may allow all of them to be committed.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        The Broker will also impose flow control if the filesystem hosting a virtualhost exceeds a <fo:basic-link internal-destination="Java-Broker-Management-Managing-Broker-Context-StoreFilesystemMaxUsagePercent"><fo:inline>configured
+        percentage.</fo:inline></fo:basic-link>.
+    </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e6001"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            The <fo:inline font-style="italic">Producer Flow Control</fo:inline> can be configured on individual queue using
+            <fo:inline font-style="italic">Producer Flow Control</fo:inline> overflow policy.
+            For more details, please read<fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link>.
+        </fo:block></fo:block></fo:block><fo:block id="d0e6012"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block fon [...]
+            There are two broker log messages that may occur if flow control through disk quota limits is enabled. When
+            the virtual host is blocked due to exceeding of the disk quota limit the following message appears in the
+            broker log
+            <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e6017">
+                [vh(/test)/ms(BDBMessageStore)] MST-1008 : Store overfull, flow control will be enforced
+            </fo:block>
+            When virtual host is unblocked after cleaning the disk space the following message appears in the broker log
+            <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e6020">
+                [vh(/test)/ms(BDBMessageStore)] MST-1009 : Store overfull condition cleared
+            </fo:block>
+        </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Transaction-Timeout"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-ali [...]
+   using transactions hang, become unresponsive, or simply (due to programming error)
+   begin a transaction and keep using it without ever calling committing or rolling back.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Users can choose to configure an idleWarn or openWarn threshold, after which the identified
+   transaction should be logged as a WARN level alert as well as (more importantly) an idleClose or
+   openClose threshold after which the transaction and the connection it applies to will be
+   closed.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This feature is particularly useful in environments where the owner of the broker does not
+   have full control over the implementation of clients, such as in a shared services
+   deployment.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following section provide more details on this feature and its use.</fo:block></fo:block><fo:block id="Java-Broker-Runtime-Transaction-Timeout-Purpose"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symb [...]
+   broker holds an open transaction on the persistent store. This can have undesirable consequences
+   if the store does not time out or close long-running transactions, such as with BDB. This can can
+   result in a rapid increase in disk usage size, bounded only by available space, due to growth of
+   the transaction log. </fo:block></fo:block><fo:block id="Java-Broker-Runtime-Transaction-Timeout-Effect"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-al [...]
+   gives a brief overview of what the Transaction Timeout feature can do.</fo:block><fo:block id="Java-Broker-Runtime-Transaction-Timeout-Effect-Broker-Side"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.op [...]
+    level alert with details of the connection on which the threshold has been exceeded,
+    along with the age of the transaction.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When the openClose or idleClose specified threshold value is exceeded, the broker will
+    throw an exception back to the client connection via the <fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html)"><fo:inline>ExceptionListener</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html)">http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html</fo:basic-link>]</fo:inline>, log the
+    action and then close the connection.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The example broker log output shown below is where the idleWarn threshold specified is
+    lower than the idleClose threshold and the broker therefore logs the idle transaction 3 times
+    before the close threshold is triggered and the connection closed out.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e6060">
+CON-1011 : Idle Transaction : 13,116 ms
+CON-1011 : Idle Transaction : 14,116 ms
+CON-1011 : Idle Transaction : 15,118 ms
+CON-1002 : Close : Idle transaction timed out
+   </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The second example broker log output shown below illustrates the same mechanism operating
+    on an open transaction.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e6064">
+CON-1010 : Open Transaction : 12,406 ms
+CON-1010 : Open Transaction : 13,406 ms
+CON-1010 : Open Transaction : 14,406 ms
+CON-1002 : Close : Open transaction timed out
+   </fo:block></fo:block><fo:block id="Java-Broker-Runtime-Transaction-Timeout-Effect-Client-Side"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="star [...]
+    The application must reconnect itself in order to continue work.  If the
+    client is a JMS client, the application will be notified by the
+    <fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html)"><fo:inline>exception
+     listener.</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html)">http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html</fo:basic-link>]</fo:inline></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Transaction-Timeout-Configuration"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif [...]
+    virtualhost is edited.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">We would recommend that only warnings are configured at first, which should allow broker
+    administrators to obtain an idea of the distribution of transaction lengths on their systems,
+    and configure production settings appropriately for both warning and closure. Ideally
+    establishing thresholds should be achieved in a representative UAT environment, with clients and
+    broker running, prior to any production deployment.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">It is impossible to give suggested values, due to the large variation in usage depending on
+    the applications using a broker. However, clearly transactions should not span the expected
+    lifetime of any client application as this would indicate a hung client.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When configuring closure timeouts, it should be noted that a timeout on any producer
+    or consumer will cause the connection to be closed - this disconnecting all producers and consumers
+    created on that connection.</fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Handling-Undeliverable-Messages"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" sp [...]
+   client is using a transacted session and rolls-back the transaction) can be made available on
+   the queue again and then subsequently be redelivered, depending on the precise session
+   acknowledgement mode and messaging model used by the application. This is normally desirable
+   behaviour that contributes to the ability of a system to withstand unexpected errors. However, it
+   leaves open the possibility for a message to be repeatedly redelivered (potentially indefinitely),
+   consuming system resources and preventing the delivery of other messages. Such undeliverable
+   messages are sometimes known as poison messages.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For an example, consider a stock ticker application that has been designed to consume prices
+   contained within JMS TextMessages. What if inadvertently a BytesMessage is placed onto the queue?
+   As the ticker application does not expect the BytesMessage, its processing might fail and cause it
+   to roll-back the transaction, however the default behavior of the Broker would mean that the
+   BytesMessage would be delivered over and over again, preventing the delivery of other legitimate
+   messages, until an operator intervenes and removes the erroneous message from the queue. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Qpid has maximum delivery count and dead-letter queue (DLQ) features which can be used in
+   concert to construct a system that automatically handles such a condition. These features are
+   described in the following sections.</fo:block></fo:block><fo:block id="Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum=" [...]
+   process a message more than the specified number of times, then the Broker will either route the
+   message via the queue's <fo:inline font-style="italic">alternate binding</fo:inline> (if one has been defined), or will
+   discard the message.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When using AMQP 1.0 the current delivery count of a message is available to the consuming
+   application via the <fo:inline font-family="monospace">message-count</fo:inline> message header (exposed via the
+   <fo:inline font-family="monospace">JMSXDeliveryCount</fo:inline> JMS message property when using JMS).  When using the
+   AMQP 0-8..0-10 protocols this information is not available.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e6116"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> When using AMQP 0-8..0-10, in order for a max [...]
+    <fo:inline font-style="italic">must</fo:inline> call <fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#rollback())"><fo:inline>Session#rollback()</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#rollback())">http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#rollback()</fo:basic-link>]</fo:inline> (or <fo:basic-link ext [...]
+    processing of Session#rollback() (or Session#recover()) that if a message has been seen
+    at least the maximum number of times then it will move the message to the DLQ or discard the
+    message. If the consuming application fails in another manner, for instance, closes the connection, the
+    message will not be re-routed and consumer application will see the same poison message again
+    once it reconnects.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> If the consuming application is using Qpid JMS Client 0-x and using AMQP 0-8, 0-9, or 0-9-1
+    protocols, it is necessary to set the client system property <fo:inline font-family="monospace">qpid.reject.behaviour</fo:inline> or
+    connection or binding URL option <fo:inline font-family="monospace">rejectbehaviour</fo:inline> to the value <fo:inline font-family="monospace">server</fo:inline>.</fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Handling-Undeliverable-Messages-Dead-Letter-Queues"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-fa [...]
+    specified, the Broker automatically routes the message via the alternate binding.  The alternate binding
+    would normally specify a queue designated for that purpose of receiving the undeliverable messages.
+    By convention such queues are known as dead-letter queues or simply DLQs.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">It is possible to configure the broker to automatically default a DLQ for every queue created.  To do this
+    one can set the context variable <fo:inline font-family="monospace">queue.defaultAlternateBinding</fo:inline> at the Virtual Host (or above)
+    level.  For example, by setting the value to <fo:inline font-family="monospace">{\"destination\": \"$${this:name}_DLQ\"}</fo:inline>
+    a new queue <fo:inline font-style="italic">exampleQueue</fo:inline> will default to having an alternate binding to
+    <fo:inline font-style="italic">exampleQueue_DLQ</fo:inline>.  To avoid error this should be combined with setting a node auto creation
+    policy on the VirtualHost, so that such DLQs are automatically created, e.g. </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e6161">
+   "nodeAutoCreationPolicies" : [ {
+   "pattern" : ".*_DLQ",
+   "nodeType" : "Queue",
+   "attributes" : {
+   "alternateBinding" : ""
+   },
+   "createdOnPublish" : true,
+   "createdOnConsume" : true
+   } ]
+  </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e6163"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block>For the autocreated DLQs it is important to override the default alternate binding, as above, else the creation of an
+    infinite chain of DLQs for DLQs will be attempted.</fo:block></fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e6165"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Avoid excessive queue depth</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Applications making  [...]
+    examination of messages arriving on DLQs so that both corrective actions can be taken to resolve
+    the underlying cause and organise for their timely removal from the DLQ. Messages on DLQs
+    consume system resources in the same manner as messages on normal queues so excessive queue
+    depths should not be permitted to develop.</fo:block></fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Close-Connection-When-No-Route"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space- [...]
+        Due to asynchronous nature of AMQP 0-8/0-9/0-9-1 protocols sending a message with a routing key for which no queue binding exist results
+        in either message being bounced back (if it is mandatory or immediate) or discarded on broker side otherwise.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        When a 'mandatory' message is returned, the Apache Qpid JMS AMQP 0-x clients conveys this by delivering
+        an <fo:inline font-style="italic">AMQNoRouteException</fo:inline> through the configured ExceptionListener on the Connection.
+        This does not cause channel or connection closure, however it requires a special exception handling
+        on client side in order to deal with <fo:inline font-style="italic">AMQNoRouteExceptions</fo:inline>.
+        This could potentially be a problem when using various messaging frameworks (e.g. Mule)
+        as they usually close the connection on receiving any JMSException.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        In order to simplify application handling of scenarios where 'mandatory' messages
+        are being sent to queues which do not actually exist, the Apache Qpid Broker-J can be configured such that
+        it will respond to this situation by closing the connection
+        rather than returning the unroutable message to the client as it normally should.
+        From the application perspective, this will result in failure of synchronous operations in progress such as a session commit() call.
+    </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e6192"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This feature affects only transacted sessions.</fo:block><fo:block space-before.optimum="1em" space-befo [...]
+           By default, the Apache Qpid JMS AMQP 0-x produces mandatory messages when using queue destinations.  Topic
+           destinations produce 'non-mandatory' messages.
+        </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Close-Connection-When-No-Route-Configuration"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before [...]
+        <fo:inline font-style="italic">closeWhenNoRoute</fo:inline>
+    </fo:marker><fo:block font-size="17.28pt">9.5.2. Configuring
+        <fo:inline font-style="italic">closeWhenNoRoute</fo:inline>
+    </fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        The Port attribute <fo:inline font-style="italic">closeWhenNoRoute</fo:inline> can be set to specify this feature on broker side.
+        By default, it is turned on. Setting <fo:inline font-style="italic">closeWhenNoRoute</fo:inline> to <fo:inline font-style="italic">false</fo:inline> switches
+        it off.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">See the <fo:basic-link external-destination="url(../../jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html)"><fo:inline>Qpid JMS AMQP 0-x client
+          documentation</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(../../jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html)">../../jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html</fo:basic-link>]</fo:inline> for details of enabling this feature client side.
+      </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Flow-To-Disk"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-ind [...]
+    that can be occupied by messages. Once this
+    limit is reached any new transient messages and all existing transient messages will be
+    transferred to disk. Newly arriving transient messages will continue to go to the disk until the
+    cumulative size of all messages falls below the limit once again.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">By default the Broker makes 75% of the max direct available memory for messages. This memory is
+    divided between all the queues across all virtual hosts defined on the Broker with a percentage
+    calculated according to their current queue size. These calculations are refreshed periodically
+    by the housekeeping cycle.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example if there are two queues, one containing 75MB and the second 100MB messages
+    respectively and the Broker has 1GB direct memory with the default of 75% available for messages.
+    The first queue will have a target size of 320MB and the second 430MB. Once 750MB is taken by
+    messages, messages will begin to flow to disk. New messages will cease to flow to disk when
+    their cumulative size falls beneath 750MB.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Flow to disk is configured by Broker context variable
+      <fo:inline font-family="monospace">broker.flowToDiskThreshold</fo:inline>. It is expressed as a size in bytes and defaults
+    to 75% of the JVM maximum heap size.</fo:block></fo:block><fo:block id="Java-Broker-Runtime-Consumers"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-ali [...]
+    Queue).  The standard behaviours of consumers are defined by the respective AMQP specification, however in addition
+    to the standard behaviours a number of Qpid specific enhancements are available</fo:block><fo:block id="Java-Broker-Runtime-Consumers-Prioirty"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0 [...]
+      attempts to distribute messages from the queue in a "fair" manner. Some use cases require allocation of messages
+      to consumers to be based on the "priority" of the consumer. Where there are multiple consumers having differing
+      priorities, the Broker will always attempt to deliver a message to a higher priority consumer before attempting
+      delivery to a lower priority consumer. That is, a lower priority consumer will only receive a message if no
+      higher priority consumers currently have credit available to consume the message, or those consumers have declined
+      to accept the message (for instance because it does not meet the criteria of any selectors associated with the
+      consumer).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Where a consumer is created with no explicit priority provided, the consumer is given the highest possible
+      priority.</fo:block><fo:block id="d0e6250"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="14.3999 [...]
+        In AMQP 0-9 and 0-9-1 the priority of the consumer can be set by adding an entry into the table provided as the
+        <fo:inline font-family="monospace">arguments</fo:inline> field (known as the <fo:inline font-family="monospace">filter</fo:inline> field on AMQP 0-9) of the
+        <fo:inline font-family="monospace">basic.consume</fo:inline> method. The key for the entry must be the literal short string
+        <fo:inline font-family="monospace">x-priority</fo:inline>, and the value of the entry must be an integral number in the range
+        -2<fo:inline font-size="75%" baseline-shift="super">31</fo:inline> to 2<fo:inline font-size="75%" baseline-shift="super">31</fo:inline>-1.
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        In AMQP 0-10 the priority of the consumer can be set in the map provided as the <fo:inline font-family="monospace">arguments</fo:inline>
+        field of the <fo:inline font-family="monospace">message.subscribe</fo:inline> method. The key for the entry must be the literal string
+        <fo:inline font-family="monospace">x-priority</fo:inline>, and the value of the entry must be an integral number in the range
+        -2<fo:inline font-size="75%" baseline-shift="super">31</fo:inline> to 2<fo:inline font-size="75%" baseline-shift="super">31</fo:inline>-1.
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        In AMQP 1.0 the priority of the consumer is set in the <fo:inline font-family="monospace">properties</fo:inline> map of the
+        <fo:inline font-family="monospace">attach</fo:inline> frame where the broker side of the link represents the sending side of the link.
+        The key for the entry must be the literal string <fo:inline font-family="monospace">priority</fo:inline>, and the value of the entry must
+        be an integral number in the range -2<fo:inline font-size="75%" baseline-shift="super">31</fo:inline> to 2<fo:inline font-size="75%" baseline-shift="super">31</fo:inline>-1.
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        When using the Qpid JMS client for AMQP 0-9/0-9-1/0-10 the consumer priority can be set in the address being
+        used for the Destination object.
+
+        <fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e6309"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-aft [...]
+      </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Background-Recovery"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align [...]
+    queues and their messages from disk. In the Broker's default mode the Virtualhosts do not become
+    active until this recovery process completes. If queues have a large number of entries, this may
+    take considerable time. During this time no messaging can be performed.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The Broker has a background recovery feature allows the system to return to operation
+    sooner. If enabled the recovery process takes place in the background allow producers and
+    consumers to begin work earlier.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The feature respects the message delivery order requirements of standard queues, that is any
+    messages arriving whilst the background recovery is in flight won't overtake older messages
+    still to be recovered from disk. There is an exception for the out of order queue types whilst
+    background recovery is in flight. For instance, with priority queues older lower priority
+    messages may be delivered before newer, higher priority.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">To activate the feature, set a <fo:basic-link internal-destination="Java-Broker-Management-Managing-Entities-General"><fo:inline>context variable</fo:inline></fo:basic-link>
+    <fo:inline font-family="monospace">use_async_message_store_recovery</fo:inline> at the desired Virtualhost, or at Broker or
+    higher to enable the feature broker-wide.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e6351"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The background recovery feature does not write operational log  [...]
+      progress. This means messages <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Message-MST-1004"><fo:inline>MST-1004</fo:inline></fo:basic-link> and <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Message-MST-1005"><fo:inline>MST-1005</fo:inline></fo:basic-link> will not
+      be seen.</fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Message-Compression"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" te [...]
+    protocol.</fo:block></fo:footnote-body></fo:footnote> message compression. This feature works in co-operation with Qpid
+  Clients implementing the same feature.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Once the feature is enabled (using Broker context variable
+   <fo:inline font-style="italic">broker.messageCompressionEnabled</fo:inline>), the Broker will advertise support for the
+  message compression feature to the client at connection time. This allows clients to opt to turn
+  on message compression, allowing message payload sizes to be reduced.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If the Broker has connections from clients who have message compression enabled and others who
+  do not, it will internally, on-the-fly, decompress compressed messages when sending to clients
+  without support and conversely, compress uncomressed messages when sending to clients who do.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The Broker has a threshold below which it will not consider compressing a message, this is
+  controlled by Broker content variable
+   (<fo:inline font-family="monospace">connection.messageCompressionThresholdSize</fo:inline>) and expresses a size in bytes.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This feature <fo:inline font-style="italic">may</fo:inline> have a beneficial effect on performance by:</fo:block><fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum=" [...]
+    in the HA case, Broker to Broker, for replication purposes.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6391"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Reducing storage space when data is at rest within the Broker, both on disk and in
+    memory.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Of course, compression and decompression is computationally expensive. Turning on the feature
+  may have a negative impact on CPU utilization on Broker and/or Client. Also for small messages
+  payloads, message compression may increase the message size. It is recommended to test the feature
+  with representative data.</fo:block></fo:block><fo:block id="Java-Broker-Runtime-Connection-Limit"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="st [...]
+     Each connection to the Broker consumes resources while it is connected. In order to protect
+     the Broker against malfunctioning (or malicious) client processes, it is possible to limit the
+     number of connections that can be active on any given port.
+   </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+       Connection limits on AMQP ports are controlled by an attribute "maxOpenConnections" on
+       the port. By default this takes the value of the context variable
+       <fo:inline font-family="monospace">qpid.port.max_open_connections</fo:inline> which in itself is defaulted to the
+       value <fo:inline font-family="monospace">-1</fo:inline> meaning there is no limit.
+   </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+       If the interpolated value of <fo:inline font-family="monospace">maxOpenConnections</fo:inline> on an AMQP port is a
+       positive integer, then when that many active connections have been established no new
+       connections will be allowed (until an existing connection has been closed). Any such
+       rejection of a connection will be accompanied by the operational log message
+       <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Message-PRT-1005"><fo:inline>PRT-1005</fo:inline></fo:basic-link>.
+   </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+       The context variable <fo:inline font-family="monospace">qpid.port.open_connections_warn_percent</fo:inline> can be
+       used to control when a warning log message is generated as the number of open connections
+       approaches the limit for the port. The default value of this variable is
+       <fo:inline font-family="monospace">80</fo:inline> meaning that if more the number of open connections to the port
+       has exceeded 80% of the given limit then the operatinal log message
+       <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Message-PRT-1004"><fo:inline>PRT-1004</fo:inline></fo:basic-link>
+       will be generated.
+   </fo:block></fo:block><fo:block id="Java-Broker-Runtime-Memory"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:marker [...]
+      Understanding how the Qpid broker uses memory is essential to running a high performing and reliable service.
+      A wrongly configured broker can exhibit poor performance or even crash with an <fo:inline font-family="monospace">OutOfMemoryError</fo:inline>.
+      Unfortunately, memory usage is not a simple topic and thus requires some in depth explanations.
+      This page should give the required background information to make informed decisions on how to configure your broker.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      <fo:basic-link internal-destination="Java-Broker-Runtime-Memory-Types"><fo:inline>Section 9.11.2, “Types of Memory”</fo:inline></fo:basic-link> explains the two different kinds of Java memory most relevant to the broker.
+      <fo:basic-link internal-destination="Java-Broker-Runtime-Memory-Usage"><fo:inline>Section 9.11.3, “Memory Usage in the Broker”</fo:inline></fo:basic-link> goes on to explain which parts of the broker use what kind of memory.
+      <fo:basic-link internal-destination="Java-Broker-Runtime-Memory-Low-Memory"><fo:inline>Section 9.11.4, “Low Memory Conditions”</fo:inline></fo:basic-link> explains what happens when the system runs low on memory.
+      <fo:basic-link internal-destination="Java-Broker-Runtime-Memory-Defaults"><fo:inline>Section 9.11.5, “Defaults”</fo:inline></fo:basic-link> lays out the default settings of the Qpid broker.
+      Finally, <fo:basic-link internal-destination="Java-Broker-Runtime-Memory-Tuning"><fo:inline>Section 9.11.6, “Memory Tuning the Broker”</fo:inline></fo:basic-link> gives some advice on tuning your broker.
+    </fo:block></fo:block><fo:block id="Java-Broker-Runtime-Memory-Types"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo [...]
+      While Java has a couple of different internal memory types we will focus on the two types that are relevant to the Qpid broker.
+      Both of these memory types are taken from the same physical memory (RAM).
+    </fo:block><fo:block id="d0e6458"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="14.399999999999999 [...]
+        Normally, all objects are allocated from Java's heap memory.
+        Once, nothing references an object it is cleaned up by the Java Garbage Collector and it's memory returned to the heap.
+        This works fine for most use cases.
+        However, when interacting with other parts of the operating system using Java's heap is not ideal.
+        This is where the so called direct memory comes into play.
+      </fo:block></fo:block><fo:block id="d0e6463"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="14.39 [...]
+        The world outside of the JVM, in particular the operating system (OS), does not know about Java heap memory and uses other structures like C arrays.
+        In order to interact with these systems Java needs to copy data between its own heap memory and these native structures.
+        This can become a bottle neck when there is a lot of exchange between Java and the OS like in I/O (both disk and network) heavy applications.
+        Java's solution to this is to allow programmers to request <fo:inline font-family="monospace">ByteBuffer</fo:inline>s from so called direct memory.
+        This is an opaque structure that <fo:inline font-style="italic">might</fo:inline> have an underlying implementation that makes it efficient to interact with the OS.
+        Unfortunately, the GC is not good at tracking direct memory and in general it is inadvisable to use direct memory for regular objects.
+      </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Memory-Usage"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-ind [...]
+      This section lists some note worthy users of memory within the broker and where possible lists their usage of heap and direct memory.
+      Note that to ensure smooth performance some heap memory should remain unused by the application and be reserved for the JVM to do house keeping and garbage collection.
+      <fo:basic-link external-destination="url(https://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/util/DbCacheSize.html)"><fo:inline>Some guides</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(https://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/util/DbCacheSize.html)">https://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/util/DbCacheSize.html</fo:basic-link>]</fo:inline> advise to reserve up to 30% of h [...]
+    </fo:block><fo:block id="d0e6482"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="14.399999999999999 [...]
+        The broker itself uses a moderate amount of heap memory (≈15 MB).
+        However, each connection and session comes with a heap overhead of about 17 kB and 15 kB respectively.
+        In addition, each connection reserves 512 kB direct memory for network I/O.
+      </fo:block></fo:block><fo:block id="d0e6487"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="14.39 [...]
+        The amount of memory a Virtual Host uses depends on its type.
+        For a JSON Virtual Host Node with a BDB Virtual Host the heap memory usage is approximately 2 MB.
+        However, each BDB Virtual Hosts has a mandatory cache in heap memory which has an impact on performance.
+        See <fo:basic-link internal-destination="Java-Broker-Runtime-Memory-Usage-BDB"><fo:inline>below</fo:inline></fo:basic-link> for more information.
+      </fo:block></fo:block><fo:block id="d0e6495"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="14.39 [...]
+        Messages and their headers are kept in direct memory and have an additional overhead of approximately 1 kB heap memory each.
+        This means that most brokers will want to have more direct memory than heap memory.
+        When many small messages accumulate on the broker the 1 kB heap memory overhead can become a <fo:basic-link internal-destination="Java-Broker-Runtime-Memory-Low-Memory-Heap"><fo:inline>limiting factor</fo:inline></fo:basic-link>.
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        When the broker is <fo:basic-link internal-destination="Java-Broker-Runtime-Memory-Low-Memory-Direct"><fo:inline>running low on direct memory</fo:inline></fo:basic-link>
+        it will evict enqueued messages from memory and <fo:basic-link internal-destination="Java-Broker-Runtime-Flow-To-Disk"><fo:inline>flow them to disk</fo:inline></fo:basic-link>.
+        For persistent messages this only means freeing the direct memory representation because they always have an on-disk representation to guard against unexpected failure (e.g., a power cut).
+        For transient messages this implies additional disk I/O.
+        After being flowed to disk messages need to be re-read from disk before delivery.
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Please, note that messages from uncommitted transactions are not
+        <fo:basic-link internal-destination="Java-Broker-Runtime-Flow-To-Disk"><fo:inline>flowed to disk</fo:inline></fo:basic-link> as part of
+        <fo:basic-link internal-destination="Java-Broker-Runtime-Memory-Low-Memory-Direct"><fo:inline>running into low direct memory conditions</fo:inline></fo:basic-link>,
+        as they are not enqueued yet. The <fo:inline font-family="monospace">Connection</fo:inline> has its own threshold for
+        keeping messages from uncommitted transactions in memory. Only when <fo:inline font-family="monospace">Connection</fo:inline> threshold
+        is breached, the uncommitted messages on the connection are
+        <fo:basic-link internal-destination="Java-Broker-Runtime-Flow-To-Disk"><fo:inline>flowed to disk</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="Java-Broker-Runtime-Memory-Usage-BDB"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="alw [...]
+          The broker can use Oracle's BDB JE (BDB) as a message store to persist messages by writing them to a database.
+          BDB uses a mandatory cache for navigating and organising its database structure.
+          Sizing and tuning this cache is a topic of its own and would go beyond the scope of this guide.
+          Suffice to say that by default Qpid uses 5% of heap memory for BDB caches (each Virtual Host uses a separate cache) or 10 MB per BDB store, whichever is greater.
+          See the <fo:basic-link external-destination="url(http://www.oracle.com/us/products/database/berkeley-db/je)"><fo:inline>official webpage</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://www.oracle.com/us/products/database/berkeley-db/je)">http://www.oracle.com/us/products/database/berkeley-db/je</fo:basic-link>]</fo:inline> especially <fo:basic-link external-destination="url(http://docs.oracle.com/cd/E17277_02/html/java/c [...]
+          For those interested, Qpid uses <fo:basic-link external-destination="url(http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/CacheMode.html#EVICT_LN)"><fo:inline>EVICT_LN</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/CacheMode.html#EVICT_LN)">http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/CacheMode.html#EVICT_LN</fo:basic-link>]</fo:inli [...]
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+          Note that due to licensing concerns Qpid does not ship the BDB JE jar files.
+        </fo:block></fo:block><fo:block id="d0e6547"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="12p [...]
+          TODO
+        </fo:block></fo:block></fo:block><fo:block id="d0e6552"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block fon [...]
+        Qpid uses Jetty for the HTTP Management (both REST and Web Management Console).
+        When the management plugin is loaded it will allocate the memory it needs and should not require more memory during operation and can thus be largely ignored.
+      </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Memory-Low-Memory"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" star [...]
+        When the broker runs low on heap memory performance will degrade because the JVM will trigger full garbage collection (GC) events in a struggle to free memory.
+        These full GC events are also called stop-the-world events as they completely halt the execution of the Java application.
+        Stop-the-world-events may take any where from a couple of milliseconds up to several minutes.
+        Should the heap memory demands rise even further the JVM will eventually throw an OutOfMemoryError which will cause the broker to shut down.
+      </fo:block></fo:block><fo:block id="Java-Broker-Runtime-Memory-Low-Memory-Direct"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-in [...]
+        When the broker detects that it uses 75% of available direct memory it will start flowing incoming transient messages to disk and reading them back before delivery.
+        This will prevent the broker from running out of direct memory but may degrade performance by requiring disk I/O.
+      </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Runtime-Memory-Defaults"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start- [...]
+      By default Qpid uses these settings:
+      <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e6575"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6576"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+          0.5 GB heap memory
+        </fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6578"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block>
+          1.5 GB direct memory
+        </fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6580"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block>
+          5% of heap reserved for the BDB JE cache.
+        </fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6582"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block>
+          Start flow-to-disk at 75% direct memory utilisation.
+        </fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+      As an example, this would accommodate a broker with 50 connections, each serving 5 sessions, and each session having 1000 messages of 1 kB on queues in the broker.
+      This means a total of 250 concurrent sessions and a total of 250000 messages without flowing messages to disk.
+    </fo:block></fo:block><fo:block id="Java-Broker-Runtime-Memory-Tuning"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><f [...]
+        Most of these options are implementation specific. It is assumed you are using Oracle Java 1.8.
+        <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e6593"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6594"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list [...]
+            Heap and direct memory can be configured through the <fo:basic-link internal-destination="Java-Broker-Appendix-Environment-Variables-Qpid-Java-Mem"><fo:inline><fo:inline font-family="monospace">QPID_JAVA_MEM</fo:inline> environment variable</fo:inline></fo:basic-link>.
+          </fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+      </fo:block></fo:block><fo:block id="d0e6602"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="14.39 [...]
+          The system property <fo:inline font-family="monospace">qpid.broker.bdbTotalCacheSize</fo:inline> sets the total amount of heap memory (in bytes) allocated to BDB caches.
+        </fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6611"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block>
+          The system property <fo:inline font-family="monospace">broker.flowToDiskThreshold</fo:inline> sets the threshold (in bytes) for flowing transient messages to disk.
+          Should the broker use more than direct memory it will flow incoming messages to disk.
+          Should utilisation fall beneath the threshold it will stop flowing messages to disk.
+        </fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6616"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block>
+          The system property <fo:inline font-family="monospace">connection.maxUncommittedInMemorySize</fo:inline> sets the threshold (in bytes)
+          for total messages sizes (in bytes) from connection uncommitted transactions when messages are hold in memory.
+          If threshold is exceeded, all messages from connection in-flight transactions are flowed to disk including
+          those arriving after breaching the threshold.
+        </fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block><fo:block id="d0e6621"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align= [...]
+        We developed a simple formula which estimates the <fo:inline font-style="italic">minimum</fo:inline> memory usage of the broker under certain usage.
+        These are rough estimate so we strongly recommend testing your configuration extensively.
+        Also, if your machine has more memory available by all means use more memory as it can only improve the performance and stability of your broker.
+        However, remember that both heap and direct memory are served from your computer's physical memory so their sum should never exceed the physically available RAM (minus what other processes use).
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        <fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" id="d0e6631"><fo:inline>
+            memory<fo:inline font-size="75%" baseline-shift="sub">heap</fo:inline> = 15 MB + 20 kB * N<fo:inline font-size="75%" baseline-shift="sub">sessions</fo:inline> + (1.7 kB + (120 + averageSize<fo:inline font-size="75%" baseline-shift="sub">headerNameAndValue</fo:inline> ) * averageNumber<fo:inline font-size="75%" baseline-shift="sub">headers</fo:inline>)* N<fo:inline font-size="75%" baseline-shift="sub">messages</fo:inline> + 100 kB * N<fo:inline font-size="75%" baseline-shift=" [...]
+          </fo:inline></fo:block>
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        <fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" id="d0e6655"><fo:inline>
+            memory<fo:inline font-size="75%" baseline-shift="sub">direct</fo:inline> = 2 MB + (200 B + averageSize<fo:inline font-size="75%" baseline-shift="sub">msg</fo:inline> *2)*  N<fo:inline font-size="75%" baseline-shift="sub">messages</fo:inline> + 1MB * N<fo:inline font-size="75%" baseline-shift="sub">connections</fo:inline>
+          </fo:inline></fo:block>
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        Where <fo:inline>N</fo:inline> denotes the total number of connections/sessions/messages on the broker. Furthermore, for direct memory only the messages that have not been flowed to disk are relevant.
+      </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e6676"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The formulae assume the worst case in terms of memory usage: persistent messages and TLS connections.  [...]
+          connections.
+        </fo:block></fo:block></fo:block></fo:block><fo:block id="d0e6679"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><f [...]
+          Choosing a smaller direct memory size will lower the threshold for flowing transient messages to disk when messages accumulate on a queue.
+          This can have impact on performance in the transient case where otherwise no disk I/O would be involved.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+          Having too little heap memory will result in poor performance due to frequent garbage collection events. See <fo:basic-link internal-destination="Java-Broker-Runtime-Memory-Low-Memory"><fo:inline>Section 9.11.4, “Low Memory Conditions”</fo:inline></fo:basic-link> for more details.
+        </fo:block></fo:block><fo:block id="d0e6691"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="12p [...]
+          Choosing too low heap memory can cause an OutOfMemoryError which will force the broker to shut down.
+          In this sense the available heap memory puts a hard limit on the number of messages you can have in the broker at the same time.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+          If the Java runs out of direct memory it also throws a OutOfMemoryError resulting the a broker shutdown.
+          Under normal circumstances this should not happen but needs to be considered when deviating from the default configuration, especially when changing the flowToDiskThreshold.
+        </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+          If you are sending very large messages you should accommodate for this by making sure you have enough direct memory.
+        </fo:block></fo:block></fo:block></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="body" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfDin [...]
+      service such as a Message Broker available so that should a service unexpectedly fail, or
+      requires to be shutdown for maintenance, users may quickly connect to another instance and
+      continue their work with minimal interruption. HA is one way to make a overall system more
+      resilient by eliminating a single point of failure from a system.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">HA offerings are usually categorised as <fo:inline font-weight="bold">Active/Active</fo:inline> or
+        <fo:inline font-weight="bold">Active/Passive</fo:inline>. An Active/Active system is one where all
+      nodes within the group are usually available for use by clients all of the time. In an
+      Active/Passive system, one only node within the group is available for use by clients at any
+      one time, whilst the others are in some kind of standby state, awaiting to quickly step-in in
+      the event the active node becomes unavailable. </fo:block></fo:block><fo:block id="Java-Broker-High-Availability-OverviewOfHA"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-befor [...]
+      When using HA, many instances of the Broker work together to form an high availability group of two or more nodes.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The remainder of this section now talks about the specifics of how HA is achieved in terms
+      of the <fo:basic-link internal-destination="Java-Broker-Concepts"><fo:inline>concepts</fo:inline></fo:basic-link> introduced earlier in this
+      book.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:basic-link internal-destination="Java-Broker-Concepts-Virtualhosts"><fo:inline>Virtualhost</fo:inline></fo:basic-link> is the unit of
+      replication. This means that any <fo:inline font-style="italic">durable</fo:inline> queues, exchanges, and bindings
+      belonging to that virtualhost, any <fo:inline font-style="italic">persistent</fo:inline> messages contained within
+      the queues and any attribute settings applied to the virtualhost itself are automatically
+      replicated to all nodes within the group.<fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">1</fo:inline></fo:inline><fo:footnote-body font-family="serif,Symbol,ZapfDingbats" font-size="8pt" font-weight="normal" font-style="normal" text-align="justify" start-indent="0pt" end-indent="0pt" text-indent="0pt" hyphenate="true" wrap-option="wrap" linefeed-treatment="treat-as-space"><fo [...]
+      (from different Broker instances) that join together to form a group. The virtualhost nodes
+      collectively to coordinate the group: they organise replication between the master and
+      replicas and conduct elections to determine who becomes the new master in the event of the old
+      failing.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When a virtualhost node is in the <fo:inline font-style="italic">master</fo:inline> role, the virtualhost
+      beneath it is available for messaging work. Any write operations sent to the virtualhost are
+      automatically replicated to all other nodes in group.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When a virtualhost node is in the <fo:inline font-style="italic">replica</fo:inline> role, the virtualhost
+      beneath it is always unavailable for message work. Any attempted connections to a virtualhost
+      in this state are automatically turned away, allowing a messaging client to discover where the
+      master currently resides. When in replica role, the node sole responsibility is to consume a
+      replication stream in order that it remains up to date with the master.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Messaging clients discover the active virtualhost.This can be achieved using a static
+      technique (for instance, a failover url (a feature of the Apache Qpid JMS and Apache Qpid JMS AMQP 0-x clients),
+      or a dynamic one utilising some kind of proxy or virtual IP (VIP).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The figure that follows illustrates a group formed of three virtualhost nodes from three
+      separate Broker instances. A client is connected to the virtualhost node that is in the master
+      role. The two virtualhost nodes <fo:inline font-family="monospace">weather1</fo:inline> and <fo:inline font-family="monospace">weather3</fo:inline>
+      are replicas and are receiving a stream of updates.</fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="Java-Broker-High-Availability-OverviewOfHA-Figure"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-afte [...]
+      this leverages the HA capabilities of the Berkeley DB JE edition.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e6780"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The HA solution from the Apache Qpid  [...]
+        Broker. It is not possible to co-locate Qpid Broker-J and CPP Brokers within the same group.</fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-High-Availability-CreatingGroup"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" [...]
+      first creating the first node standalone, then creating subsequent nodes referencing the first
+      node so the nodes can introduce themselves and gradually the group is built up.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A group is created through either <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console"><fo:inline>Web Management</fo:inline></fo:basic-link>
+      or the <fo:basic-link internal-destination="Java-Broker-Management-Channel-REST-API"><fo:inline>REST API</fo:inline></fo:basic-link>
+      or the initial configuration (<fo:basic-link internal-destination="Java-Broker-Appendix-BDB-HA-initial-configuration"><fo:inline>Appendix H, <fo:inline font-style="italic">BDB HA initial configuration</fo:inline></fo:inline></fo:basic-link>
+      illustrates how to use initial configuration for BDB HA group creation).
+      These instructions presume you are using Web Management. To illustrate the example it builds the group
+      illustrated in figure <fo:basic-link internal-destination="Java-Broker-High-Availability-OverviewOfHA-Figure"><fo:inline>Figure 10.1, “3-node group deployed across three Brokers.”</fo:inline></fo:basic-link></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum [...]
+            clients will need to be able to connect to and authentication to all Brokers, it usually
+            makes sense to choose a common authentication mechanism e.g. Simple LDAP Authentication,
+            External with SSL client authentication or Kerberos.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6804"><fo:list-item-label end-indent="label-end()"><fo:block>2.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Select one Broker instance to host the first node instance. This choice is an
+            arbitrary one. The node is special only whilst creating group. Once creation is
+            complete, all nodes will be considered equal.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6807"><fo:list-item-label end-indent="label-end()"><fo:block>3.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Click the <fo:inline font-family="monospace">Add</fo:inline> button on the Virtualhost Panel on the Broker
+            tab.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            <fo:list-block provisional-label-separation="0.2em" provisional-distance-between-starts="1.2em" id="d0e6815"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6816"><fo:list-item-label end-indent="label-end()"><fo:block>a.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Give the Virtualhost node a unique name e.g. <fo:inline font-family="monospace">weather1</fo:inline>. The
+                  name must be unique within the group and unique to that Broker. It is best if the
+                  node names are chosen from a different nomenclature than the machine names
+                  themselves.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6822"><fo:list-item-label end-indent="label-end()"><fo:block>b.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Choose <fo:inline font-family="monospace">BDB_HA</fo:inline> and select <fo:inline font-family="monospace">New group</fo:inline>
+                </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6831"><fo:list-item-label end-indent="label-end()"><fo:block>c.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Give the group a name e.g. <fo:inline font-family="monospace">weather</fo:inline>. The group name must be
+                  unique and will be the name also given to the virtualhost, so this is the name the
+                  messaging clients will use in their connection url.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6837"><fo:list-item-label end-indent="label-end()"><fo:block>d.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Give the address of this node. This is an address on this node's host that
+                  will be used for replication purposes. The hostname <fo:inline font-style="italic">must</fo:inline> be
+                  resolvable by all the other nodes in the group. This is separate from the address
+                  used by messaging clients to connect to the Broker. It is usually best to choose a
+                  symbolic name, rather than an IP address.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6843"><fo:list-item-label end-indent="label-end()"><fo:block>e.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Now add the node addresses of all the other nodes that will form the group. In
+                  our example we are building a three node group so we give the node addresses of
+                    <fo:inline font-family="monospace">chaac:5000</fo:inline> and <fo:inline font-family="monospace">indra:5000</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6852"><fo:list-item-label end-indent="label-end()"><fo:block>f.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Click Add to create the nod [...]
+                  virtualhost. As there is only one node at this stage, the role will be
+                  master.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+            <fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e6856"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with-next.within-co [...]
+          </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6866"><fo:list-item-label end-indent="label-end()"><fo:block>4.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Now move to the second Broker to be the group. Click the <fo:inline font-family="monospace">Add</fo:inline>
+            button on the Virtualhost Panel on the Broker tab of the second Broker.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+            <fo:list-block provisional-label-separation="0.2em" provisional-distance-between-starts="1.2em" id="d0e6874"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6875"><fo:list-item-label end-indent="label-end()"><fo:block>a.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Give the Virtualhost node a unique name e.g.
+                  <fo:inline font-family="monospace">weather2</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6881"><fo:list-item-label end-indent="label-end()"><fo:block>b.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Choose <fo:inline font-family="monospace">BDB_HA</fo:inline> and choose <fo:inline font-famil [...]
+                </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6890"><fo:list-item-label end-indent="label-end()"><fo:block>c.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Give the details of the <fo:inline font-style="italic">existing node</fo:inline>. Following our
+                  example, specify <fo:inline font-family="monospace">weather</fo:inline>, <fo:inline font-family="monospace">weather1</fo:inline> and
+                    <fo:inline font-family="monospace">thor:5000</fo:inline></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6904"><fo:list-item-label end-indent="label-end()"><fo:block>d.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Give the address of this node.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo: [...]
+                  contact it and introduce itself into the group. At this stage, the group will have
+                  two nodes, with the second node in the replica role.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6910"><fo:list-item-label end-indent="label-end()"><fo:block>f.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Repeat these steps until you have added all the nodes to the group.</fo:block></fo:block></fo:lis [...]
+            <fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e6914"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" keep-with-next.within-co [...]
+          </fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The group is now formed and is ready for us. Looking at the virtualhost node of any of the
+      nodes shows a complete view of the whole group. <fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always" id="d0e6926"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-afte [...]
+      then goes on to talk about the various controls that are available to override it. It
+      describes the controls available that affect the <fo:basic-link external-destination="url(http://en.wikipedia.org/wiki/ACID#Durability)"><fo:inline>durability</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://en.wikipedia.org/wiki/ACID#Durability)">http://en.wikipedia.org/wiki/ACID#Durability</fo:basic-link>]</fo:inline> of transactions and
+      the data consistency between the master and replicas and thus make trade offs between
+      performance and reliability.</fo:block><fo:block id="Java-Broker-High-Availability-Behaviour-Default-Behaviour"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2e [...]
+          <fo:inline font-style="italic">quorum</fo:inline> nodes present. This means for example, in a three node group,
+        this means there must be at least two nodes available.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When a messaging client sends a transaction, it can be assured that, before the control
+        returns back to his application after the commit call that the following is true:</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e6956"><fo:list-item space-b [...]
+                are flushed</fo:inline> meaning the data is on the storage device.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6963"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>At least quorum minus 1 replicas, <fo:inline font-style="italic">acknowledge the receipt of
+                transaction</fo:inline>. The replicas will write the data to the storage device
+              sometime later.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If there were to be a master failure immediately after the transaction was committed,
+        the transaction would be held by at least quorum minus one replicas. For example, if we had
+        a group of three, then we would be assured that at least one replica held the
+        transaction.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In the event of a master failure, if quorum nodes remain, those nodes hold an election.
+        The nodes will elect master the node with the most recent transaction. If two or more nodes
+        have the most recent transaction the group makes an arbitrary choice. If quorum number of
+        nodes does not remain, the nodes cannot elect a new master and will wait until nodes rejoin.
+        You will see later that manual controls are available allow service to be restored from
+        fewer than quorum nodes and to influence which node gets elected in the event of a
+        tie.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Whenever a group has fewer than quorum nodes present, the virtualhost will be
+        unavailable and messaging connections will be refused. If quorum disappears at the very
+        moment a messaging client sends a transaction that transaction will fail.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">You will have noticed the difference in the synchronization policies applied the master
+        and the replicas. The replicas send the acknowledgement back before the data is written to
+        disk. The master synchronously writes the transaction to storage. This is an example of a
+        trade off between durability and performance. We will see more about how to control this
+        trade off later.</fo:block></fo:block><fo:block id="Java-Broker-High-Availability-Behaviour-SynchronizationPolicy"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum= [...]
+        receives a transaction before it acknowledges that transaction to the rest of the
+        group.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following options are available: <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e6987"><fo:list-item space-before.optimum="1em" space-before.minim [...]
+              any OS level buffers before sending the acknowledgement. SYNC is offers the highest
+              durability but offers the least performance.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6993"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">WRITE_NO_SYNC</fo:inline>. The node must write the transaction to disk
+              before sending the acknowledgement. OS level buffers will be flush as some point
+              later. This typically provides an assurance against failure of the application but not
+              the operating system or hardware.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e6998"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">NO_SYNC</fo:inline>. The node immediately sends the acknowledgement. The
+              transaction will be written and OS level buffers flushed as some point later. NO_SYNC
+              offers the highest performance but the lowest durability level. This synchronization
+              policy is sometimes known as <fo:inline font-style="italic">commit to the network</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">It is possible to assign a one policy to the master and a different policy to the
+        replicas. These are configured as <fo:basic-link internal-destination="Java-Broker-Management-Managing-Virtualhost-Attributes"><fo:inline>
+        attributes <fo:inline font-style="italic">localTransactionSynchronizationPolicy</fo:inline> and
+        <fo:inline font-style="italic">remoteTransactionSynchronizationPolicy</fo:inline> on the virtualhost</fo:inline></fo:basic-link>.
+        By default the master uses <fo:inline font-style="italic">SYNC</fo:inline> and replicas use
+        <fo:inline font-style="italic">NO_SYNC</fo:inline>.</fo:block></fo:block><fo:block id="Java-Broker-High-Availability-Behaviour-NodePriority"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1. [...]
+        useful in the case were you want to favour some nodes over others. For instance, if you wish
+        to favour nodes located in a particular data centre over those in a remote site. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        A new master is elected among nodes with the most current set of log files. When there is a tie,
+        the priority is used as a tie-breaker to select amongst these nodes.
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+        The node priority is set as an integer value. A priority of zero is used to ensure that a node cannot
+        be elected master, even if it has the most current set of files.
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For convenience, the Web Management Console uses user friendly names for the priority integer values
+        in range from 0 to 3 inclusive. The following priority options are available: <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e7034"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7035"><fo:list-item-labe [...]
+              the event of two or more nodes having the most recent transaction, the node with this
+              priority will be elected master. If two or more nodes have this priority the algorithm
+              will make an arbitrary choice. The priority value for option <fo:inline font-style="italic">Highest</fo:inline> is <fo:inline font-style="italic">3</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7046"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo: [...]
+              much so as those with Highest. The priority value for this option is <fo:inline font-style="italic">2</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7054"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Normal</f [...]
+              The priority value for this option is <fo:inline font-style="italic">1</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7062"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Never</fo:inline>. The node will never b [...]
+                node has the most recent transaction</fo:inline>. The node will still keep up to date
+              with the replication stream and will still vote itself, but can just never be
+              elected. The priority value for this option is <fo:inline font-style="italic">0</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block>
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Node priority is configured as an <fo:basic-link internal-destination="Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes"><fo:inline>
+        attribute <fo:inline font-style="italic">priority</fo:inline> on the virtualhost node</fo:inline></fo:basic-link> and can be changed
+        at runtime and is effective immediately.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e7082"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Important</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Use of the Never priority can lead to transaction loss. [...]
+          of three where replica-2 is marked as Never. If a transaction were to arrive and it be
+          acknowledged only by Master and Replica-2, the transaction would succeed. Replica 1 is
+          running behind for some reason (perhaps a full-GC). If a Master failure were to occur at
+          that moment, the replicas would elect Replica-1 even though Replica-2 had the most recent
+          transaction.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Transaction loss is reported by message <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Message-HA-1014"><fo:inline>HA-1014</fo:inline></fo:basic-link>.</fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-High-Availability-Behaviour-MinimumNumberOfNodes"><fo:block><fo:block><fo:block keep-together.within-column="alway [...]
+        elect a new master. By default, the required number of nodes is set to
+          <fo:inline font-style="italic">Default</fo:inline> (which signifies quorum).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">It is possible to reduce the required minimum number of nodes. The rationale for doing
+        this is normally to temporarily restore service from fewer than quorum nodes following an
+        extraordinary failure.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example, consider a group of three. If one node were to fail, as quorum still
+        remained, the system would continue work without any intervention. If the failing node were
+        the master, a new master would be elected.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">What if a further node were to fail? Quorum no longer remains, and the remaining node
+        would just wait. It cannot elect itself master. What if we wanted to restore service from
+        just this one node?</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In this case, Required Number of Nodes can be reduced to 1 on the remain node, allowing
+        the node to elect itself and service to be restored from the singleton. Required minimum
+        number of nodes is configured as an <fo:basic-link internal-destination="Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes"><fo:inline>
+        attribute <fo:inline font-style="italic">quorumOverride</fo:inline> on the virtualhost node</fo:inline></fo:basic-link> and can be changed
+        at runtime and is effective immediately.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e7112"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Important</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The attribute must be used cautiously. Careless use wil [...]
+          can lead to a <fo:basic-link external-destination="url(http://en.wikipedia.org/wiki/Split-brain_(computing))"><fo:inline>split-brain</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://en.wikipedia.org/wiki/Split-brain_(computing))">http://en.wikipedia.org/wiki/Split-brain_(computing)</fo:basic-link>]</fo:inline> in the event of a network partition. If used to temporarily restore
+          service from fewer than quorum nodes, it is <fo:inline font-style="italic">imperative</fo:inline> to revert it
+          to the Default value as the failed nodes are restored.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Transaction loss is reported by message <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Message-HA-1014"><fo:inline>HA-1014</fo:inline></fo:basic-link>.</fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-High-Availability-Behaviour-DesignatedPrimary"><fo:block><fo:block><fo:b [...]
+        as quorum no longer exists. A single node cannot elect itself master. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-family="monospace">allow to operate solo</fo:inline> flag allows a node in a two node group to elect itself master and
+        to operate sole. It is configured as an <fo:basic-link internal-destination="Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes"><fo:inline>
+        attribute <fo:inline font-style="italic">designatedPrimary</fo:inline> on the virtualhost node</fo:inline></fo:basic-link> and can be changed
+        at runtime and is effective immediately.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example, consider a group of two where the master fails. Service will be interrupted
+        as the remaining node cannot elect itself master. To allow it to become master, apply the
+        <fo:inline font-family="monospace">allow to operate solo</fo:inline> flag to it. It will elect itself master and work can continue, albeit
+        from one node.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e7149"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Important</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">It is imperative not to allow the <fo:inline font-family="monospace">allow to ope [...]
+          do so will mean, in the event of a network partition, a <fo:basic-link external-destination="url(http://en.wikipedia.org/wiki/Split-brain_(computing))"><fo:inline>split-brain</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://en.wikipedia.org/wiki/Split-brain_(computing))">http://en.wikipedia.org/wiki/Split-brain_(computing)</fo:basic-link>]</fo:inline> will
+            occur.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Transaction loss is reported by message <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Message-HA-1014"><fo:inline>HA-1014</fo:inline></fo:basic-link>.</fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-High-Availability-Behaviour-MaximumMessageSize"><fo:block><fo:block><fo:block keep-together.within-column="always" mar [...]
+        Internally, BDB JE HA restricts the maximum size of replication stream records passed from the master
+        to the replica(s). This helps prevent DOS attacks.
+        If expected application maximum message size is greater than 5MB, the BDB JE setting
+        <fo:inline font-family="monospace">je.rep.maxMessageSize</fo:inline> and Qpid context variable <fo:inline font-family="monospace">qpid.max_message_size</fo:inline>
+        needs to be adjusted to reflect this in order to avoid running into the BDB HA JE limit.
+      </fo:block></fo:block></fo:block><fo:block id="Java-Broker-High-Availability-NodeOperations"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="star [...]
+            messaging clients will be disconnected and any in-flight transaction rollbacked. The
+            remaining nodes will elect a new master if quorum number of nodes still remains.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Stopping a replica node will cause the node to temporarily leave the group too.
+            Providing quorum still exists, the current master will continue without interruption. If
+            by leaving the group, quorum no longer exists, all the nodes will begin waiting,
+            disconnecting any messaging clients, and the virtualhost will become unavailable.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A stopped virtualhost node is still considered to be a member of the group.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7193"><fo:list-item-label end-indent="label-end()"><fo: [...]
+            become a replica once it has done so.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If the group did not have quorum and so had no master, but the rejoining of this
+            node means quorum now exists, an election will take place. The node with the most up to
+            date transaction will become master unless influenced by the priority rules described
+            above.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e7203"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The length of time taken to catch up will depend on how long the node has been
+              stopped. The worst case is where the node has been stopped for more than one hour. In
+              this case, the master will perform an automated <fo:inline font-family="monospace">network restore</fo:inline>.
+              This involves streaming all the data held by the master over to the replica. This
+              could take considerable time.</fo:block></fo:block></fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7209"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-style="italic">Delete</fo:inline></fo:block><fo:block space-before.optimum="1em" space- [...]
+            the group. The data stored locally is removed but this does not affect the data held by
+            the remainder of the group.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" margin-left="0.25in" margin-right="0.25in" id="d0e7215"><fo:block font-size="14pt" font-weight="bold" hyphenate="false" keep-with-next.within-column="always">Note</fo:block><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The names of deleted virtualhost node cannot be reused within a group [...]
+        above.</fo:block></fo:block><fo:block id="Java-Broker-High-Availability-NodeOperations-TransferMaster"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text [...]
+        restoring a business as usual state after a failure.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When using this function, the following occurs. <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.2em" id="d0e7227"><f [...]
+              date. </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7231"><fo:list-item-label end-indent="label-end()"><fo:block>2.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>It then suspends transactions on the old master and allows the chosen node to
+              become up to date.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7234"><fo:list-item-label end-indent="label-end()"><fo:block>3.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>The suspended transactions are aborted and any messaging clients connected to the
+              old master are disconnected.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7237"><fo:list-item-label end-indent="label-end()"><fo:block>4.</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>The chosen master becomes the new master. The old master becomes a replica.</fo:block></fo:block></fo:list-item-body></fo:lis [...]
+      virtualhost within the group.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Clients can do this using a static technique, for example , utilising the failover feature of the Apache Qpid
+      JMS and Apache Qpid JMS AMQP 0-x clients where the client has a list of all the nodes, and tries each node in
+      sequence until it discovers the node with the active virtualhost.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Another possibility is a dynamic technique utilising a proxy or Virtual IP (VIP). These
+      require other software and/or hardware and are outside the scope of this document.</fo:block></fo:block><fo:block id="Java-Broker-High-Availability-DiskSpace"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-be [...]
+      for them to allow them to return to the replica role quickly.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">By default, the master will retain up to 1hour of missed transactions. In a busy
+      production system, the disk space occupied could be considerable.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This setting is controlled by virtualhost context variable
+        <fo:inline font-family="monospace">je.rep.repStreamTimeout</fo:inline>.</fo:block></fo:block><fo:block id="Java-Broker-High-Availability-Network-Requirements"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space- [...]
+      and quality of service.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In order to achieve the best performance it is recommended to use a separate network
+      infrastructure for the Qpid HA Nodes which might include installation of dedicated network
+      hardware on Broker hosts, assigning a higher priority to replication ports, installing a group
+      in a separate network not impacted by any other traffic.</fo:block></fo:block><fo:block id="Java-Broker-High-Availability-Security"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space- [...]
+      intercepted by anyone having access to the replication network.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In order to reduce the security risks the entire HA group is recommended to run in a
+      separate network protected from general access and/or utilise SSH-tunnels/IPsec.</fo:block></fo:block><fo:block id="Java-Broker-High-Availability-Backup"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before. [...]
+      group. <fo:basic-link internal-destination="Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB-HA"><fo:inline>Section 11.2.2, “BDB-HA”</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="Java-Broker-High-Availability-Reset-Group-Infomational"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingba [...]
+      circumstances when resetting this information is useful.<fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e7290"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7291"><fo:list-item-label end-indent="label-end( [...]
+            hardware</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is not an normal operation and is not usually required</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following command replaces the group table contained within the JE logs files with the
+      provided information. </fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e7301"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maxim [...]
+        <fo:inline font-family="monospace">${QPID_WORK}/&lt;nodename&gt;/config</fo:inline> directory of a target Broker. Then
+      start the Broker, and add a BDB HA Virtualhost node specify the same group name, node name and
+      node address. You will then have a group with a single node, ready to start re-adding
+      additional nodes as described above. </fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="body" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfD [...]
+      exist beneath <fo:inline font-family="monospace">${QPID_WORK}</fo:inline>, assuming all virtualhost nodes and virtualhost
+      are in their standard location, this will copy all configuration and persistent message data. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">There is currently no safe mechanism to take a complete copy of the entire Broker whilst
+      it is running.</fo:block></fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-Node"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-alig [...]
+      simply copy all the files the exist beneath
+        <fo:inline font-family="monospace">${QPID_WORK}/&lt;nodename&gt;/config</fo:inline>, assuming the virtualhost node is in
+      the standard location. This will copy all configuration that belongs to that virtualhost
+      node.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The technique for backing up a virtualhost node whilst it is running depends on its
+      type.</fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start- [...]
+        This utility can perform the backup when the broker is running.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">You can run this class from command line like in an example below:</fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e7369"><fo:blo [...]
+          directly</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-family="monospace">java</fo:inline>   -cp <fo:inline font-family="monospace" font-style="italic">"${QPID_HOME}/lib/*"</fo:inline>   org.apache.qpid.server.store.berkeleydb.BDBBackup \ <fo:block/>  -fromdir <fo:inline font-family="monospace" font-style="italic">${QPID_WORK}/&lt;nodename&gt;/config</fo:inline>   -todir <fo:inline font-family="monospace [...]
+          <fo:inline font-family="monospace">${QPID_WORK}/&lt;nodename&gt;/config</fo:inline> and copy store logs into
+          <fo:inline font-family="monospace">path/to/backup/folder</fo:inline>.</fo:block></fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB-HA"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" s [...]
+        documentation accompanying it. Any technique that takes a consistent snapshot of the
+        database is acceptable.</fo:block></fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-Node-JSON"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum=" [...]
+        command line tools.</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2 [...]
+      simply copy all the files the exist beneath
+        <fo:inline font-family="monospace">${QPID_WORK}/&lt;name&gt;/messages</fo:inline>, assuming the virtualhost is in the
+      standard location. This will copy all messages that belongs to that virtualhost.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The technique for backing up a virtualhost whilst it is running depends on its
+      type.</fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-BDB"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-inden [...]
+          <fo:inline font-family="monospace">${QPID_WORK}/&lt;name&gt;/messages</fo:inline> instead.</fo:block></fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-Derby"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.mi [...]
+        documentation accompanying it. Any technique that takes a consistent snapshot of the
+        database is acceptable.</fo:block></fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-Provided"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1 [...]
+        contains it.</fo:block></fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-BDBHA"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-ali [...]
+        contains it.</fo:block></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfDingbats" mar [...]
+    contained within the <fo:inline font-family="monospace">/bin</fo:inline> directory within the Broker distribution.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">To take effect, these variables must be set within the shell (and exported - if using Unix)
+    before invoking the script.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e7474"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" sp [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">None</fo:block>
+          </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The variable used to tell the Broker its installation directory. It must be an
+              absolute path. This is used to determine the location of Qpid's dependency JARs and
+              some configuration files.</fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Typically the value of this variable will look similar to
+                <fo:inline font-family="monospace">c:\qpid\qpid-broker\\8.0.5</fo:inline> (Windows) or
+                <fo:inline font-family="monospace">/usr/local/qpid/qpid-broker/8.0.5</fo:inline> (Unix). The
+              installation prefix will differ from installation to installation. </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If not set, a value for <fo:inline font-family="monospace">QPID_HOME</fo:inline> is derived from the location
+              of the script itself.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Environment-Variables-Qpid-Work"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>QPID_WORK</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt"  [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">User's home directory</fo:block>
+          </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used as the default root directory for any data written by the Broker. This is the
+              default location for any message data written to persistent stores and the Broker's
+              log file.</fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example, <fo:inline font-family="monospace">QPID_WORK=/var/qpidwork</fo:inline>.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Environment-Variables-Qpid-Opts"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>QPID_OPTS</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt"  [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">None</fo:block>
+          </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is the preferred mechanism for passing <fo:basic-link internal-destination="Java-Broker-Appendix-System-Properties"><fo:inline>Java system properties</fo:inline></fo:basic-link> to the
+              Broker. The value must be a list of system properties each separate by a space.
+                  <fo:inline font-family="monospace">-D<fo:inline font-family="monospace" font-style="italic">name1</fo:inline>=<fo:inline font-family="monospace" font-style="italic">value1</fo:inline>
+                  -D<fo:inline font-family="monospace" font-style="italic">name2</fo:inline>=<fo:inline font-family="monospace" font-style="italic">value2</fo:inline></fo:inline>.
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Environment-Variables-Qpid-Java-Gc"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>QPID_JAVA_GC</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top= [...]
+            <fo:inline font-family="monospace">-XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC</fo:inline>
+          </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is the preferred mechanism for customising garbage collection behaviour. The
+              value should contain valid garbage collection options(s) for the target JVM.</fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Refer to the JVM's documentation for details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Environment-Variables-Qpid-Java-Mem"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>QPID_JAVA_MEM</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-to [...]
+            <fo:inline font-family="monospace">-Xmx512m -XX:MaxDirectMemorySize=1536m</fo:inline>
+          </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is the preferred mechanism for customising the size of the JVM's heap and
+              direct memory.
+              The value should contain valid memory option(s) for the target JVM. Oracle JVMs
+              understand <fo:inline font-family="monospace">-Xmx</fo:inline> to specify a maximum heap size,
+               <fo:inline font-family="monospace">-Xms</fo:inline> an initial size, and
+               <fo:inline font-family="monospace">-XX:MaxDirectMemorySize</fo:inline> for the maximum amount of direct
+               memory.</fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example, <fo:inline font-family="monospace">QPID_JAVA_MEM="-Xmx6g -XX:MaxDirectMemorySize=12g"</fo:inline> would
+              set a maximum heap size of 6GB and 12GB of direct memory.</fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Refer to the JVM's documentation for details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Environment-Variables-Java-Opts"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>JAVA_OPTS</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-co [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is the preferred mechanism for passing any other JVM options. This variable is
+              commonly used to pass options for diagnostic purposes, for instance to turn on verbose
+              GC. <fo:inline font-family="monospace">-verbose:gc</fo:inline>.</fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Refer to the JVM's documentation for details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:b [...]
+    various optional behaviours.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The preferred method of enabling these system properties is using the <fo:basic-link internal-destination="Java-Broker-Appendix-Environment-Variables-Qpid-Opts"><fo:inline><fo:inline font-family="monospace">QPID_OPTS</fo:inline></fo:inline></fo:basic-link> environment variable described in the previous
+    section.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e7642"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum=" [...]
+            received from the peer before a connection is deemed to have been broken.</fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-System-Properties-Broker-Status-Updates"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>qpid.broker_status_updat [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If set true, the Broker will produce operational logging messages.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-System-Properties-Broker-Disabled-Features"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>qpid.broker_disabled_features</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border- [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Allows optional Broker features to be disabled. Currently understood feature
+              names are: <fo:inline font-family="monospace">qpid.jms-selector</fo:inline></fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Feature names should be comma separated.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:b [...]
+    the lives of objects within the Broker. These concise messages are designed to allow the user to
+    understand the actions of the Broker in retrospect. This is valuable for problem diagnosis and
+    provides a useful audit trail.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Each log message includes details of the entity causing the action (e.g. a management user
+    or messaging client connection), the entity receiving the action (e.g. a queue or connection)
+    and a description of operation itself.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The log messages have the following format:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-tr [...]
+    [<fo:inline font-family="monospace">Actor</fo:inline>] {[<fo:inline font-family="monospace">Subject</fo:inline>]} [<fo:inline font-family="monospace">Message Id</fo:inline>] [<fo:inline font-family="monospace">Message Text</fo:inline>]
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Where:</fo:block><fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e7716"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum= [...]
+          <fo:inline font-style="italic">performing</fo:inline> the action. There are actors corresponding to the Broker
+        itself, Management, Connection, and Channels. Their format is described in the <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Actor-Format"><fo:inline>table</fo:inline></fo:basic-link> below.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7728"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:lis [...]
+          <fo:inline font-style="italic">receiving</fo:inline> the action. There are subjects corresponding to the
+        Connections, Channels, Queues, Exchanges, Subscriptions, and Message Stores. Their format is
+        described in the <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Subject-Format"><fo:inline>table</fo:inline></fo:basic-link> below.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Some actions are reflexive, in these cases the Actor and Subject will be equal.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before [...]
+        three alphas and four digits separated by a hyphen <fo:inline font-family="monospace">AAA-9999</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7749"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-family="monospace">Message Text</fo:i [...]
+    connection actor (<fo:inline font-family="monospace">con</fo:inline>) provides us with details of the peer's connection: the
+    user id used by the client (myapp1), their IP, ephemeral port number and the name of the virtual
+    host. The message text itself gives us further details about the connection: the client id, the
+    protocol version in used, and details of the client's qpid library.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e7764">[con:8(myapp1@/127.0.0.1:52851/default)] CON- [...]
+      <fo:inline font-family="monospace">con</fo:inline> tells us details of the connection performing the queue creation: the
+    user id used by the client (myapp1), the IP, ephemeral port number and the name of the virtual
+    host. The queue subject tells use the queue's name (myqueue) and the virtualhost. The message
+    itself tells us more information about the queue that is being created. </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e7774">[con:8(myapp1@/127.0.0.1:52851/default)/ [...]
+    provide a complete catalogue of all supported messages.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Actor-Format"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before. [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used during startup and shutdown</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Management</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-botto [...]
+              [mng:<fo:inline font-family="monospace" font-style="italic">userid</fo:inline>(<fo:inline font-family="monospace" font-style="italic">clientip</fo:inline>:<fo:inline font-family="monospace" font-style="italic">ephemeralport</fo:inline>)] </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used for operations performed by the Web Management interfaces.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Connection</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-botto [...]
+              [con:<fo:inline font-family="monospace" font-style="italic">connectionnumber</fo:inline>(<fo:inline font-family="monospace" font-style="italic">userid</fo:inline>@/<fo:inline font-family="monospace" font-style="italic">clientip</fo:inline>:<fo:inline font-family="monospace" font-style="italic">ephemeralport</fo:inline>/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell pa [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used for operations performed by a client connection. Note that connections are
+              numbered by a sequence number that begins at 1.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Channel</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-w [...]
+              [con:<fo:inline font-family="monospace" font-style="italic">connectionnumber</fo:inline>(<fo:inline font-family="monospace" font-style="italic">userid</fo:inline>@/<fo:inline font-family="monospace" font-style="italic">clientip</fo:inline>:<fo:inline font-family="monospace" font-style="italic">ephemeralport</fo:inline>/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>/ch:<fo:inline font-family="monospace" font-style="italic">channelnumber</f [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used for operations performed by a client's channel (corresponds to the JMS
+              concept of Session). Note that channels are numbered by a sequence number that is
+              scoped by the owning connection.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Group</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block> [grp(/ [...]
+              name</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used for HA. Used for operations performed by the system itself often as a result
+              of actions performed on another node..</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Subject-Format"><fo:block space-before.optimum="1em" space-bef [...]
+              [con:<fo:inline font-family="monospace" font-style="italic">connectionnumber</fo:inline>(<fo:inline font-family="monospace" font-style="italic">userid</fo:inline>@/<fo:inline font-family="monospace" font-style="italic">clientip</fo:inline>:<fo:inline font-family="monospace" font-style="italic">ephemeralport</fo:inline>/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell pa [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A connection to the Broker.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Channel</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-w [...]
+              [con:<fo:inline font-family="monospace" font-style="italic">connectionnumber</fo:inline>(<fo:inline font-family="monospace" font-style="italic">userid</fo:inline>@/<fo:inline font-family="monospace" font-style="italic">clientip</fo:inline>:<fo:inline font-family="monospace" font-style="italic">ephemeralport</fo:inline>/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>/ch:<fo:inline font-family="monospace" font-style="italic">channelnumber</f [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A client's channel within a connection.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Subscription</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bot [...]
+              [sub:<fo:inline font-family="monospace" font-style="italic">subscriptionnumber</fo:inline>(vh(/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>)/qu(<fo:inline font-family="monospace" font-style="italic">queuename</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom- [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A subscription to a queue. This corresponds to the JMS concept of a
+              Consumer.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Queue</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-wid [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A queue on a virtualhost</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Exchange</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom- [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">An exchange on a virtualhost</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Binding</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-w [...]
+              [vh(/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>)/ex(<fo:inline font-family="monospace" font-style="italic">exchangetype</fo:inline>/<fo:inline font-family="monospace" font-style="italic">exchangename</fo:inline>)/qu(<fo:inline font-family="monospace" font-style="italic">queuename</fo:inline>)/rk(<fo:inline font-family="monospace" font-style="italic">bindingkey</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:ta [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A binding between a queue and exchange with the giving binding key.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Message Store</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bo [...]
+              [vh(/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>)/ms(<fo:inline font-family="monospace" font-style="italic">messagestorename</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A virtualhost/message store on the Broker.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA Group</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block> [gr [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A HA group</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following tables lists all the operation log messages that can be produced by the
+    Broker, and the describes the circumstances under which each may be seen.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Broker"><fo:block space-before.optimum="1em" space-before.mini [...]
+              <fo:inline font-family="monospace" font-style="italic">build</fo:inline>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the Broker is starting up</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+              <fo:inline font-family="monospace" font-style="italic">portnumber</fo:inline>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the Broker has begun listening on a port.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+              <fo:inline font-family="monospace" font-style="italic">portnumber</fo:inline>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the Broker has stopped listening on a port.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the Broker is ready for normal operations.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the Broker is stopped.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates the name of the configuration store in use by the Broker.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            kB/s peak : <fo:inline font-family="monospace" font-style="italic">size</fo:inline> bytes total</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Statistic - bytes delivered or received by the Broker.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            msg/s peak : <fo:inline font-family="monospace" font-style="italic">size</fo:inline> msgs total</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Statistic - messages delivered or received by the Broker.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1010"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1010</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+          </fo:inline> OS : <fo:inline font-family="monospace" font-style="italic">operating system vendor</fo:inline> version:
+            <fo:inline font-family="monospace" font-style="italic">operating system version</fo:inline>} arch: <fo:inline font-family="monospace" font-style="italic">processor
+              architecture</fo:inline> cores: <fo:inline font-family="monospace" font-style="italic">number of CPU cores</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Key information about the environment hosting the Broker</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1011"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1011</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            bytes</fo:inline> size</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Configured memory paramters for the Broker.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1012"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1012</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:inline font-family="monospace" font-style="italic">management mode password</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used when Broker is started in management mode to indicate the
+             management credentials that may be used connect to the Broker.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1016"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1016</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that broker was shut down due to fatal error.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1017"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1017</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Process identifier (PID) of the Broker process.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1018"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1018</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Management"><fo:block space-before.optimum="1em"  [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a Management plugin is starting up. Supported by Web management plugin.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+              <fo:inline font-family="monospace" font-style="italic">port</fo:inline>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a Management plugin is listening on the given port.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+              <fo:inline font-family="monospace" font-style="italic">port</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a Management plugin is ceasing to listen on the given port.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a Management plugin is ready for work.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a Management plugin is stopped.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates the opening of a connection to Management has by the given
+              username.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates the closing of a connection to Management has by the given
+              username.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-VirtualHost"><fo:block space-before.optimum="1em" [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a virtualhost has been created.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>VHT-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a virtualhost has been closed. This occurs on Broker
+              shutdown.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>VHT-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Virtualhost has suffered an unexpected fatal error, check the logs for more
+              details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>VHT-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that virtual host flow control is activated
+                  when the usage of file system containing Virtualhost  message store exceeded predefined limit.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>VHT-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that virtual host flow control is deactivated
+                  when the usage of file system containing Virtualhost message falls under predefined limit.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>VHT-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Queue"><fo:block space-before.optimum="1em" space [...]
+            <fo:inline font-family="monospace" font-style="italic">AutoDelete</fo:inline> [<fo:inline font-family="monospace" font-style="italic">Durable</fo:inline>]
+              <fo:inline font-family="monospace" font-style="italic">Transient</fo:inline> Priority:
+              <fo:inline font-family="monospace" font-style="italic">numberofpriorities</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a queue has been created.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUE-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a queue has been deleted.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUE-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            Overfull : Size :  <fo:inline font-family="monospace" font-style="italic">size in bytes</fo:inline>, Capacity : <fo:inline font-family="monospace" font-style="italic">resumesize in bytes</fo:inline>,
+            Messages : <fo:inline font-family="monospace" font-style="italic">size in messages</fo:inline>, Message Capacity : <fo:inline font-family="monospace" font-style="italic">resumesize in messages</fo:inline>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a queue has exceeded its permitted capacity when
+              <fo:inline font-style="italic">Producer Flow Control</fo:inline> overflow policy is used.
+              See <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link> for details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUE-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            Underfull : Size : <fo:inline font-family="monospace" font-style="italic">size in bytes</fo:inline>, Capacity : <fo:inline font-family="monospace" font-style="italic">resumesize in bytes</fo:inline>,
+            Messages : <fo:inline font-family="monospace" font-style="italic">size in messages</fo:inline>, Message Capacity : <fo:inline font-family="monospace" font-style="italic">resumesize in messages</fo:inline>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              Indicates that a queue has fallen to its resume capacity  when
+              <fo:inline font-style="italic">Producer Flow Control</fo:inline> overflow policy is used.
+              See <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link> for details.
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUE-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            Dropped : <fo:inline font-family="monospace" font-style="italic">number</fo:inline> messages, Depth : <fo:inline font-family="monospace" font-style="italic">size</fo:inline> bytes,
+            <fo:inline font-family="monospace" font-style="italic">size</fo:inline> messages, Capacity : <fo:inline font-family="monospace" font-style="italic">limit</fo:inline> bytes,
+            <fo:inline font-family="monospace" font-style="italic">limit</fo:inline> messages
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+              Indicates that a given number of messages is deleted when <fo:inline font-style="italic">Ring</fo:inline> overflow policy is
+              used and any of queue capacity limits is breached .
+              See <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link> for details.
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1016"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUE-1016</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Exchange"><fo:block space-before.optimum="1em" sp [...]
+            Name: <fo:inline font-family="monospace" font-style="italic">exchange name</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that an exchange has been created.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>EXH-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that an exchange has been deleted.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>EXH-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+              <fo:inline font-family="monospace" font-style="italic">routing key</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that an exchange received a message that could not be routed to at least
+              one queue. queue has exceeded its permitted capacity. See <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-UnroutableMessage"><fo:inline>Section 4.6.4, “Unrouteable Messages”</fo:inline></fo:basic-link> for details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>EXH-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Binding"><fo:block space-before.optimum="1em" spa [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a binding has been made between an exchange and a queue.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BND-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BND-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a binding has been deleted</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Connection"><fo:block space-before.optimum="1em"  [...]
+            <fo:inline font-family="monospace" font-style="italic">protocol version</fo:inline> : Client ID : <fo:inline font-family="monospace" font-style="italic">clientid</fo:inline> :
+            Client Version : <fo:inline font-family="monospace" font-style="italic">client version</fo:inline> :
+            Client Product : <fo:inline font-family="monospace" font-style="italic">client product</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection has been opened. The Broker logs one of these message
+              each time it learns more about the client as the connection is negotiated.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection has been closed. This message is logged regardless of
+              if the connection is closed normally, or if the connection is somehow lost e.g network
+              error. </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used when heart beating is in-use. Indicates that the connection has not received
+              a heartbeat for too long and is therefore closed as being inactive. </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection has been unexpectedly closed by the peer. This usually
+            occurs if a machine hosting an application fails or the application's process is
+            abruptly terminated.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection has been received from client with a version number
+              that is configured to be logged.  This feature may help teams manage software currency.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection attempt has been received from client with a version number
+              that is configured to be rejected.  This feature may help manage software currency.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection has been closed by the actions of an
+            Operator using manangement.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            exceeding <fo:inline font-family="monospace" font-style="italic">size</fo:inline> bytes limit. Messages will be flowed to disk.</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Warns that the transactions associated with this connection contain so much uncommitted data that
+              a threshold has been breached.  The connection responds by flowing the messages already associated with the
+              transactions and any new messages to disk.  The connection reverts to normal behaviour once the
+              quantity of uncommitted data falls beneath the threshold.  Normally this happens when the transactions
+              commit or rollback.
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1010"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1010</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a messaging transaction has been open for longer than that
+              permitted. See <fo:basic-link internal-destination="Java-Broker-Runtime-Transaction-Timeout"><fo:inline>Section 9.3, “Transaction Timeout”</fo:inline></fo:basic-link> for
+              more details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1011"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1011</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a messaging transaction has been idle for longer than that
+              permitted. See <fo:basic-link internal-destination="Java-Broker-Runtime-Transaction-Timeout"><fo:inline>Section 9.3, “Transaction Timeout”</fo:inline></fo:basic-link> for
+              more details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Channel"><fo:block space-before.optimum="1em" spa [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel (corresponds to the JMS concept of Session) has been
+              created.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates message flow to a session has begun.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel has been closed.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+              of messages</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates the prefetch size in use by a channel.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that producer flow control has been imposed on a channel owning to
+              excessive queue depth in the indicated queue. Produces using the channel will be
+              requested to pause the sending of messages.
+              See <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link> for more details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that producer flow control has been removed from a channel.
+              See <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link> for more details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            exchange configured for queue : <fo:inline font-family="monospace" font-style="italic">queue name</fo:inline>{1} routing key :
+              <fo:inline font-family="monospace" font-style="italic">routing key</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel has discarded a message as the maximum delivery count has
+              been exceeded but the queue defines no alternate exchange. See <fo:basic-link internal-destination="Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count"><fo:inline>Section 9.4.2, “Maximum Delivery Count”</fo:inline></fo:basic-link> for more details. Note that <fo:inline font-family="monospace" font-style="italic">message number</fo:inline> is an
+              internal message reference.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1010"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1010</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            alternate exchange : <fo:inline font-family="monospace" font-style="italic">exchange name</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel has discarded a message as the maximum delivery count has
+              been exceeded but the queue's alternate exchange has no binding to a queue. See <fo:basic-link internal-destination="Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count"><fo:inline>Section 9.4.2, “Maximum Delivery Count”</fo:inline></fo:basic-link> for more details. Note that <fo:inline font-family="monospace" font-style="italic">message number</fo:inline> is an
+              internal message reference.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1011"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1011</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+              <fo:inline font-family="monospace" font-style="italic">queue name</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel has moved a message to the named dead letter queue
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1012"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1012</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel violating the imposed flow control has been closed
+            </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1014"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1014</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Subscription"><fo:block space-before.optimum="1em [...]
+              <fo:inline font-family="monospace" font-style="italic">arguments</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a subscription (corresponds to JMS concept of a MessageConsumer)
+              has been created.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>SUB-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a subscription has been closed.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>SUB-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a subscription has been in a suspened state for an unusual length
+              of time.  This may be indicative of an consuming application that has stopped taking
+              messages from the consumer (i.e. a JMS application is not calling receive() or its
+              asynchronous message listener onMessage() is blocked in application code).  It may also
+              indicate a generally overloaded system.
+              </fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>SUB-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-MessageStore"><fo:block space-before.optimum="1em [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a message store has been created. The message store is responsible
+              for the storage of the messages themselves, including the message body and any
+              headers.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the message store is using <fo:inline font-family="monospace" font-style="italic">path</fo:inline> for the
+              location of the message store.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the message store has been closed.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that message recovery has begun.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that recovery recovered the given number of messages from the
+              store.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the message recovery is concluded.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The store is entering a passive state where is it unavailable for normal
+              operations. Currently this message is used by HA when the node is in replica
+              state.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The store has breached is maximum configured size.
+              See <fo:basic-link internal-destination="Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control"><fo:inline>Section 9.2.1, “Disk quota-based flow control”</fo:inline></fo:basic-link> for details.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The store size has fallen beneath its resume capacity and therefore flow control
+              has been rescinded. See <fo:basic-link internal-destination="Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control"><fo:inline>Section 9.2.1, “Disk quota-based flow control”</fo:inline></fo:basic-link>
+              for details. </fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-TransactionStore"><fo:block space-before.optimum= [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a transaction store has been created. The transaction store is
+              responsible for the storage of messages instances, that is, the presence of a message
+              on a queue.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>TXN-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the transaction store is using <fo:inline font-family="monospace" font-style="italic">path</fo:inline> for
+              the location of the store.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>TXN-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the transaction store has been closed.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>TXN-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that transaction recovery has begun.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-TXN"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>TXN-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end [...]
+              <fo:inline font-family="monospace" font-style="italic">name</fo:inline>.</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that recovery recovered the given number of message instances for the
+              given queue.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>TXN-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the message recovery is concluded.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-ConfigurationStore"><fo:block space-before.optimu [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a configuration store has been created. The configuration store is
+              responsible for the storage of the definition of objects such as queues, exchanges,
+              and bindings.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CFG-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the configuration store is using <fo:inline font-family="monospace" font-style="italic">path</fo:inline>
+              for the location of the store.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CFG-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the configuration store has been closed.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CFG-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that configuration recovery has begun.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CFG-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the configuration recovery is concluded.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-HA"><fo:block space-before.optimum="1em" space-be [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This HA node has been created.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This HA node has been deleted</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+              (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A new node has been added to the group.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+              (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node has been removed from the group. This removal is permanent.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+              (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node has become reachable. This may be as a result of the node being
+              restarted, or a network problem may have been resolved.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+              (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node is no longer reachable. This may be as a result of the node being stopped
+              or a network partition may be preventing it from being connected. The node is still a
+              member of the group.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+              (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a master transfer operation has been requested.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+              (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that an unexpected node has joined the group. The virtualhost node will
+              go into the ERROR state in response to the condition.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This node (which was in the master role) no longer has sufficient replica in
+              contact in order to complete transactions.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1010"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1010</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+              (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>) : from <fo:inline font-family="monospace" font-style="italic">role</fo:inline> to
+              <fo:inline font-family="monospace" font-style="italic">role</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the node has changed role within the group.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1011"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1011</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The quorum requirements from completing elections or transactions has been
+              changed.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1012"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1012</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The priority of the object node has been changed. Zero indicates that the node
+              cannot be elected master.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1013"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1013</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This node has been designated primary and can now operate solo. Applies to two
+              node groups only. See <fo:basic-link internal-destination="Java-Broker-High-Availability-Behaviour-DesignatedPrimary"><fo:inline>Section 10.4.5, “Allow to Operate Solo”</fo:inline></fo:basic-link></fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1014"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1014</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bott [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This node is in the process of rejoining the group but has discovered that some
+              of its transactions differ from those of the current master. The node will
+              automatically roll-back (i.e. discard) the diverging transactions in order to be
+              allowed to rejoin the group. This situation can only usually occur as a result of use
+              of the weak durability options. These allow the group to operate with fewer than
+              quorum nodes and therefore allow the inconsistencies to develop. </fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">On encountering this condition, it is <fo:inline font-style="italic">strongly</fo:inline> recommendend
+              to run an application level reconcilation to determine the data that has been
+              lost.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Port"><fo:block space-before.optimum="1em" space- [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Port has been created.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Port has been open</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Port has been closed</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Warns that number of open connections approaches maximum allowed limit</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Connection from given host is rejected because of reaching the maximum allowed limit</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Ususualy indicates an attempt to make an non-AMQP connection on an AMQP port, for instance,
+             with a web browser.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Incoming connection is rejected because the port's connection limits are
+              already reached.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The given port number could not be bound because it is already in-use.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1010"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1010</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:b [...]
+    the log.  Statistics reporting can be configured for a single entity  (e.g. a queue) or for all entities of a
+    particular category (e.g. for all queues). The system can be configured dynamically at runtime without the need
+    for the system to be restarted.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This feature helps allow the behaviour of the overall system to be understood and can aid real-time problem
+    diagnosis.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">It can be configured Broker-wide or separately for each virtual host.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The format of the statistics report is configurable.</fo:block><fo:block id="d0e9853"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Sy [...]
+      in seconds.  By default the statistics report period is zero, meaning the system is disabled.   To enable the
+      statistics report set the <fo:inline font-style="italic">statistics reporting period</fo:inline> on either the Broker or virtualhost to
+      a non-zero value.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Once the period is defined, the system will respond to the statistic report patterns defined described next.</fo:block></fo:block><fo:block id="d0e9863"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-seri [...]
+      content variables</fo:inline></fo:basic-link>.  The place where the context variable is defined governs the scope i.e. the entities to
+      which the pattern will be applied.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For instance, to define a statistics reporting pattern for a single queue,
+      <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console-Managing-Context-Variables"><fo:inline>set the contextvariable
+      </fo:inline></fo:basic-link> on the queue itself.  If you want the same statistics report pattern for apply to all queues, set the pattern on a
+       suitable ancestor of the queue.  For instance, if set on virtualhost, the pattern will applied to all queues defined
+       on that virtualhost.  If set on Broker, the pattern will be applied to all queues on the Broker.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The context variable name is formed as follows:
+      <fo:inline font-family="monospace">qpid.&lt;category-name&gt;.statisticsReportPattern</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For instance, for queue: <fo:inline font-family="monospace">qpid.queue.statisticsReportPattern</fo:inline> and virtualhost:
+      <fo:inline font-family="monospace">qpid.virtualhost.statisticsReportPattern</fo:inline></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The value of the context variable is a free text string containing reference(s) to the statistic names that
+      are to appear in the report. References are made by surrounding the name of the statistic with '$' and curly braces,
+      thus <fo:inline font-family="monospace">${&lt;statistic-name&gt;}</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Statistics references allow an optional formatters. The supported formatters are: <fo:inline font-family="monospace">:byteunit</fo:inline>
+      (produces a human readable byte value e.g. 3 MiB), <fo:inline font-family="monospace">:duration</fo:inline> (produces a ISO-8601 duration)and
+      <fo:inline font-family="monospace">:datetime</fo:inline> (produces a ISO-8601 date/time).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example, a statistic report pattern for the <fo:inline font-family="monospace">queue</fo:inline> category specifying two queue
+      statistic values: <fo:inline font-family="monospace">queueDepthMessages=${queueDepthMessages},queueDepthBytes=${queueDepthBytes:byteunit}</fo:inline></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Like all context variables, the statistic report pattern can also reference the attributes of the entity
+      or even its ancestors.  This feature can be exploited to include things like the name of the entity within the
+      report.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">These points are illustrated in the examples in the next section.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A catalogue of statistics names and descriptions is available from the REST API documentation available
+      through the <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console"><fo:inline>Web Management Console</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="d0e9922"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="alwa [...]
+      cURL.  This example uses <fo:inline font-family="monospace">ancestor</fo:inline> references to include entity names:</fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e9933"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12p [...]
+"value" : "${ancestor:virtualhost:name}/${ancestor:queue:name}: queueDepthMessages=${queueDepthMessages},
+queueDepthBytes=${queueDepthBytes:byteunit}"}' https://localhost:8080/api/latest/queue/default/default/myqueue/setContextVariable</fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      Once enabled, an example statistic report output written to the log might look like this:
+      <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e9940">INFO  [virtualhost-default-pool-0] (q.s.Queue)- Statistics: default/myqueue: queueDepthMessages=0, queueDepthBytes=0 B
+ INFO  [virtualhost-default-pool-2] (q.s.Queue)- Statistics: default/myqueue: queueDepthMessages=3, queueDepthBytes=345 B
+ INFO  [virtualhost-default-pool-2] (q.s.Queue)- Statistics: default/myqueue: queueDepthMessages=3, queueDepthBytes=345 B</fo:block>
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Removing a statistic report pattern from the same queue:</fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e9945"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maxim [...]
+curl --user admin --data '{"name" : "qpid.queue.statisticsReportPattern"}' https://localhost:8080/api/latest/queue/default/default/myqueue/setContextVariable</fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Adding a statistic reporting pattern to all queues:</fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.op [...]
+"value" : "${ancestor:virtualhost:name}/${ancestor:queue:name}:
+oldestMessageAge=${oldestMessageAge:duration}"}' https://localhost:8080/api/latest/virtualhost/default/default/setContextVariable</fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      Once enabled, an  example statistic report for a virtualhost with two queues might look like this:
+      <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e9959">INFO  [virtualhost-default-pool-1] (q.s.Queue)- Statistics: default/myqueue1: oldestMessageAge=PT1M24S
+      INFO  [virtualhost-default-pool-1] (q.s.Queue)- Statistics: default/myqueue2: oldestMessageAge=PT0S</fo:block>
+    </fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table ta [...]
+    these limits will be periodically written to the log if these limits are breached, until the
+    condition is rectified.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example, if queue <fo:inline font-family="monospace">myqueue</fo:inline> is configured with a message count alert of
+    1000, and then owing to a failure of a downstream system messages begin to accumulate on the
+    queue, the following alerts will be written periodically to the log. </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e9973">INFO [default:VirtualHostHouseKeepingTask]  [...]
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Note that queue alerts are <fo:inline font-style="italic">soft</fo:inline> in nature; breaching the limit will
+    merely cause the alerts to be generated but messages will still be accepted to the queue.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Queue-Alerts-Alerting-Messages"><fo:block space-before.optimum="1em" space-be [...]
+              <fo:inline font-family="monospace" font-style="italic">number of messages</fo:inline>: Maximum count on queue threshold
+              (<fo:inline font-family="monospace" font-style="italic">limit</fo:inline>) breached. </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The number of messages on the given queue has breached its configured
+              limit.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MESSAGE_SIZE_ALERT</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" bord [...]
+              -<fo:inline font-family="monospace" font-style="italic">message size</fo:inline> : Maximum message size threshold
+              (<fo:inline font-family="monospace" font-style="italic">limit</fo:inline>) breached. [Message ID=<fo:inline font-family="monospace" font-style="italic">message
+              id</fo:inline>]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The size of an individual messages has breached its configured limit.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUEUE_DEPTH_ALERT</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" borde [...]
+              <fo:inline font-family="monospace" font-style="italic">total size of all messages on queue</fo:inline> : Maximum queue depth
+            threshold (<fo:inline font-family="monospace" font-style="italic">limit</fo:inline>) breached.</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The total size of all messages on the queue has breached its configured
+              limit.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MESSAGE_AGE_ALERT</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:b [...]
+              of message</fo:inline> : Maximum age on queue threshold
+              (<fo:inline font-family="monospace" font-style="italic">limit</fo:inline>) breached. </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+            <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The age of a message on the given queue has breached its configured limit.</fo:block>
+          </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:b [...]
+        following at the command prompt: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10088">echo %JAVA_HOME%</fo:block><fo:block space-before.optimum="1em" space-befo [...]
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Then confirm that a Java installation (1.8 or higher) is available: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="p [...]
+Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
+Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)</fo:block></fo:block><fo:block id="Java-Broker-Miscellaneous-JVM-Verification-Unix"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1. [...]
+        following at the command prompt: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10107">echo $JAVA_HOME</fo:block><fo:block space-before.optimum="1em" space-befor [...]
+      </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Then confirm that a Java installation (1.8 or higher) is available: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="p [...]
+        Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
+        Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0. [...]
+      Database's JDBC 4.0 compatible drivers available on the Broker's classpath. To do this copy
+      the driver's JAR file into the <fo:inline font-family="monospace">${QPID_HOME}/lib</fo:inline> folder.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10129">Unix:
+cp <fo:inline font-family="monospace">driver</fo:inline>.jar qpid-broker-8.0.5/lib</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10134">Windows:
+copy <fo:inline font-family="monospace">driver</fo:inline>.jar qpid-broker-8.0.5\lib</fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"> [...]
+        <fo:inline font-style="italic">Qpid Broker-J</fo:inline>
+        supports a number of custom arguments which can be specified as part of <fo:inline font-style="italic">queue.declare</fo:inline>
+        commands for AMQP 0-x protocols. This section provides an overview of the supported arguments.
+    </fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Supported-Queue-Declare-Arguments"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after [...]
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Declaration of overflow policy.
+                            See
+                            <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link>
+                            for more details.
+                        </fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" text-align="center" display-align="center" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block/></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Policy-Type"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-wi [...]
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.policy_type</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defines queue overflow policy.</fo:block>
+                    </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Max-Count"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.max_count</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defines <fo:inline font-style="italic">maximum number of messages</fo:inline>.
+                        </fo:block>
+                    </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Max-Size"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.max_size</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defines <fo:inline font-style="italic">maximum number of bytes</fo:inline>.
+                        </fo:block>
+                    </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-style="italic">Overflow Policy</fo:inline> and the limits can be specified using
+                            <fo:inline font-style="italic">Address</fo:inline>
+                            based syntax as in the example below:
+                            <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10223">
+my-queue; {create: always, node:
+{x-declare: {arguments:
+{'qpid.max_count': 10000,
+'qpid.max_size': 102400,
+'qpid.policy_type: 'ring'}}}}
+</fo:block>
+                        </fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" text-align="center" display-align="center" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block/></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Overflow-Policy-Producer-Flow-Control"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bot [...]
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Alternative declaration of <fo:inline font-style="italic">Producer Flow Control</fo:inline> overflow policy.
+                            See
+                            <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link>
+                            for more details.
+                        </fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" text-align="center" display-align="center" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block/></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Capacity"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width [...]
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">x-qpid-capacity</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defines <fo:inline font-style="italic">maximum number of bytes</fo:inline>.
+                        </fo:block>
+                    </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Flow-Resume-Capacity"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">x-qpid-flow-resume-capacity</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defines flow resume threshold in bytes</fo:block>
+                    </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-style="italic">Producer Flow Control</fo:inline> can be specified using
+                            <fo:inline font-style="italic">Address</fo:inline> based syntax as in the example below:
+                            <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10274">
+my-queue; {create: always, node:
+{x-declare: {arguments:
+{'x-qpid-capacity': 102400,
+'x-qpid-flow-resume-capacity': 8192000}}}}
+</fo:block>
+                        </fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" text-align="center" display-align="center" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block/></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Qpid-Priorities"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bot [...]
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">x-qpid-priorities</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Specifies a priority queue with given number priorities</fo:block>
+                    </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Sort-Key"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.queue_sort_key</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Specifies sorted queue with given message property used to sort the entries</fo:block>
+                    </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Last-Value-Key"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.last_value_queue_key</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Specifies lvq queue with given message property used to conflate the entries</fo:block>
+                    </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Ensure-Nondestructive-Consumers"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.ensure_nondestructive_consumers</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Set to true if the queue should make all consumers attached to it behave
+                            non-destructively. (Default is false).</fo:block>
+                    </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Qpid-Maximum-Delivery-Count"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">x-qpid-maximum-delivery-count</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Specifies this queue's maximum delivery count.</fo:block>
+                    </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Single-Active-Consumer"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">x-single-active-consumer</fo:block>
+                    </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+                        <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If set <fo:inline font-family="monospace">true</fo:inline>, then of all consumers attached to a queue, only one will
+                            be designated as <fo:inline font-style="italic">active</fo:inline>, and eligible to receive messages.  If the active
+                            consumer is detached, and other consumers are attached, one of these other consumers is selected
+                            to become the single active consumer.</fo:block>
+                    </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:bl [...]
+    provides an introduction into Broker-J initial configuration and how broker configuration can be created from
+    initial configuration on first broker start-up. This appendix illustrates how to create a BDB HA group from an
+    initial configuration file. For creation of BDB HA group using Web Management Console please refer <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console"><fo:inline>Section 6.2, “Web Management Console”</fo:inline></fo:basic-link>.
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The BDB HA group usually consists of two or more nodes hosting a distributed virtual host.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When BDB HA node is created the following attributes has to be provided
+    <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e10364"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e10365"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+    A node priority can be optionally specified for the node to influence master election among nodes with the most current set of data.
+    An attribute <fo:inline font-style="italic">priority</fo:inline> is used to specify a priority as an integer number.
+  </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Apart from a group name and permitted nodes, the rest of node attribute values varies from node to node.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In order to use the same initial configuration for creation of BDB HA nodes, the context variable can be used for varying attribute values.</fo:block><fo:block space-before.o [...]
+    <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e10407"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e10408"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+  </fo:block><fo:block id="Java-Broker-Appendix-BDB-HA-initial-configuration-example"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-inde [...]
+{
+  "name": "${broker.name}",
+  "modelVersion" : "8.0",
+  "authenticationproviders" : [ {
+    "name" : "plain",
+    "type" : "Plain",
+    "users" : [ {
+    "name" : "guest",
+    "type" : "managed",
+    "password" : "guest"
+  } ]
+  } ],
+  "brokerloggers" : [ {
+    "name" : "logfile",
+    "type" : "File",
+    "fileName" : "${qpid.work_dir}${file.separator}log${file.separator}qpid.log",
+    "brokerloginclusionrules" : [ {
+      "name" : "Root",
+      "type" : "NameAndLevel",
+      "level" : "WARN",
+      "loggerName" : "ROOT"
+    }, {
+      "name" : "Qpid",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "org.apache.qpid.*"
+    }, {
+      "name" : "Operational",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.message.*"
+    }, {
+      "name" : "Statistics",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.statistics.*"
+    } ]
+  }, {
+    "name" : "memory",
+    "type" : "Memory",
+    "brokerloginclusionrules" : [ {
+      "name" : "Root",
+      "type" : "NameAndLevel",
+      "level" : "WARN",
+      "loggerName" : "ROOT"
+    }, {
+      "name" : "Qpid",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "org.apache.qpid.*"
+    }, {
+      "name" : "Operational",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.message.*"
+    }, {
+      "name" : "Statistics",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.statistics.*"
+    } ]
+  } ],
+  "ports" : [  {
+    "name" : "AMQP",
+    "port" : "${qpid.amqp_port}",
+    "authenticationProvider" : "plain",
+    "virtualhostaliases" : [ {
+      "name" : "nameAlias",
+      "type" : "nameAlias"
+    }, {
+      "name" : "defaultAlias",
+      "type" : "defaultAlias"
+    }, {
+      "name" : "hostnameAlias",
+      "type" : "hostnameAlias"
+    } ]
+  }, {
+  "name" : "HTTP",
+    "port" : "${qpid.http_port}",
+    "authenticationProvider" : "plain",
+    "protocols" : [ "HTTP" ]
+  }],
+  "virtualhostnodes" : [ {
+    "name" : "${ha.node_name}",
+    "type" : "BDB_HA",
+    "address" : "${ha.node_address}",
+    "groupName" : "${ha.group_name}",
+    "helperAddress" : "${ha.helper_address}",
+    "helperNodeName" : "${ha.helper_node_name}",
+    "permittedNodes" : "${ha.permitted_nodes}",
+    "priority" : "${ha.priority}",
+    "defaultVirtualHostNode" : "true",
+    "virtualHostInitialConfiguration" : "${qpid.initial_config_virtualhost_config}"
+  } ],
+  "plugins" : [ {
+    "type" : "MANAGEMENT-HTTP",
+    "name" : "httpManagement"
+  } ]
+}
+      </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Appendix-BDB-HA-initial-configuration-creation"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum [...]
+      consisting of tree nodes <fo:inline font-family="monospace">weather1</fo:inline>, <fo:inline font-family="monospace">weather2</fo:inline>, and <fo:inline font-family="monospace">weather3</fo:inline>
+      using the initial configuration above. We start node <fo:inline font-family="monospace">weather1</fo:inline> on host/port
+      <fo:inline font-family="monospace">chaac:5000</fo:inline>, node <fo:inline font-family="monospace">weather2</fo:inline> on host/port <fo:inline font-family="monospace">indra:5000</fo:inline>
+      and node <fo:inline font-family="monospace">weather3</fo:inline> on host/port <fo:inline font-family="monospace">thor:5000</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node <fo:inline font-family="monospace">weather1</fo:inline> can be created with the following command</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space [...]
+$ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather1 -prop  ha.node_address=chaac:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]" -prop ha.priority=3 \
+-prop qpid.amqp_port=10000 -prop qpid.http_port=20000
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Please note, the broker is started with initial configuration at file <fo:inline font-family="monospace">./initial-config.json</fo:inline>.
+      The context variable for node name <fo:inline font-family="monospace">ha.node_name</fo:inline> is set to <fo:inline font-family="monospace">weather1</fo:inline>.
+      The node address context variable <fo:inline font-family="monospace">ha.node_address</fo:inline> is set to <fo:inline font-family="monospace">chaac:5000</fo:inline>.
+      As it is a first node, the helper address is set to the same address as a node address (<fo:inline font-family="monospace">ha.helper_address=chaac:5000</fo:inline>)
+      and the helper node name is to itself (<fo:inline font-family="monospace">ha.helper_node_name=weather1</fo:inline>). The group name is set to <fo:inline font-family="monospace">weather</fo:inline>
+      with <fo:inline font-family="monospace">ha.group_name=weather</fo:inline>. The group nodes are listed in <fo:inline font-family="monospace">ha.permitted_nodes</fo:inline>.
+      The amqp and http ports are overridden to 10000 and 20000 accordingly. The node priority is set to <fo:inline font-family="monospace">3</fo:inline>.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node <fo:inline font-family="monospace">weather2</fo:inline> can be created on host<fo:inline font-family="monospace">indra</fo:inline> with the following command:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-opti [...]
+ $ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather2 -prop  ha.node_address=indra:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]"  -prop ha.priority=2 \
+-prop qpid.amqp_port=10001 -prop qpid.http_port=20001
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      The context variable for node name <fo:inline font-family="monospace">ha.node_name</fo:inline> is set to <fo:inline font-family="monospace">weather2</fo:inline>.
+      The node address context variable <fo:inline font-family="monospace">ha.node_address</fo:inline> is set <fo:inline font-family="monospace">indra:5000</fo:inline>.
+      The amqp and http ports are overridden to 10001 and 20001 accordingly. The node <fo:inline font-family="monospace">weather2</fo:inline>
+      priority is set to <fo:inline font-family="monospace">2</fo:inline>. The rest of the context variables have
+      the same values as for node <fo:inline font-family="monospace">weather1</fo:inline>. The latter is used as a helper node for creation of
+      <fo:inline font-family="monospace">weather2</fo:inline>.
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node <fo:inline font-family="monospace">weather3</fo:inline> can be created on host<fo:inline font-family="monospace">thor</fo:inline> with the following command:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-optio [...]
+$ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather3 -prop  ha.node_address=thor:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]"  -prop ha.priority=1 \
+-prop qpid.amqp_port=10002 -prop qpid.http_port=20002
+    </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+      The context variable for node name <fo:inline font-family="monospace">ha.node_name</fo:inline> is set to <fo:inline font-family="monospace">weather3</fo:inline>.
+      The node address context variable <fo:inline font-family="monospace">ha.node_address</fo:inline> is set <fo:inline font-family="monospace">thor:5000</fo:inline>.
+      The amqp and http ports are overridden to 10002 and 20002 accordingly. The node <fo:inline font-family="monospace">weather3</fo:inline>
+      priority is set to <fo:inline font-family="monospace">1</fo:inline>. The rest of the context variables have
+      the same values as for node <fo:inline font-family="monospace">weather1</fo:inline> which is used as a helper node for creation of
+      <fo:inline font-family="monospace">weather3</fo:inline>.
+    </fo:block></fo:block></fo:flow></fo:page-sequence></fo:root>
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.html.in b/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.html.in
new file mode 100644
index 0000000..6f77954
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.html.in
@@ -0,0 +1,10 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Apache Qpid Broker-J</th></tr><tr><td width="20%" align="left">&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Introduction.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="d0e2" />Apache Qpid Broker-J</h1></div></div> [...]
+       ACL Rules
+    </a></span></dt><dt><span class="section"><a href="Java-Broker-Security-AccessControlProviders.html#Java-Broker-Security-AccessControlProviders-Syntax">8.3.3. 
+       Syntax
+    </a></span></dt><dt><span class="section"><a href="Java-Broker-Security-AccessControlProviders.html#Java-Broker-Security-AccessControlProviders-WorkedExamples">8.3.4. 
+      Worked Examples
+    </a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html">8.4. Configuration Encryption</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html#Java-Broker-Security-Configuration-Encryption-Configuration">8.4.1. Configuration</a></span></dt><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html#Java-Broker-Security-Configuration-Encryption-Alterna [...]
+        <span class="emphasis"><em>closeWhenNoRoute</em></span>
+    </a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Runtime-Flow-To-Disk.html">9.6. Flow to Disk</a></span></dt><dt><span class="section"><a href="Java-Broker-Runtime-Consumers.html">9.7. Consumers</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Runtime-Consumers.html#Java-Broker-Runtime-Consumers-Prioirty">9.7.1. Priority</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Runtime-Background-Recovery.html">9.8. Backgroun [...]
+          directly</a></dt><dt>D.1. <a href="apds03.html#d0e9933">Enabling statistics for a single queue using the REST API and cURL</a></dt><dt>D.2. <a href="apds03.html#d0e9945">Disabling statistics for a single queue using the REST API and cURL</a></dt><dt>D.3. <a href="apds03.html#d0e9952">Enabling statistics for all queues using the REST API and cURL</a></dt><dt>H.1. <a href="Java-Broker-Appendix-BDB-HA-initial-configuration.html#d0e10449">BDB HA 'Initial configuration'</a></dt></dl [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.pdf b/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.pdf
new file mode 100644
index 0000000..bb3a92f
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.pdf differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration-creation.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration-creation.html.in
new file mode 100644
index 0000000..3c40f2b
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration-creation.html.in
@@ -0,0 +1,41 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">H.2.&#160;Creation of BDB HA group using an initial configuration.</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-BDB-HA-initial-configuration.html">Prev</a>&#160;</td><th width="60%" align="center">Appendix&#160;H.&#160;BDB HA initial configuration</th><td width="20%" align="right">&#160;</td></tr></table><hr /></div><div c [...]
+      consisting of tree nodes <code class="literal">weather1</code>, <code class="literal">weather2</code>, and <code class="literal">weather3</code>
+      using the initial configuration above. We start node <code class="literal">weather1</code> on host/port
+      <code class="literal">chaac:5000</code>, node <code class="literal">weather2</code> on host/port <code class="literal">indra:5000</code>
+      and node <code class="literal">weather3</code> on host/port <code class="literal">thor:5000</code>.</p><p>The node <code class="literal">weather1</code> can be created with the following command</p><pre class="screen">
+$ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather1 -prop  ha.node_address=chaac:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]" -prop ha.priority=3 \
+-prop qpid.amqp_port=10000 -prop qpid.http_port=20000
+    </pre><p>Please note, the broker is started with initial configuration at file <code class="literal">./initial-config.json</code>.
+      The context variable for node name <code class="literal">ha.node_name</code> is set to <code class="literal">weather1</code>.
+      The node address context variable <code class="literal">ha.node_address</code> is set to <code class="literal">chaac:5000</code>.
+      As it is a first node, the helper address is set to the same address as a node address (<code class="literal">ha.helper_address=chaac:5000</code>)
+      and the helper node name is to itself (<code class="literal">ha.helper_node_name=weather1</code>). The group name is set to <code class="literal">weather</code>
+      with <code class="literal">ha.group_name=weather</code>. The group nodes are listed in <code class="literal">ha.permitted_nodes</code>.
+      The amqp and http ports are overridden to 10000 and 20000 accordingly. The node priority is set to <code class="literal">3</code>.
+    </p><p>The node <code class="literal">weather2</code> can be created on host<code class="literal">indra</code> with the following command:</p><pre class="screen">
+ $ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather2 -prop  ha.node_address=indra:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]"  -prop ha.priority=2 \
+-prop qpid.amqp_port=10001 -prop qpid.http_port=20001
+    </pre><p>
+      The context variable for node name <code class="literal">ha.node_name</code> is set to <code class="literal">weather2</code>.
+      The node address context variable <code class="literal">ha.node_address</code> is set <code class="literal">indra:5000</code>.
+      The amqp and http ports are overridden to 10001 and 20001 accordingly. The node <code class="literal">weather2</code>
+      priority is set to <code class="literal">2</code>. The rest of the context variables have
+      the same values as for node <code class="literal">weather1</code>. The latter is used as a helper node for creation of
+      <code class="literal">weather2</code>.
+    </p><p>The node <code class="literal">weather3</code> can be created on host<code class="literal">thor</code> with the following command:</p><pre class="screen">
+$ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather3 -prop  ha.node_address=thor:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]"  -prop ha.priority=1 \
+-prop qpid.amqp_port=10002 -prop qpid.http_port=20002
+    </pre><p>
+      The context variable for node name <code class="literal">ha.node_name</code> is set to <code class="literal">weather3</code>.
+      The node address context variable <code class="literal">ha.node_address</code> is set <code class="literal">thor:5000</code>.
+      The amqp and http ports are overridden to 10002 and 20002 accordingly. The node <code class="literal">weather3</code>
+      priority is set to <code class="literal">1</code>. The rest of the context variables have
+      the same values as for node <code class="literal">weather1</code> which is used as a helper node for creation of
+      <code class="literal">weather3</code>.
+    </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-BDB-HA-initial-configuration.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Appendix-BDB-HA-initial-configuration.html">Up</a></td><td width="40%" align="right">&#160;</td></tr><tr><td width="40%" align="left" valign="top">Appendix&#160;H.&#160;BDB HA initial configuration&#160;< [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration.html.in
new file mode 100644
index 0000000..86d2a53
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration.html.in
@@ -0,0 +1,112 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix&#160;H.&#160;BDB HA initial configuration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Queue-Declare-Arguments.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-BDB-HA-initial-configuration-creation.html">Next</a></td> [...]
+    provides an introduction into Broker-J initial configuration and how broker configuration can be created from
+    initial configuration on first broker start-up. This appendix illustrates how to create a BDB HA group from an
+    initial configuration file. For creation of BDB HA group using Web Management Console please refer <a class="xref" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2.&#160;Web Management Console">Section&#160;6.2, &#8220;Web Management Console&#8221;</a>.
+  </p><p>The BDB HA group usually consists of two or more nodes hosting a distributed virtual host.</p><p>When BDB HA node is created the following attributes has to be provided
+    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>groupName</em></span>; a name of BDB HA group</p></li><li class="listitem"><p><span class="emphasis"><em>nodeName</em></span>; a name of BDB HA node</p></li><li class="listitem"><p><span class="emphasis"><em>address</em></span>; a node address as colon-separated pair of host name and port</p></li><li class="listitem"><p><span class="emphasis"><em>h [...]
+  </p><p>
+    A node priority can be optionally specified for the node to influence master election among nodes with the most current set of data.
+    An attribute <span class="emphasis"><em>priority</em></span> is used to specify a priority as an integer number.
+  </p><p>Apart from a group name and permitted nodes, the rest of node attribute values varies from node to node.</p><p>In order to use the same initial configuration for creation of BDB HA nodes, the context variable can be used for varying attribute values.</p><p>In the example of initial configuration illustrated in this apendix, the following context variables are defined.
+    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>${ha.group_name}</em></span>; used to pass an HA group name</p></li><li class="listitem"><p><span class="emphasis"><em>${ha.node_name}</em></span>; used to pass a node name</p></li><li class="listitem"><p><span class="emphasis"><em>${ha.node_address}</em></span>; used to pass a node address</p></li><li class="listitem"><p><span class="emphasis"><em [...]
+  </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Appendix-BDB-HA-initial-configuration-example" />H.1.&#160;Example of BDB HA 'Initial Configuration'</h2></div></div></div><p> An example of 'Initial Configuration' for BDB HA:</p><div class="example"><a id="d0e10449" /><p class="title"><strong>Example&#160;H.1.&#160;BDB HA 'Initial configuration'</strong></p><div class="example-contents"><pre class="programlisting">
+{
+  "name": "${broker.name}",
+  "modelVersion" : "8.0",
+  "authenticationproviders" : [ {
+    "name" : "plain",
+    "type" : "Plain",
+    "users" : [ {
+    "name" : "guest",
+    "type" : "managed",
+    "password" : "guest"
+  } ]
+  } ],
+  "brokerloggers" : [ {
+    "name" : "logfile",
+    "type" : "File",
+    "fileName" : "${qpid.work_dir}${file.separator}log${file.separator}qpid.log",
+    "brokerloginclusionrules" : [ {
+      "name" : "Root",
+      "type" : "NameAndLevel",
+      "level" : "WARN",
+      "loggerName" : "ROOT"
+    }, {
+      "name" : "Qpid",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "org.apache.qpid.*"
+    }, {
+      "name" : "Operational",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.message.*"
+    }, {
+      "name" : "Statistics",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.statistics.*"
+    } ]
+  }, {
+    "name" : "memory",
+    "type" : "Memory",
+    "brokerloginclusionrules" : [ {
+      "name" : "Root",
+      "type" : "NameAndLevel",
+      "level" : "WARN",
+      "loggerName" : "ROOT"
+    }, {
+      "name" : "Qpid",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "org.apache.qpid.*"
+    }, {
+      "name" : "Operational",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.message.*"
+    }, {
+      "name" : "Statistics",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.statistics.*"
+    } ]
+  } ],
+  "ports" : [  {
+    "name" : "AMQP",
+    "port" : "${qpid.amqp_port}",
+    "authenticationProvider" : "plain",
+    "virtualhostaliases" : [ {
+      "name" : "nameAlias",
+      "type" : "nameAlias"
+    }, {
+      "name" : "defaultAlias",
+      "type" : "defaultAlias"
+    }, {
+      "name" : "hostnameAlias",
+      "type" : "hostnameAlias"
+    } ]
+  }, {
+  "name" : "HTTP",
+    "port" : "${qpid.http_port}",
+    "authenticationProvider" : "plain",
+    "protocols" : [ "HTTP" ]
+  }],
+  "virtualhostnodes" : [ {
+    "name" : "${ha.node_name}",
+    "type" : "BDB_HA",
+    "address" : "${ha.node_address}",
+    "groupName" : "${ha.group_name}",
+    "helperAddress" : "${ha.helper_address}",
+    "helperNodeName" : "${ha.helper_node_name}",
+    "permittedNodes" : "${ha.permitted_nodes}",
+    "priority" : "${ha.priority}",
+    "defaultVirtualHostNode" : "true",
+    "virtualHostInitialConfiguration" : "${qpid.initial_config_virtualhost_config}"
+  } ],
+  "plugins" : [ {
+    "type" : "MANAGEMENT-HTTP",
+    "name" : "httpManagement"
+  } ]
+}
+      </pre></div></div><br class="example-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Queue-Declare-Arguments.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-BDB-HA-initial-configuration-creation.html">Next</a></td></tr><tr><td width="40%" align="left" valign=" [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Environment-Variables.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Environment-Variables.html.in
new file mode 100644
index 0000000..0805fd4
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Environment-Variables.html.in
@@ -0,0 +1,54 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix&#160;A.&#160;Environment Variables</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery-Virtualhost.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-System-Properties.html">Next</a></td></tr></table><hr /></div><di [...]
+    contained within the <code class="literal">/bin</code> directory within the Broker distribution.</p><p>To take effect, these variables must be set within the shell (and exported - if using Unix)
+    before invoking the script.</p><div class="table"><a id="d0e7474" /><p class="title"><strong>Table&#160;A.1.&#160;Environment variables</strong></p><div class="table-contents"><table summary="Environment variables" width="100%" border="1"><colgroup><col class="envvar" /><col class="default" /><col class="purpose" /></colgroup><thead><tr><th>Environment variable</th><th>Default</th><th>Purpose</th></tr></thead><tbody><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Qpid-Home" [...]
+            <p>None</p>
+          </td><td>
+            <p>The variable used to tell the Broker its installation directory. It must be an
+              absolute path. This is used to determine the location of Qpid's dependency JARs and
+              some configuration files.</p>
+            <p>Typically the value of this variable will look similar to
+                <code class="literal">c:\qpid\qpid-broker\\8.0.5</code> (Windows) or
+                <code class="literal">/usr/local/qpid/qpid-broker/8.0.5</code> (Unix). The
+              installation prefix will differ from installation to installation. </p>
+            <p>If not set, a value for <code class="literal">QPID_HOME</code> is derived from the location
+              of the script itself.</p>
+          </td></tr><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Qpid-Work" />QPID_WORK</td><td>
+            <p>User's home directory</p>
+          </td><td>
+            <p>Used as the default root directory for any data written by the Broker. This is the
+              default location for any message data written to persistent stores and the Broker's
+              log file.</p>
+            <p>For example, <code class="literal">QPID_WORK=/var/qpidwork</code>.</p>
+          </td></tr><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Qpid-Opts" />QPID_OPTS</td><td>
+            <p>None</p>
+          </td><td>
+            <p>This is the preferred mechanism for passing <a class="link" href="Java-Broker-Appendix-System-Properties.html" title="Appendix&#160;B.&#160;System Properties">Java system properties</a> to the
+              Broker. The value must be a list of system properties each separate by a space.
+                  <code class="literal">-D<em class="replaceable"><code>name1</code></em>=<em class="replaceable"><code>value1</code></em>
+                  -D<em class="replaceable"><code>name2</code></em>=<em class="replaceable"><code>value2</code></em></code>.
+            </p>
+          </td></tr><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Qpid-Java-Gc" />QPID_JAVA_GC</td><td>
+            <code class="literal">-XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC</code>
+          </td><td>
+            <p>This is the preferred mechanism for customising garbage collection behaviour. The
+              value should contain valid garbage collection options(s) for the target JVM.</p>
+            <p>Refer to the JVM's documentation for details.</p>
+          </td></tr><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Qpid-Java-Mem" />QPID_JAVA_MEM</td><td>
+            <code class="literal">-Xmx512m -XX:MaxDirectMemorySize=1536m</code>
+          </td><td>
+            <p>This is the preferred mechanism for customising the size of the JVM's heap and
+              direct memory.
+              The value should contain valid memory option(s) for the target JVM. Oracle JVMs
+              understand <code class="literal">-Xmx</code> to specify a maximum heap size,
+               <code class="literal">-Xms</code> an initial size, and
+               <code class="literal">-XX:MaxDirectMemorySize</code> for the maximum amount of direct
+               memory.</p>
+            <p>For example, <code class="code">QPID_JAVA_MEM="-Xmx6g -XX:MaxDirectMemorySize=12g"</code> would
+              set a maximum heap size of 6GB and 12GB of direct memory.</p>
+            <p>Refer to the JVM's documentation for details.</p>
+          </td></tr><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Java-Opts" />JAVA_OPTS</td><td>None</td><td>
+            <p>This is the preferred mechanism for passing any other JVM options. This variable is
+              commonly used to pass options for diagnostic purposes, for instance to turn on verbose
+              GC. <code class="literal">-verbose:gc</code>.</p>
+            <p>Refer to the JVM's documentation for details.</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery-Virtualhost.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-System-Properties.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Operation-Logging.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Operation-Logging.html.in
new file mode 100644
index 0000000..c7ec705
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Operation-Logging.html.in
@@ -0,0 +1,417 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix&#160;C.&#160;Operational Logging</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-System-Properties.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-Statistics-Reporting.html">Next</a></td></tr></table><hr /></div><div cl [...]
+    the lives of objects within the Broker. These concise messages are designed to allow the user to
+    understand the actions of the Broker in retrospect. This is valuable for problem diagnosis and
+    provides a useful audit trail.</p><p>Each log message includes details of the entity causing the action (e.g. a management user
+    or messaging client connection), the entity receiving the action (e.g. a queue or connection)
+    and a description of operation itself.</p><p>The log messages have the following format:</p><pre class="screen">
+    [<code class="literal">Actor</code>] {[<code class="literal">Subject</code>]} [<code class="literal">Message Id</code>] [<code class="literal">Message Text</code>]
+  </pre><p>Where:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">Actor</code> is the entity within the Broker that is
+          <span class="emphasis"><em>performing</em></span> the action. There are actors corresponding to the Broker
+        itself, Management, Connection, and Channels. Their format is described in the <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Actor-Format" title="Table&#160;C.1.&#160;Actors Entities">table</a> below.</p></li><li class="listitem"><p><code class="literal">Subject</code> (optional) is the entity within the Broker that is
+          <span class="emphasis"><em>receiving</em></span> the action. There are subjects corresponding to the
+        Connections, Channels, Queues, Exchanges, Subscriptions, and Message Stores. Their format is
+        described in the <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Subject-Format" title="Table&#160;C.2.&#160;Subject Entities">table</a> below.</p><p>Some actions are reflexive, in these cases the Actor and Subject will be equal.</p></li><li class="listitem"><p><code class="literal">Message Id</code> is an identifier for the type of message. It has the form
+        three alphas and four digits separated by a hyphen <code class="literal">AAA-9999</code>.</p></li><li class="listitem"><p><code class="literal">Message Text</code> is a textual description</p></li></ul></div><p>To illustrate, let's look at two examples.</p><p><code class="literal"><a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-CON-1001">CON-1001</a></code> is used when a messages client makes an AMQP connection. The
+    connection actor (<code class="literal">con</code>) provides us with details of the peer's connection: the
+    user id used by the client (myapp1), their IP, ephemeral port number and the name of the virtual
+    host. The message text itself gives us further details about the connection: the client id, the
+    protocol version in used, and details of the client's qpid library.</p><pre class="screen">[con:8(myapp1@/127.0.0.1:52851/default)] CON-1001 : Open : Destination : AMQP(127.0.0.1:5672) : Protocol Version : 0-10 : Client ID : myapp1 : Client Version : 8.0.5 : Client Product : qpid</pre><p><code class="literal"><a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-QUE-1001">QUE-1001</a></code> is used when a queue is created. T [...]
+      <code class="literal">con</code> tells us details of the connection performing the queue creation: the
+    user id used by the client (myapp1), the IP, ephemeral port number and the name of the virtual
+    host. The queue subject tells use the queue's name (myqueue) and the virtualhost. The message
+    itself tells us more information about the queue that is being created. </p><pre class="screen">[con:8(myapp1@/127.0.0.1:52851/default)/ch:0] [vh(/default)/qu(myqueue)] QUE-1001 : Create : Owner: myapp1 Transient</pre><p>The first two tables that follow describe the actor and subject entities, then the later
+    provide a complete catalogue of all supported messages.</p><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Actor-Format" /><p class="title"><strong>Table&#160;C.1.&#160;Actors Entities</strong></p><div class="table-contents"><table summary="Actors Entities" width="100%" border="1"><colgroup><col class="actortype" /><col class="purpose" /></colgroup><thead><tr><th>Actor Type</th><th>Format and Purpose</th></tr></thead><tbody><tr><td rowspan="2">Broker</td><td>[Broker] [...]
+            <p>Used during startup and shutdown</p>
+          </td></tr><tr><td rowspan="2">Management</td><td>
+              [mng:<em class="replaceable"><code>userid</code></em>(<em class="replaceable"><code>clientip</code></em>:<em class="replaceable"><code>ephemeralport</code></em>)] </td></tr><tr><td>
+            <p>Used for operations performed by the Web Management interfaces.</p>
+          </td></tr><tr><td rowspan="2">Connection</td><td>
+              [con:<em class="replaceable"><code>connectionnumber</code></em>(<em class="replaceable"><code>userid</code></em>@/<em class="replaceable"><code>clientip</code></em>:<em class="replaceable"><code>ephemeralport</code></em>/<em class="replaceable"><code>virtualhostname</code></em>)]</td></tr><tr><td>
+            <p>Used for operations performed by a client connection. Note that connections are
+              numbered by a sequence number that begins at 1.</p>
+          </td></tr><tr><td rowspan="2">Channel</td><td>
+              [con:<em class="replaceable"><code>connectionnumber</code></em>(<em class="replaceable"><code>userid</code></em>@/<em class="replaceable"><code>clientip</code></em>:<em class="replaceable"><code>ephemeralport</code></em>/<em class="replaceable"><code>virtualhostname</code></em>/ch:<em class="replaceable"><code>channelnumber</code></em>)]</td></tr><tr><td>
+            <p>Used for operations performed by a client's channel (corresponds to the JMS
+              concept of Session). Note that channels are numbered by a sequence number that is
+              scoped by the owning connection.</p>
+          </td></tr><tr><td rowspan="2">Group</td><td> [grp(/<em class="replaceable"><code>groupname</code></em>)/vhn(/<em class="replaceable"><code>virtualhostnode
+              name</code></em>)]</td></tr><tr><td>
+            <p>Used for HA. Used for operations performed by the system itself often as a result
+              of actions performed on another node..</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Subject-Format" /><p class="title"><strong>Table&#160;C.2.&#160;Subject Entities</strong></p><div class="table-contents"><table summary="Subject Entities" width="100%" border="1"><colgroup><col class="subjtype" /><col class="purpose" /></colgroup><thead><tr><th>Subject Type</th><th>Format and Purpose</th></tr></thead><tbody><tr><td rowspan="2">Connect [...]
+              [con:<em class="replaceable"><code>connectionnumber</code></em>(<em class="replaceable"><code>userid</code></em>@/<em class="replaceable"><code>clientip</code></em>:<em class="replaceable"><code>ephemeralport</code></em>/<em class="replaceable"><code>virtualhostname</code></em>)]</td></tr><tr><td>
+            <p>A connection to the Broker.</p>
+          </td></tr><tr><td rowspan="2">Channel</td><td>
+              [con:<em class="replaceable"><code>connectionnumber</code></em>(<em class="replaceable"><code>userid</code></em>@/<em class="replaceable"><code>clientip</code></em>:<em class="replaceable"><code>ephemeralport</code></em>/<em class="replaceable"><code>virtualhostname</code></em>/ch:<em class="replaceable"><code>channelnumber</code></em>)]</td></tr><tr><td>
+            <p>A client's channel within a connection.</p>
+          </td></tr><tr><td rowspan="2">Subscription</td><td>
+              [sub:<em class="replaceable"><code>subscriptionnumber</code></em>(vh(/<em class="replaceable"><code>virtualhostname</code></em>)/qu(<em class="replaceable"><code>queuename</code></em>)]</td></tr><tr><td>
+            <p>A subscription to a queue. This corresponds to the JMS concept of a
+              Consumer.</p>
+          </td></tr><tr><td rowspan="2">Queue</td><td>[vh(/<em class="replaceable"><code>virtualhostname</code></em>)/qu(<em class="replaceable"><code>queuename</code></em>)]</td></tr><tr><td>
+            <p>A queue on a virtualhost</p>
+          </td></tr><tr><td rowspan="2">Exchange</td><td>[vh(/<em class="replaceable"><code>virtualhostname</code></em>)/ex(<em class="replaceable"><code>exchangetype</code></em>/<em class="replaceable"><code>exchangename</code></em>)]</td></tr><tr><td>
+            <p>An exchange on a virtualhost</p>
+          </td></tr><tr><td rowspan="2">Binding</td><td>
+              [vh(/<em class="replaceable"><code>virtualhostname</code></em>)/ex(<em class="replaceable"><code>exchangetype</code></em>/<em class="replaceable"><code>exchangename</code></em>)/qu(<em class="replaceable"><code>queuename</code></em>)/rk(<em class="replaceable"><code>bindingkey</code></em>)]</td></tr><tr><td>
+            <p>A binding between a queue and exchange with the giving binding key.</p>
+          </td></tr><tr><td rowspan="2">Message Store</td><td>
+              [vh(/<em class="replaceable"><code>virtualhostname</code></em>)/ms(<em class="replaceable"><code>messagestorename</code></em>)]</td></tr><tr><td>
+            <p>A virtualhost/message store on the Broker.</p>
+          </td></tr><tr><td rowspan="2">HA Group</td><td> [grp(/<em class="replaceable"><code>group name</code></em>)]</td></tr><tr><td>
+            <p>A HA group</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><p>The following tables lists all the operation log messages that can be produced by the
+    Broker, and the describes the circumstances under which each may be seen.</p><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Broker" /><p class="title"><strong>Table&#160;C.3.&#160;Broker Log Messages</strong></p><div class="table-contents"><table summary="Broker Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><t [...]
+              <em class="replaceable"><code>build</code></em>
+          </td></tr><tr><td>
+            <p>Indicates that the Broker is starting up</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1002" />BRK-1002</td><td>Starting : Listening on <em class="replaceable"><code>transporttype</code></em> port
+              <em class="replaceable"><code>portnumber</code></em>
+          </td></tr><tr><td>
+            <p>Indicates that the Broker has begun listening on a port.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1003" />BRK-1003</td><td>Shutting down : <em class="replaceable"><code>transporttype</code></em> port
+              <em class="replaceable"><code>portnumber</code></em>
+          </td></tr><tr><td>
+            <p>Indicates that the Broker has stopped listening on a port.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1004" />BRK-1004</td><td>Qpid Broker Ready</td></tr><tr><td>
+            <p>Indicates that the Broker is ready for normal operations.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1005" />BRK-1005</td><td>Stopped</td></tr><tr><td>
+            <p>Indicates that the Broker is stopped.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1006" />BRK-1006</td><td>Using configuration : <em class="replaceable"><code>file</code></em>
+          </td></tr><tr><td>
+            <p>Indicates the name of the configuration store in use by the Broker.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1008" />BRK-1008</td><td><em class="replaceable"><code>delivered|received</code></em> : <em class="replaceable"><code>size</code></em>
+            kB/s peak : <em class="replaceable"><code>size</code></em> bytes total</td></tr><tr><td>
+            <p>Statistic - bytes delivered or received by the Broker.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1009" />BRK-1009</td><td><em class="replaceable"><code>delivered|received</code></em> : <em class="replaceable"><code>size</code></em>
+            msg/s peak : <em class="replaceable"><code>size</code></em> msgs total</td></tr><tr><td>
+            <p>Statistic - messages delivered or received by the Broker.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1010" />BRK-1010</td><td>Platform : JVM : <em class="replaceable"><code>vendor</code></em> version: <em class="replaceable"><code>version
+          </code></em> OS : <em class="replaceable"><code>operating system vendor</code></em> version:
+            <em class="replaceable"><code>operating system version</code></em>} arch: <em class="replaceable"><code>processor
+              architecture</code></em> cores: <em class="replaceable"><code>number of CPU cores</code></em></td></tr><tr><td>
+            <p>Key information about the environment hosting the Broker</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1011" />BRK-1011</td><td>Maximum Memory : Heap : <em class="replaceable"><code>size</code></em> bytes Direct : <em class="replaceable"><code>
+            bytes</code></em> size</td></tr><tr><td>
+            <p>Configured memory paramters for the Broker.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1012" />BRK-1012</td><td>Management Mode : User Details : <em class="replaceable"><code>management node user id</code></em> /
+            <em class="replaceable"><code>management mode password</code></em></td></tr><tr><td>
+            <p>Used when Broker is started in management mode to indicate the
+             management credentials that may be used connect to the Broker.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1016" />BRK-1016</td><td>Fatal error : <em class="replaceable"><code>root cause</code></em> : See log file for more information</td></tr><tr><td>
+            <p>Indicates that broker was shut down due to fatal error.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1017" />BRK-1017</td><td>Process : PID <em class="replaceable"><code>process identifier</code></em></td></tr><tr><td>
+            <p>Process identifier (PID) of the Broker process.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1018" />BRK-1018</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+            <p>Indicates that the named operation has been invoked</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Management" /><p class="title"><strong>Table&#160;C.4.&#160;Management Log Messages</strong></p><div class="table-contents"><table summary="Management Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbo [...]
+            <p>Indicates that a Management plugin is starting up. Supported by Web management plugin.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1002" />MNG-1002</td><td>Starting : <em class="replaceable"><code>type</code></em> : Listening on <em class="replaceable"><code>transporttype</code></em> port
+              <em class="replaceable"><code>port</code></em>
+          </td></tr><tr><td>
+            <p>Indicates that a Management plugin is listening on the given port.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1003" />MNG-1003</td><td>Shutting down : <em class="replaceable"><code>type</code></em> : port
+              <em class="replaceable"><code>port</code></em></td></tr><tr><td>
+            <p>Indicates that a Management plugin is ceasing to listen on the given port.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1004" />MNG-1004</td><td><em class="replaceable"><code>type</code></em> Management Ready</td></tr><tr><td>
+            <p>Indicates that a Management plugin is ready for work.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1005" />MNG-1005</td><td><em class="replaceable"><code>type</code></em> Management Stopped</td></tr><tr><td>
+            <p>Indicates that a Management plugin is stopped.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1007" />MNG-1007</td><td>Open : User <em class="replaceable"><code>username</code></em></td></tr><tr><td>
+            <p>Indicates the opening of a connection to Management has by the given
+              username.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1008" />MNG-1008</td><td>Close : User <em class="replaceable"><code>username</code></em></td></tr><tr><td>
+            <p>Indicates the closing of a connection to Management has by the given
+              username.</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-VirtualHost" /><p class="title"><strong>Table&#160;C.5.&#160;Virtual Host Log Messages</strong></p><div class="table-contents"><table summary="Virtual Host Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead [...]
+            <p>Indicates that a virtualhost has been created.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1002" />VHT-1002</td><td>Closed</td></tr><tr><td>
+            <p>Indicates that a virtualhost has been closed. This occurs on Broker
+              shutdown.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1005" />VHT-1005</td><td>Unexpected fatal error</td></tr><tr><td>
+            <p>Virtualhost has suffered an unexpected fatal error, check the logs for more
+              details.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1006" />VHT-1006</td><td>Filesystem is over <em class="replaceable"><code>size in %</code></em> per cent full, enforcing flow control.</td></tr><tr><td>
+            <p>Indicates that virtual host flow control is activated
+                  when the usage of file system containing Virtualhost  message store exceeded predefined limit.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1007" />VHT-1007</td><td>Filesystem is no longer over <em class="replaceable"><code>size in %</code></em> per cent full.</td></tr><tr><td>
+            <p>Indicates that virtual host flow control is deactivated
+                  when the usage of file system containing Virtualhost message falls under predefined limit.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1008" />VHT-1008</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+            <p>Indicates that the named operation has been invoked</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Queue" /><p class="title"><strong>Table&#160;C.6.&#160;Queue Log Messages</strong></p><div class="table-contents"><table summary="Queue Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr><td rows [...]
+            <em class="replaceable"><code>AutoDelete</code></em> [<em class="replaceable"><code>Durable</code></em>]
+              <em class="replaceable"><code>Transient</code></em> Priority:
+              <em class="replaceable"><code>numberofpriorities</code></em></td></tr><tr><td>
+            <p>Indicates that a queue has been created.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1002" />QUE-1002</td><td>Deleted</td></tr><tr><td>
+            <p>Indicates that a queue has been deleted.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1003" />QUE-1003</td><td>
+            Overfull : Size :  <em class="replaceable"><code>size in bytes</code></em>, Capacity : <em class="replaceable"><code>resumesize in bytes</code></em>,
+            Messages : <em class="replaceable"><code>size in messages</code></em>, Message Capacity : <em class="replaceable"><code>resumesize in messages</code></em>
+          </td></tr><tr><td>
+            <p>Indicates that a queue has exceeded its permitted capacity when
+              <span class="emphasis"><em>Producer Flow Control</em></span> overflow policy is used.
+              See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5.&#160;Controlling Queue Size">Section&#160;4.7.5, &#8220;Controlling Queue Size&#8221;</a> for details.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1004" />QUE-1004</td><td>
+            Underfull : Size : <em class="replaceable"><code>size in bytes</code></em>, Capacity : <em class="replaceable"><code>resumesize in bytes</code></em>,
+            Messages : <em class="replaceable"><code>size in messages</code></em>, Message Capacity : <em class="replaceable"><code>resumesize in messages</code></em>
+          </td></tr><tr><td>
+            <p>
+              Indicates that a queue has fallen to its resume capacity  when
+              <span class="emphasis"><em>Producer Flow Control</em></span> overflow policy is used.
+              See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5.&#160;Controlling Queue Size">Section&#160;4.7.5, &#8220;Controlling Queue Size&#8221;</a> for details.
+            </p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1005" />QUE-1005</td><td>
+            Dropped : <em class="replaceable"><code>number</code></em> messages, Depth : <em class="replaceable"><code>size</code></em> bytes,
+            <em class="replaceable"><code>size</code></em> messages, Capacity : <em class="replaceable"><code>limit</code></em> bytes,
+            <em class="replaceable"><code>limit</code></em> messages
+          </td></tr><tr><td>
+            <p>
+              Indicates that a given number of messages is deleted when <span class="emphasis"><em>Ring</em></span> overflow policy is
+              used and any of queue capacity limits is breached .
+              See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5.&#160;Controlling Queue Size">Section&#160;4.7.5, &#8220;Controlling Queue Size&#8221;</a> for details.
+            </p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1016" />QUE-1016</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+            <p>Indicates that the named operation has been invoked</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Exchange" /><p class="title"><strong>Table&#160;C.7.&#160;Exchange Log Messages</strong></p><div class="table-contents"><table summary="Exchange Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr [...]
+            Name: <em class="replaceable"><code>exchange name</code></em></td></tr><tr><td>
+            <p>Indicates that an exchange has been created.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1002" />EXH-1002</td><td>Deleted</td></tr><tr><td>
+            <p>Indicates that an exchange has been deleted.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1003" />EXH-1003</td><td>Discarded Message : Name: <em class="replaceable"><code>exchange name</code></em> Routing Key:
+              <em class="replaceable"><code>routing key</code></em></td></tr><tr><td>
+            <p>Indicates that an exchange received a message that could not be routed to at least
+              one queue. queue has exceeded its permitted capacity. See <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> for details.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1004" />EXH-1004</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+            <p>Indicates that the named operation has been invoked</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Binding" /><p class="title"><strong>Table&#160;C.8.&#160;Binding Log Messages</strong></p><div class="table-contents"><table summary="Binding Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr><t [...]
+            <p>Indicates that a binding has been made between an exchange and a queue.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BND-1002" />BND-1002</td><td>Deleted</td></tr><tr><td>
+            <p>Indicates that a binding has been deleted</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Connection" /><p class="title"><strong>Table&#160;C.9.&#160;Connection Log Messages</strong></p><div class="table-contents"><table summary="Connection Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbo [...]
+            <em class="replaceable"><code>protocol version</code></em> : Client ID : <em class="replaceable"><code>clientid</code></em> :
+            Client Version : <em class="replaceable"><code>client version</code></em> :
+            Client Product : <em class="replaceable"><code>client product</code></em></td></tr><tr><td>
+            <p>Indicates that a connection has been opened. The Broker logs one of these message
+              each time it learns more about the client as the connection is negotiated.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1002" />CON-1002</td><td>Close</td></tr><tr><td>
+            <p>Indicates that a connection has been closed. This message is logged regardless of
+              if the connection is closed normally, or if the connection is somehow lost e.g network
+              error. </p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1003" />CON-1003</td><td>Closed due to inactivity</td></tr><tr><td>
+            <p>Used when heart beating is in-use. Indicates that the connection has not received
+              a heartbeat for too long and is therefore closed as being inactive. </p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1004" />CON-1004</td><td>Connection dropped</td></tr><tr><td>
+            <p>Indicates that a connection has been unexpectedly closed by the peer. This usually
+            occurs if a machine hosting an application fails or the application's process is
+            abruptly terminated.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1005" />CON-1005</td><td>Client version <em class="replaceable"><code>version</code></em> logged by validation</td></tr><tr><td>
+            <p>Indicates that a connection has been received from client with a version number
+              that is configured to be logged.  This feature may help teams manage software currency.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1006" />CON-1006</td><td>Client version <em class="replaceable"><code>version</code></em> rejected by validation</td></tr><tr><td>
+            <p>Indicates that a connection attempt has been received from client with a version number
+              that is configured to be rejected.  This feature may help manage software currency.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1007" />CON-1007</td><td>Connection close initiated by operator</td></tr><tr><td>
+            <p>Indicates that a connection has been closed by the actions of an
+            Operator using manangement.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1009" />CON-1009</td><td>Uncommitted transaction(s) contains <em class="replaceable"><code>size</code></em> bytes of incoming message data
+            exceeding <em class="replaceable"><code>size</code></em> bytes limit. Messages will be flowed to disk.</td></tr><tr><td>
+            <p>Warns that the transactions associated with this connection contain so much uncommitted data that
+              a threshold has been breached.  The connection responds by flowing the messages already associated with the
+              transactions and any new messages to disk.  The connection reverts to normal behaviour once the
+              quantity of uncommitted data falls beneath the threshold.  Normally this happens when the transactions
+              commit or rollback.
+            </p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1010" />CON-1010</td><td>Open Transaction : <em class="replaceable"><code>time</code></em> ms</td></tr><tr><td>
+            <p>Indicates that a messaging transaction has been open for longer than that
+              permitted. See <a class="xref" href="Java-Broker-Runtime-Transaction-Timeout.html" title="9.3.&#160;Transaction Timeout">Section&#160;9.3, &#8220;Transaction Timeout&#8221;</a> for
+              more details.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1011" />CON-1011</td><td>Idle Transaction : <em class="replaceable"><code>time</code></em> ms</td></tr><tr><td>
+            <p>Indicates that a messaging transaction has been idle for longer than that
+              permitted. See <a class="xref" href="Java-Broker-Runtime-Transaction-Timeout.html" title="9.3.&#160;Transaction Timeout">Section&#160;9.3, &#8220;Transaction Timeout&#8221;</a> for
+              more details.</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Channel" /><p class="title"><strong>Table&#160;C.10.&#160;Channel Log Messages</strong></p><div class="table-contents"><table summary="Channel Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr>< [...]
+            <p>Indicates that a channel (corresponds to the JMS concept of Session) has been
+              created.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1002" />CHN-1002</td><td>Flow Started</td></tr><tr><td>
+            <p>Indicates message flow to a session has begun.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1003" />CHN-1003</td><td>Close</td></tr><tr><td>
+            <p>Indicates that a channel has been closed.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1004" />CHN-1004</td><td>Prefetch Size (bytes) <em class="replaceable"><code>size</code></em> : Count <em class="replaceable"><code>number
+              of messages</code></em></td></tr><tr><td>
+            <p>Indicates the prefetch size in use by a channel.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1005" />CHN-1005</td><td>Flow Control Enforced (Queue <em class="replaceable"><code>queue name</code></em>)</td></tr><tr><td>
+            <p>Indicates that producer flow control has been imposed on a channel owning to
+              excessive queue depth in the indicated queue. Produces using the channel will be
+              requested to pause the sending of messages.
+              See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5.&#160;Controlling Queue Size">Section&#160;4.7.5, &#8220;Controlling Queue Size&#8221;</a> for more details.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1006" />CHN-1006</td><td>Flow Control Removed</td></tr><tr><td>
+            <p>Indicates that producer flow control has been removed from a channel.
+              See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5.&#160;Controlling Queue Size">Section&#160;4.7.5, &#8220;Controlling Queue Size&#8221;</a> for more details.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1009" />CHN-1009</td><td>Discarded message : <em class="replaceable"><code>message number</code></em> as no alternate
+            exchange configured for queue : <em class="replaceable"><code>queue name</code></em>{1} routing key :
+              <em class="replaceable"><code>routing key</code></em></td></tr><tr><td>
+            <p>Indicates that a channel has discarded a message as the maximum delivery count has
+              been exceeded but the queue defines no alternate exchange. See <a class="xref" href="Java-Broker-Runtime-Handling-Undeliverable-Messages.html#Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count" title="9.4.2.&#160;Maximum Delivery Count">Section&#160;9.4.2, &#8220;Maximum Delivery Count&#8221;</a> for more details. Note that <em class="replaceable"><code>message number</code></em> is an
+              internal message reference.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1010" />CHN-1010</td><td>Discarded message : <em class="replaceable"><code>message number</code></em> as no binding on
+            alternate exchange : <em class="replaceable"><code>exchange name</code></em></td></tr><tr><td>
+            <p>Indicates that a channel has discarded a message as the maximum delivery count has
+              been exceeded but the queue's alternate exchange has no binding to a queue. See <a class="xref" href="Java-Broker-Runtime-Handling-Undeliverable-Messages.html#Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count" title="9.4.2.&#160;Maximum Delivery Count">Section&#160;9.4.2, &#8220;Maximum Delivery Count&#8221;</a> for more details. Note that <em class="replaceable"><code>message number</code></em> is an
+              internal message reference.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1011" />CHN-1011</td><td>Message : <em class="replaceable"><code>message number</code></em> moved to dead letter queue :
+              <em class="replaceable"><code>queue name</code></em></td></tr><tr><td>
+            <p>Indicates that a channel has moved a message to the named dead letter queue
+            </p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1012" />CHN-1012</td><td>Flow Control Ignored. Channel will be closed.</td></tr><tr><td>
+            <p>Indicates that a channel violating the imposed flow control has been closed
+            </p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1014" />CHN-1014</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+            <p>Indicates that the named operation has been invoked</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Subscription" /><p class="title"><strong>Table&#160;C.11.&#160;Subscription Log Messages</strong></p><div class="table-contents"><table summary="Subscription Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></the [...]
+              <em class="replaceable"><code>arguments</code></em></td></tr><tr><td>
+            <p>Indicates that a subscription (corresponds to JMS concept of a MessageConsumer)
+              has been created.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1002" />SUB-1002</td><td>Close</td></tr><tr><td>
+            <p>Indicates that a subscription has been closed.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1003" />SUB-1003</td><td>SUB-1003 : Suspended for <em class="replaceable"><code>time</code></em> ms</td></tr><tr><td>
+            <p>Indicates that a subscription has been in a suspened state for an unusual length
+              of time.  This may be indicative of an consuming application that has stopped taking
+              messages from the consumer (i.e. a JMS application is not calling receive() or its
+              asynchronous message listener onMessage() is blocked in application code).  It may also
+              indicate a generally overloaded system.
+              </p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1004" />SUB-1004</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+            <p>Indicates that the named operation has been invoked</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-MessageStore" /><p class="title"><strong>Table&#160;C.12.&#160;Message Store Log Messages</strong></p><div class="table-contents"><table summary="Message Store Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></t [...]
+            <p>Indicates that a message store has been created. The message store is responsible
+              for the storage of the messages themselves, including the message body and any
+              headers.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1002" />MST-1002</td><td>Store location : <em class="replaceable"><code>path</code></em></td></tr><tr><td>
+            <p>Indicates that the message store is using <em class="replaceable"><code>path</code></em> for the
+              location of the message store.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1003" />MST-1003</td><td>Closed</td></tr><tr><td>
+            <p>Indicates that the message store has been closed.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1004" />MST-1004</td><td>Recovery Start</td></tr><tr><td>
+            <p>Indicates that message recovery has begun.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1005" />MST-1005</td><td>Recovered <em class="replaceable"><code>number of messages</code></em> messages.</td></tr><tr><td>
+            <p>Indicates that recovery recovered the given number of messages from the
+              store.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1006" />MST-1006</td><td>Recovered Complete</td></tr><tr><td>
+            <p>Indicates that the message recovery is concluded.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1007" />MST-1007</td><td>Store Passivated</td></tr><tr><td>
+            <p>The store is entering a passive state where is it unavailable for normal
+              operations. Currently this message is used by HA when the node is in replica
+              state.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1008" />MST-1008</td><td>Store overfull, flow control will be enforced</td></tr><tr><td>
+            <p>The store has breached is maximum configured size.
+              See <a class="xref" href="Java-Broker-Runtime-Disk-Space-Management.html#Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control" title="9.2.1.&#160;Disk quota-based flow control">Section&#160;9.2.1, &#8220;Disk quota-based flow control&#8221;</a> for details.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1009" />MST-1009</td><td>Store overfull condition cleared</td></tr><tr><td>
+            <p>The store size has fallen beneath its resume capacity and therefore flow control
+              has been rescinded. See <a class="xref" href="Java-Broker-Runtime-Disk-Space-Management.html#Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control" title="9.2.1.&#160;Disk quota-based flow control">Section&#160;9.2.1, &#8220;Disk quota-based flow control&#8221;</a>
+              for details. </p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-TransactionStore" /><p class="title"><strong>Table&#160;C.13.&#160;Transaction Store Log Messages</strong></p><div class="table-contents"><table summary="Transaction Store Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose< [...]
+            <p>Indicates that a transaction store has been created. The transaction store is
+              responsible for the storage of messages instances, that is, the presence of a message
+              on a queue.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1002" />TXN-1002</td><td>Store location : <em class="replaceable"><code>path</code></em></td></tr><tr><td>
+            <p>Indicates that the transaction store is using <em class="replaceable"><code>path</code></em> for
+              the location of the store.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1003" />TXN-1003</td><td>Closed</td></tr><tr><td>
+            <p>Indicates that the transaction store has been closed.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1004" />TXN-1004</td><td>Recovery Start</td></tr><tr><td>
+            <p>Indicates that transaction recovery has begun.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-TXN" />TXN-1005</td><td>Recovered <em class="replaceable"><code>number</code></em> messages for queue
+              <em class="replaceable"><code>name</code></em>.</td></tr><tr><td>
+            <p>Indicates that recovery recovered the given number of message instances for the
+              given queue.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1006" />TXN-1006</td><td>Recovered Complete</td></tr><tr><td>
+            <p>Indicates that the message recovery is concluded.</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-ConfigurationStore" /><p class="title"><strong>Table&#160;C.14.&#160;Configuration Store Log Messages</strong></p><div class="table-contents"><table summary="Configuration Store Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Pu [...]
+            <p>Indicates that a configuration store has been created. The configuration store is
+              responsible for the storage of the definition of objects such as queues, exchanges,
+              and bindings.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1002" />CFG-1002</td><td>Store location : <em class="replaceable"><code>path</code></em></td></tr><tr><td>
+            <p>Indicates that the configuration store is using <em class="replaceable"><code>path</code></em>
+              for the location of the store.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1003" />CFG-1003</td><td>Closed</td></tr><tr><td>
+            <p>Indicates that the configuration store has been closed.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1004" />CFG-1004</td><td>Recovery Start</td></tr><tr><td>
+            <p>Indicates that configuration recovery has begun.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1005" />CFG-1005</td><td>Recovered Complete</td></tr><tr><td>
+            <p>Indicates that the configuration recovery is concluded.</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-HA" /><p class="title"><strong>Table&#160;C.15.&#160;HA Log Messages</strong></p><div class="table-contents"><table summary="HA Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr><td rowspan="2"> [...]
+            <p>This HA node has been created.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1002" />HA-1002</td><td>Deleted</td></tr><tr><td>
+            <p>This HA node has been deleted</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1003" />HA-1003</td><td>Added : Node : '<em class="replaceable"><code>name</code></em>'
+              (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+            <p>A new node has been added to the group.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1004" />HA-1004</td><td>Removed : Node : '<em class="replaceable"><code>name</code></em>'
+              (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+            <p>The node has been removed from the group. This removal is permanent.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1005" />HA-1005</td><td>Joined : Node : '<em class="replaceable"><code>name</code></em>'
+              (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+            <p>The node has become reachable. This may be as a result of the node being
+              restarted, or a network problem may have been resolved.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1006" />HA-1006</td><td>Left : Node : '<em class="replaceable"><code>name</code></em>'
+              (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+            <p>The node is no longer reachable. This may be as a result of the node being stopped
+              or a network partition may be preventing it from being connected. The node is still a
+              member of the group.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1007" />HA-1007</td><td>HA-1007 : Master transfer requested : to '<em class="replaceable"><code>name</code></em>'
+              (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+            <p>Indicates that a master transfer operation has been requested.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1008" />HA-1008</td><td>HA-1008 : Intruder detected : Node '<em class="replaceable"><code>name</code></em>'
+              (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+            <p>Indicates that an unexpected node has joined the group. The virtualhost node will
+              go into the ERROR state in response to the condition.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1009" />HA-1009</td><td>HA-1009 : Insufficient replicas contactable</td></tr><tr><td>
+            <p>This node (which was in the master role) no longer has sufficient replica in
+              contact in order to complete transactions.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1010" />HA-1010</td><td>HA-1010 : Role change reported: Node : '<em class="replaceable"><code>name</code></em>'
+              (<em class="replaceable"><code>host:port</code></em>) : from <em class="replaceable"><code>role</code></em> to
+              <em class="replaceable"><code>role</code></em></td></tr><tr><td>
+            <p>Indicates that the node has changed role within the group.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1011" />HA-1011</td><td>HA-1011 : Minimum group size : <em class="replaceable"><code>new group size</code></em></td></tr><tr><td>
+            <p>The quorum requirements from completing elections or transactions has been
+              changed.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1012" />HA-1012</td><td>HA-1012 : Priority : <em class="replaceable"><code>priority</code></em></td></tr><tr><td>
+            <p>The priority of the object node has been changed. Zero indicates that the node
+              cannot be elected master.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1013" />HA-1013</td><td>HA-1013 : Designated primary : <em class="replaceable"><code>true|false</code></em></td></tr><tr><td>
+            <p>This node has been designated primary and can now operate solo. Applies to two
+              node groups only. See <a class="xref" href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-DesignatedPrimary" title="10.4.5.&#160;Allow to Operate Solo">Section&#160;10.4.5, &#8220;Allow to Operate Solo&#8221;</a></p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1014" />HA-1014</td><td>HA-1014 : Diverged transactions discarded</td></tr><tr><td>
+            <p>This node is in the process of rejoining the group but has discovered that some
+              of its transactions differ from those of the current master. The node will
+              automatically roll-back (i.e. discard) the diverging transactions in order to be
+              allowed to rejoin the group. This situation can only usually occur as a result of use
+              of the weak durability options. These allow the group to operate with fewer than
+              quorum nodes and therefore allow the inconsistencies to develop. </p>
+            <p>On encountering this condition, it is <span class="emphasis"><em>strongly</em></span> recommendend
+              to run an application level reconcilation to determine the data that has been
+              lost.</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Port" /><p class="title"><strong>Table&#160;C.16.&#160;Port Log Messages</strong></p><div class="table-contents"><table summary="Port Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr><td rowspa [...]
+            <p>Port has been created.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1002" />PRT-1002</td><td>Open</td></tr><tr><td>
+            <p>Port has been open</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1003" />PRT-1003</td><td>Close</td></tr><tr><td>
+            <p>Port has been closed</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1004" />PRT-1004</td><td>Connection count <em class="replaceable"><code>number</code></em> within <em class="replaceable"><code>warn limit</code></em> % of maximum <em class="replaceable"><code>limit</code></em>
+          </td></tr><tr><td>
+            <p>Warns that number of open connections approaches maximum allowed limit</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1005" />PRT-1005</td><td>Connection from <em class="replaceable"><code>peer</code></em> rejected. Maximum connection count (<em class="replaceable"><code>limit</code></em>) for this port already reached.</td></tr><tr><td>
+            <p>Connection from given host is rejected because of reaching the maximum allowed limit</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1007" />PRT-1007</td><td>Unsupported protocol header received <em class="replaceable"><code>header bytes</code></em>, replying with <em class="replaceable"><code>AMQP version</code></em></td></tr><tr><td>
+            <p>Ususualy indicates an attempt to make an non-AMQP connection on an AMQP port, for instance,
+             with a web browser.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1008" />PRT-1008</td><td>Connection from <em class="replaceable"><code>address</code></em> rejected</td></tr><tr><td>
+            <p>Incoming connection is rejected because the port's connection limits are
+              already reached.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1009" />PRT-1009</td><td>FAILED to bind <em class="replaceable"><code>name</code></em> service to <em class="replaceable"><code>port number</code></em></td></tr><tr><td>
+            <p>The given port number could not be bound because it is already in-use.</p>
+          </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1010" />PRT-1010</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+            <p>Indicates that the named operation has been invoked</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-System-Properties.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-Statistics-Reporting.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Ap [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Alerts.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Alerts.html.in
new file mode 100644
index 0000000..67b21d2
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Alerts.html.in
@@ -0,0 +1,26 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix&#160;E.&#160;Queue Alerts</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apds03.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Miscellaneous.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 cla [...]
+    these limits will be periodically written to the log if these limits are breached, until the
+    condition is rectified.</p><p>For example, if queue <code class="literal">myqueue</code> is configured with a message count alert of
+    1000, and then owing to a failure of a downstream system messages begin to accumulate on the
+    queue, the following alerts will be written periodically to the log. </p><pre class="screen">INFO [default:VirtualHostHouseKeepingTask] (queue.NotificationCheck) - MESSAGE_COUNT_ALERT On Queue myqueue - 1272: Maximum count on queue threshold (1000) breached.
+  </pre><p>Note that queue alerts are <span class="emphasis"><em>soft</em></span> in nature; breaching the limit will
+    merely cause the alerts to be generated but messages will still be accepted to the queue.</p><div class="table"><a id="Java-Broker-Appendix-Queue-Alerts-Alerting-Messages" /><p class="title"><strong>Table&#160;E.1.&#160;Queue Alerts</strong></p><div class="table-contents"><table summary="Queue Alerts" width="100%" border="1"><colgroup><col class="alertname" /><col class="purpose" /></colgroup><thead><tr><th>Alert Name</th><th>Alert Format and Purpose</th></tr></thead><tbody><tr><td r [...]
+              <em class="replaceable"><code>number of messages</code></em>: Maximum count on queue threshold
+              (<em class="replaceable"><code>limit</code></em>) breached. </td></tr><tr><td>
+            <p>The number of messages on the given queue has breached its configured
+              limit.</p>
+          </td></tr><tr><td rowspan="2">MESSAGE_SIZE_ALERT</td><td> MESSAGE_SIZE_ALERT On Queue <em class="replaceable"><code>queuename</code></em>
+              -<em class="replaceable"><code>message size</code></em> : Maximum message size threshold
+              (<em class="replaceable"><code>limit</code></em>) breached. [Message ID=<em class="replaceable"><code>message
+              id</code></em>]</td></tr><tr><td>
+            <p>The size of an individual messages has breached its configured limit.</p>
+          </td></tr><tr><td rowspan="2">QUEUE_DEPTH_ALERT</td><td> QUEUE_DEPTH_ALERT On Queue <em class="replaceable"><code>queuename</code></em> -
+              <em class="replaceable"><code>total size of all messages on queue</code></em> : Maximum queue depth
+            threshold (<em class="replaceable"><code>limit</code></em>) breached.</td></tr><tr><td>
+            <p>The total size of all messages on the queue has breached its configured
+              limit.</p>
+          </td></tr><tr><td rowspan="2">MESSAGE_AGE_ALERT</td><td>MESSAGE_AGE_ALERT On Queue <em class="replaceable"><code>queuename</code></em> - <em class="replaceable"><code>age
+              of message</code></em> : Maximum age on queue threshold
+              (<em class="replaceable"><code>limit</code></em>) breached. </td></tr><tr><td>
+            <p>The age of a message on the given queue has breached its configured limit.</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apds03.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Miscellaneous.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">D.3.&#160;Examples&#160;</td><td width="20%" align [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Declare-Arguments.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Declare-Arguments.html.in
new file mode 100644
index 0000000..2009385
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Declare-Arguments.html.in
@@ -0,0 +1,90 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix&#160;G.&#160;Queue Declaration Arguments supported by the Broker</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-BDB-HA-initial-config [...]
+        <span class="emphasis"><em>Qpid Broker-J</em></span>
+        supports a number of custom arguments which can be specified as part of <span class="emphasis"><em>queue.declare</em></span>
+        commands for AMQP 0-x protocols. This section provides an overview of the supported arguments.
+    </p><div class="table"><a id="Java-Broker-Appendix-Supported-Queue-Declare-Arguments" /><p class="title"><strong>Table&#160;G.1.&#160;Queue declare arguments</strong></p><div class="table-contents"><table summary="Queue declare arguments" border="1"><colgroup><col class="argname" /><col class="description" /></colgroup><thead><tr><th>Argument Name</th><th>Description</th></tr></thead><tbody><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Overflow-Policy" />
+                        <p>Declaration of overflow policy.
+                            See
+                            <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5.&#160;Controlling Queue Size">Section&#160;4.7.5, &#8220;Controlling Queue Size&#8221;</a>
+                            for more details.
+                        </p>
+                    </td><td class="auto-generated">&#160;</td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Policy-Type" />
+                        <p>qpid.policy_type</p>
+                    </td><td>
+                        <p>Defines queue overflow policy.</p>
+                    </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Max-Count" />
+                        <p>qpid.max_count</p>
+                    </td><td>
+                        <p>Defines <span class="emphasis"><em>maximum number of messages</em></span>.
+                        </p>
+                    </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Max-Size" />
+                        <p>qpid.max_size</p>
+                    </td><td>
+                        <p>Defines <span class="emphasis"><em>maximum number of bytes</em></span>.
+                        </p>
+                    </td></tr><tr><td>
+                        <p>The <span class="emphasis"><em>Overflow Policy</em></span> and the limits can be specified using
+                            <span class="emphasis"><em>Address</em></span>
+                            based syntax as in the example below:
+                            </p><pre class="screen">
+my-queue; {create: always, node:
+{x-declare: {arguments:
+{'qpid.max_count': 10000,
+'qpid.max_size': 102400,
+'qpid.policy_type: 'ring'}}}}
+</pre><p>
+                        </p>
+                    </td><td class="auto-generated">&#160;</td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Overflow-Policy-Producer-Flow-Control" />
+                        <p>Alternative declaration of <span class="emphasis"><em>Producer Flow Control</em></span> overflow policy.
+                            See
+                            <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5.&#160;Controlling Queue Size">Section&#160;4.7.5, &#8220;Controlling Queue Size&#8221;</a>
+                            for more details.
+                        </p>
+                    </td><td class="auto-generated">&#160;</td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Capacity" />
+                        <p>x-qpid-capacity</p>
+                    </td><td>
+                        <p>Defines <span class="emphasis"><em>maximum number of bytes</em></span>.
+                        </p>
+                    </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Flow-Resume-Capacity" />
+                        <p>x-qpid-flow-resume-capacity</p>
+                    </td><td>
+                        <p>Defines flow resume threshold in bytes</p>
+                    </td></tr><tr><td>
+                        <p>The <span class="emphasis"><em>Producer Flow Control</em></span> can be specified using
+                            <span class="emphasis"><em>Address</em></span> based syntax as in the example below:
+                            </p><pre class="screen">
+my-queue; {create: always, node:
+{x-declare: {arguments:
+{'x-qpid-capacity': 102400,
+'x-qpid-flow-resume-capacity': 8192000}}}}
+</pre><p>
+                        </p>
+                    </td><td class="auto-generated">&#160;</td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Qpid-Priorities" />
+                        <p>x-qpid-priorities</p>
+                    </td><td>
+                        <p>Specifies a priority queue with given number priorities</p>
+                    </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Sort-Key" />
+                        <p>qpid.queue_sort_key</p>
+                    </td><td>
+                        <p>Specifies sorted queue with given message property used to sort the entries</p>
+                    </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Last-Value-Key" />
+                        <p>qpid.last_value_queue_key</p>
+                    </td><td>
+                        <p>Specifies lvq queue with given message property used to conflate the entries</p>
+                    </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Ensure-Nondestructive-Consumers" />
+                        <p>qpid.ensure_nondestructive_consumers</p>
+                    </td><td>
+                        <p>Set to true if the queue should make all consumers attached to it behave
+                            non-destructively. (Default is false).</p>
+                    </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Qpid-Maximum-Delivery-Count" />
+                        <p>x-qpid-maximum-delivery-count</p>
+                    </td><td>
+                        <p>Specifies this queue's maximum delivery count.</p>
+                    </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Single-Active-Consumer" />
+                        <p>x-single-active-consumer</p>
+                    </td><td>
+                        <p>If set <code class="literal">true</code>, then of all consumers attached to a queue, only one will
+                            be designated as <span class="emphasis"><em>active</em></span>, and eligible to receive messages.  If the active
+                            consumer is detached, and other consumers are attached, one of these other consumers is selected
+                            to become the single active consumer.</p>
+                    </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-BDB-HA-initial-configuration.html">Next</a></td></tr><tr><td wid [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Statistics-Reporting.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Statistics-Reporting.html.in
new file mode 100644
index 0000000..c5bca36
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Statistics-Reporting.html.in
@@ -0,0 +1,8 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix&#160;D.&#160;Statistics Reporting</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Operation-Logging.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="apds02.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepa [...]
+    the log.  Statistics reporting can be configured for a single entity  (e.g. a queue) or for all entities of a
+    particular category (e.g. for all queues). The system can be configured dynamically at runtime without the need
+    for the system to be restarted.</p><p>This feature helps allow the behaviour of the overall system to be understood and can aid real-time problem
+    diagnosis.</p><p>It can be configured Broker-wide or separately for each virtual host.</p><p>The format of the statistics report is configurable.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="d0e9853" />D.1.&#160;Statistics Report Period</h2></div></div></div><p>This governs the period with which statistics reports will be written to the log.  The period is defined
+      in seconds.  By default the statistics report period is zero, meaning the system is disabled.   To enable the
+      statistics report set the <span class="emphasis"><em>statistics reporting period</em></span> on either the Broker or virtualhost to
+      a non-zero value.</p><p>Once the period is defined, the system will respond to the statistic report patterns defined described next.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Operation-Logging.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="apds02.html">Next</a></td></tr><tr><td w [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-System-Properties.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-System-Properties.html.in
new file mode 100644
index 0000000..146e8c4
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-System-Properties.html.in
@@ -0,0 +1,10 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix&#160;B.&#160;System Properties</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Environment-Variables.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-Operation-Logging.html">Next</a></td></tr></table><hr /></div><div cla [...]
+    various optional behaviours.</p><p>The preferred method of enabling these system properties is using the <a class="link" href="Java-Broker-Appendix-Environment-Variables.html#Java-Broker-Appendix-Environment-Variables-Qpid-Opts"><code class="literal">QPID_OPTS</code></a> environment variable described in the previous
+    section.</p><div class="table"><a id="d0e7642" /><p class="title"><strong>Table&#160;B.1.&#160;System properties</strong></p><div class="table-contents"><table summary="System properties" width="100%" border="1"><colgroup><col class="systemproperty" /><col class="default" /><col class="purpose" /></colgroup><thead><tr><th>System property</th><th>Default</th><th>Purpose</th></tr></thead><tbody><tr><td><a id="Java-Broker-Appendix-System-Properties-Broker-Heartbeat-Timeout-Factor" />qpi [...]
+            received from the peer before a connection is deemed to have been broken.</td></tr><tr><td><a id="Java-Broker-Appendix-System-Properties-Broker-Status-Updates" />qpid.broker_status_updates</td><td>true</td><td>
+            <p>If set true, the Broker will produce operational logging messages.</p>
+          </td></tr><tr><td><a id="Java-Broker-Appendix-System-Properties-Broker-Disabled-Features" />qpid.broker_disabled_features</td><td>none</td><td>
+            <p>Allows optional Broker features to be disabled. Currently understood feature
+              names are: <code class="literal">qpid.jms-selector</code></p>
+            <p>Feature names should be comma separated.</p>
+          </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Environment-Variables.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-Operation-Logging.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">A [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost-Node.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost-Node.html.in
new file mode 100644
index 0000000..cdd0227
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost-Node.html.in
@@ -0,0 +1,13 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">11.2.&#160;Virtualhost Node</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;11.&#160;Backup And Recovery</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Backup-And-Recovery-Virtualhost.html">Next</a></td></tr></table><hr [...]
+      simply copy all the files the exist beneath
+        <code class="literal">${QPID_WORK}/&lt;nodename&gt;/config</code>, assuming the virtualhost node is in
+      the standard location. This will copy all configuration that belongs to that virtualhost
+      node.</p><p>The technique for backing up a virtualhost node whilst it is running depends on its
+      type.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB" />11.2.1.&#160;BDB</h3></div></div></div><p>BDB module includes the "hot" backup utility <code class="literal">org.apache.qpid.server.store.berkeleydb.BDBBackup</code>.
+        This utility can perform the backup when the broker is running.</p><p>You can run this class from command line like in an example below:</p><div class="example"><a id="d0e7369" /><p class="title"><strong>Example&#160;11.1.&#160;Performing store backup by using <code class="classname">BDBBackup</code> class
+          directly</strong></p><div class="example-contents"><div class="cmdsynopsis"><p><code class="command">java</code>   -cp <em class="replaceable"><code>"${QPID_HOME}/lib/*"</code></em>   org.apache.qpid.server.store.berkeleydb.BDBBackup \ <br />  -fromdir <em class="replaceable"><code>${QPID_WORK}/&lt;nodename&gt;/config</code></em>   -todir <em class="replaceable"><code>path/to/backup/folder</code></em> </p></div></div></div><br class="example-break" /><p>In the example above BDB [...]
+          <code class="literal">${QPID_WORK}/&lt;nodename&gt;/config</code> and copy store logs into
+          <code class="literal">path/to/backup/folder</code>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB-HA" />11.2.2.&#160;BDB-HA</h3></div></div></div><p>See <a class="xref" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html#Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB" title="11.2.1.&#160;BDB">Section&#160;11.2.1, &#8220;BDB&#8221;</a></p><div class="note" style="margin-l [...]
+        documentation accompanying it. Any technique that takes a consistent snapshot of the
+        database is acceptable.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-Node-JSON" />11.2.5.&#160;JSON</h3></div></div></div><p>JSON stores its config in a single text file. It can be safely backed up using standard
+        command line tools.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Backup-And-Recovery.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Backup-And-Recovery-Virtualhost.html">Next</a></td></tr><tr><td width="40%" align="le [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost.html.in
new file mode 100644
index 0000000..e7b6c78
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost.html.in
@@ -0,0 +1,10 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">11.3.&#160;Virtualhost</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;11.&#160;Backup And Recovery</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-Environment-Variables.html">Next</a></td></tr> [...]
+      simply copy all the files the exist beneath
+        <code class="literal">${QPID_WORK}/&lt;name&gt;/messages</code>, assuming the virtualhost is in the
+      standard location. This will copy all messages that belongs to that virtualhost.</p><p>The technique for backing up a virtualhost whilst it is running depends on its
+      type.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-BDB" />11.3.1.&#160;BDB</h3></div></div></div><p>Use the same backup utility described above, but use the path
+          <code class="literal">${QPID_WORK}/&lt;name&gt;/messages</code> instead.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-Derby" />11.3.2.&#160;Derby</h3></div></div></div><p>Not yet supported</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-JDBC" />11.3.3.&#160;JDBC</h3></div></div></div><p>The responsibility for  [...]
+        documentation accompanying it. Any technique that takes a consistent snapshot of the
+        database is acceptable.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-Provided" />11.3.4.&#160;Provided</h3></div></div></div><p>The contents of the virtualhost will be backed up as part of virtualhost node that
+        contains it.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-BDBHA" />11.3.5.&#160;BDB-HA</h3></div></div></div><p>The contents of the virtualhost will be backed up as part of virtualhost node that
+        contains it.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Backup-And-Recovery.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-Environment-Variables.html">Next</a></td></tr><tr><td width="40%"  [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery.html.in
new file mode 100644
index 0000000..5aa3d48
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery.html.in
@@ -0,0 +1,4 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;11.&#160;Backup And Recovery</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Reset-Group-Infomational.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">Next</a></td></tr></ta [...]
+      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 width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Reset-Group-Infomational.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">10.11.&#160;Reset Group [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Authentication-Providers.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Authentication-Providers.html.in
new file mode 100644
index 0000000..4baabf4
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Authentication-Providers.html.in
@@ -0,0 +1,5 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.9.&#160;Authentication Providers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Ports.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Concepts</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Other-Services.html">Next</a></td></tr></table><hr /></div><div clas [...]
+        <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 width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Ports.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Other-Services.html">Next</a></t [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Broker.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Broker.html.in
new file mode 100644
index 0000000..012a7ac
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Broker.html.in
@@ -0,0 +1 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.2.&#160;Broker</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Concepts</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Virtualhost-Nodes.html">Next</a></td></tr></table><hr /></div><div class="section"><div clas [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Exchanges.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Exchanges.html.in
new file mode 100644
index 0000000..ed21734
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Exchanges.html.in
@@ -0,0 +1,62 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.6.&#160;Exchanges</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Virtualhosts.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Concepts</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Queues.html">Next</a></td></tr></table><hr /></div><div class="section"><div [...]
+  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 [...]
+   </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" />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" />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="d0e637" /><p class="title"><strong>Figure&#160;4.4.&#160;Direct exchange</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Exchange-Direct.png" height="360" alt="Direct exchange" /></td></tr></table></div></div></div><br [...]
+    "<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" />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 ex [...]
+     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="d0e679" /><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"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Exchange [...]
+    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="d0e692" /><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"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" w [...]
+    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="d0e730" /><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"><table border="0" summary="manufactured viewport for HTML img" style="cel [...]
+    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" />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 me [...]
+    binding argument specifying a JMS message selector</a>.</p><div class="figure"><a id="d0e777" /><p class="title"><strong>Figure&#160;4.8.&#160;Fanout exchange</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Exchange-Fanout.png" height="360" alt="Fanout exchange" /></td></tr></table></div></div></div><br class="figure-break" />< [...]
+     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" />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" />4.6.3.1.&#160;JMS Selector</h4></div></div></div><p>The bindin [...]
+    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 href="#ftn.d0e804" class="footnote" id="d0e804"><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" />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 valu [...]
+    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" />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 id="ftn.d0e804" class="footnote"><p><a href="#d0e804" class="para"><sup class="para">[4] </sup></a>
+    This is a Qpid specific extension.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Virtualhosts.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Queues.html">Next</a></td></tr><tr><td width="40%" align="left" vali [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Other-Services.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Other-Services.html.in
new file mode 100644
index 0000000..aa518a0
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Other-Services.html.in
@@ -0,0 +1,8 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.10.&#160;Other Services</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Authentication-Providers.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Concepts</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration.html">Next</a></td></tr></table><hr /></div>< [...]
+        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" />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= [...]
+        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" />4.10.3.&#160;Keystores</h3></div></div></div><p><span class="emph [...]
+        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" />4.10.4.&#160;Truststores</h3></div></div></div><p><span class="emphasis"><em>Truststores</em></span> are used to configure [...]
+            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" />4.10.5.&#160;Loggers</h3></div></div></div><p><span class="emphas [...]
+            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 width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Authentication-Providers.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broke [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Ports.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Ports.html.in
new file mode 100644
index 0000000..706a7ba
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Ports.html.in
@@ -0,0 +1,12 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.8.&#160;Ports</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Queues.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Concepts</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Authentication-Providers.html">Next</a></td></tr></table><hr /></div><div class="secti [...]
+        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></l [...]
+    </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="d0e1311" /><p class="title"><strong>Figure&#160;4.9.&#160;Control flow during Authentication</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Broker-PortAuthFlow.png" height="360" alt="Control flow during Authentication" /></td></tr></table></div></div></div><p><br class="figure-b [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Queues.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Queues.html.in
new file mode 100644
index 0000000..96e4f6b
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Queues.html.in
@@ -0,0 +1,179 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.7.&#160;Queues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Exchanges.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Concepts</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Ports.html">Next</a></td></tr></table><hr /></div><div class="section"><div class= [...]
+     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" />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 [...]
+            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" />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" />4.7.1.2.&#160;Priority</h4></div></div></div><p>In a priority queue, messages on the q [...]
+          <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" />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" />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" />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" />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" />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> [...]
+              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" />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="d0e1064" />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="d0e1077" />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="d0e1092" /><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 summary="Setting the replay period using a Qpid JMS AMQP 0-x address" border="1"><colgroup><col class="syntax" /><col class="example" /></colgroup><thead><tr><th>Syntax</th><th>Example</th></tr></thead><tbody><tr><td>Addressing</td><td>myqueue : { link : { x-subscribe: { argume [...]
+            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" />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="d0e1136" />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" />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" />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 width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Exchanges.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right">&#16 [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-RemoteReplicationNodes.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-RemoteReplicationNodes.html.in
new file mode 100644
index 0000000..f1219ac
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-RemoteReplicationNodes.html.in
@@ -0,0 +1,2 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.4.&#160;Remote Replication Nodes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Virtualhost-Nodes.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Concepts</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Virtualhosts.html">Next</a></td></tr></table><hr /></div [...]
+    another virtualhost node in the group.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Virtualhost-Nodes.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Virtualhosts.html">Next</a></td></tr><tr><td width="40%" align="left" v [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhost-Nodes.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhost-Nodes.html.in
new file mode 100644
index 0000000..dc25a50
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhost-Nodes.html.in
@@ -0,0 +1,11 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.3.&#160;Virtualhost Nodes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Broker.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Concepts</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Next</a></td></tr></table><hr /></div><div cl [...]
+    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><p>
+    <span class="emphasis"><em>Virtualhost node</em></span> also provides an initial configuration for its <span class="emphasis"><em>virtualhost</em></span>.
+    How to specify initial configuration for <span class="emphasis"><em>virtual host</em></span> is described at
+    <a class="xref" href="Java-Broker-Virtual-Host-Initial-Configuration.html" title="5.8.&#160;Virtualhost Initial Configuration">Section&#160;5.8, &#8220;Virtualhost Initial Configuration&#8221;</a>.
+  </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Broker.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.2.&#160;Broker&#160;</td><t [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhosts.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhosts.html.in
new file mode 100644
index 0000000..0f7a204
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhosts.html.in
@@ -0,0 +1,16 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.5.&#160;Virtualhosts</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Concepts</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Exchanges.html">Next</a></td></tr></table><hr /></div><div clas [...]
+    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 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.  When using AMQP 0-8, 0-9, 0-9-1, 0-10
+    the exchange is the only way ingressing a message into the virtualhost.  When using AMQP 1.0
+    producers may route messages via exchanges or direct to 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>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="d0e519" /><p class="title"><strong>Figure&#160;4.3.&#160;Virtualhost Model showing major entities</strong></p><div class="figure-c [...]
+  </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 width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Exchanges.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.4.&#160;Remot [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts.html.in
new file mode 100644
index 0000000..d8074d5
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts.html.in
@@ -0,0 +1,34 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;4.&#160;Concepts</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-CommandLine.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Broker.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class= [...]
+    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 container 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>An <span class="emphasis"><em>Exchange</em></span> accepts messages from a producer application and routes these
+    to one or more <span class="emphasis"><em>Queues</em></span> according to pre-arranged criteria called
+    <span class="emphasis"><em>bindings</em></span>. Exchange are an AMQP 0-8, 0-9, 0-9-1, 0-10 concept.  They exist to
+    produce useful messaging behaviours such as fanout.  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 advanced behaviours)
+    or it may publish messages direct to a queue.
+  </p><p><span class="emphasis"><em>Queue</em></span>s are named entities that hold/buffer messages for later delivery to
+    consumer applications.
+  </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="d0e399" /><p class="title"><strong>Figure&#160;4.1.&#160;Message Flow through Key Entities</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Broker-MessageFlow.png" height="360" alt="Message Flow through the Key Entities of the Broker" /></td></tr></table></div></div></div><p><br class="figure-break" />
+  </p><p>
+    </p><div class="figure"><a id="d0e411" /><p class="title"><strong>Figure&#160;4.2.&#160;Broker Structure showing major entities</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Broker-Model.png" height="360" alt="Broker Structure" /></td></tr></table></div></div></div><p><br class="figure-break" />
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-CommandLine.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts-Broker.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">3.5.&#160;Using the command line&#160;</td><td width="20%" align="center"><a  [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-CommandLine.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-CommandLine.html.in
new file mode 100644
index 0000000..fddf827
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-CommandLine.html.in
@@ -0,0 +1,58 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.5.&#160;Using the command line</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Logging.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;3.&#160;Getting Started</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts.html">Next</a></td></tr></table><hr /></div><div class [...]
+      For additional details about the broker configuration and related command line arguments see
+      <a class="xref" href="Java-Broker-Initial-Configuration.html" title="Chapter&#160;5.&#160;Initial Configuration">Chapter&#160;5, <em>Initial Configuration</em></a>.
+      The broker is fully configurable via its Web Management Console, for details of this see
+      <a class="xref" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2.&#160;Web Management Console">Section&#160;6.2, &#8220;Web Management Console&#8221;</a>.
+    </p><p>To see usage information for all command line options, use the <code class="option">--help</code> option</p><pre class="programlisting">bin/qpid-server --help</pre><pre class="screen">usage: Qpid [-cic &lt;path&gt;] [-h] [-icp &lt;path&gt;] [-mm] [-mmhttp &lt;port&gt;]
+       [-mmpass &lt;password&gt;] [-mmqv] [-os]
+       [-prop &lt;name=value&gt;] [-props &lt;path&gt;] [-sp &lt;path&gt;] [-st &lt;type&gt;] [-v]
+ -cic,--create-initial-config &lt;path&gt;                  create a copy of the
+                                                      initial config file,
+                                                      either to an
+                                                      optionally specified
+                                                      file path, or as
+                                                      initial-config.json
+                                                      in the current
+                                                      directory
+ -h,--help                                            print this message
+ -icp,--initial-config-path &lt;path&gt;                    set the location of
+                                                      initial JSON config
+                                                      to use when
+                                                      creating/overwriting
+                                                      a broker
+                                                      configuration store
+ -mm,--management-mode                                start broker in
+                                                      management mode,
+                                                      disabling the AMQP
+                                                      ports
+ -mmhttp,--management-mode-http-port &lt;port&gt;           override http
+                                                      management port in
+                                                      management mode
+ -mmpass,--management-mode-password &lt;password&gt;        Set the password for
+                                                      the management mode
+                                                      user mm_admin
+ -mmqv,--management-mode-quiesce-virtualhostnodes     make virtualhost nodes
+                                                      stay in the quiesced
+                                                      state during
+                                                      management mode.
+ -prop,--config-property &lt;name=value&gt;                 set a configuration
+                                                      property to use when
+                                                      resolving variables
+                                                      in the broker
+                                                      configuration store,
+                                                      with format
+                                                      "name=value"
+ -props,--system-properties-file &lt;path&gt;               set the location of
+                                                      initial properties
+                                                      file to set
+                                                      otherwise unset
+                                                      system properties
+ -sp,--store-path &lt;path&gt;                              use given
+                                                      configuration store
+                                                      location
+ -st,--store-type &lt;type&gt;                              use given broker
+                                                      configuration store
+                                                      type
+ -v,--version                                         print the version
+                                                      information and exit
+</pre></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Logging.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Getting-Started.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Concepts.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">3.4.&#160;Log file&#160;</td><td widt [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Logging.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Logging.html.in
new file mode 100644
index 0000000..5300eab
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Logging.html.in
@@ -0,0 +1,4 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.4.&#160;Log file</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;3.&#160;Getting Started</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Getting-Started-CommandLine.html">Next</a></td></tr></table><h [...]
+      conditions.  By default the log file is written within the log subdirectory beneath the work directory
+      - <code class="computeroutput">$QPID_WORK/log/qpid.log</code> (UNIX) and
+      <code class="computeroutput">%QPID_WORK%\log\qpid.log</code> (Windows).</p><p>For details of how to control the logging, see <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 class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Prev</a>&#160;</ [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Unix.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Unix.html.in
new file mode 100644
index 0000000..a9fdf03
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Unix.html.in
@@ -0,0 +1,13 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.3.&#160;Starting/Stopping the broker on Unix</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;3.&#160;Getting Started</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Getting-Started-Logging.html">N [...]
+      and ensure that the <a class="link" href="Java-Broker-Installation-InstallationUnix.html#Java-Broker-Installation-InstallationUnix-SettingQPIDWORK" title="2.5.1.&#160;Setting the working directory">QPID_WORK environment variable is set</a>.</p><p>Now use the <span class="command"><strong>qpid-server</strong></span> script to start the server:</p><pre class="programlisting">bin/qpid-server</pre><p>Output similar to the following will be seen:</p><pre class="screen">[Broker] BRK-1006 [...]
+[Broker] BRK-1001 : Startup : Version: 8.0.5 Build: exported
+[Broker] BRK-1010 : Platform : JVM : Oracle Corporation version: 1.8.0_144-b01 OS : Mac OS X version: 10.12.6 arch: x86_64 cores: 8
+[Broker] BRK-1011 : Maximum Memory : Heap : 518,979,584 bytes Direct : 1,610,612,736 bytes
+[Broker] BRK-1002 : Starting : Listening on TCP port 5672
+[Broker] MNG-1001 : Web Management Startup
+[Broker] MNG-1002 : Starting : HTTP : Listening on port 8080
+[Broker] MNG-1004 : Web Management Ready
+[Broker] BRK-1004 : Qpid Broker Ready</pre><p>The BRK-1004 message confirms that the Broker is ready for work.  The MNG-1002 and BRK-1002 confirm the ports on
+    which the Broker is listening (for HTTP management and AMQP respectively).</p><p>To stop the Broker, use Control-C from the controlling shell, use the
+        <span class="command"><strong>bin/qpid.stop</strong></span> script, use <span class="command"><strong>kill -TERM &lt;pid&gt;</strong></span>, or
+      the <a class="link" href="Java-Broker-Management-Channel-REST-API.html#Java-Broker-Management-Channel-REST-API-Operations" title="6.3.8.&#160;Configured Object operations">REST operation broker/shutdown</a>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Jav [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Windows.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Windows.html.in
new file mode 100644
index 0000000..6b5ea9c
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Windows.html.in
@@ -0,0 +1,13 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.2.&#160;Starting/Stopping the broker on Windows</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;3.&#160;Getting Started</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Next</a>< [...]
+      and ensure that the <a class="link" href="Java-Broker-Installation-InstallationWindows.html#Java-Broker-Installation-InstallationWindows-SettingQPIDWORK" title="2.4.1.&#160;Setting the working directory">QPID_WORK environment variable is set</a>.</p><p>Now use the <span class="command"><strong>qpid-server.bat</strong></span> to start the server</p><pre class="programlisting">bin\qpid-server.bat</pre><p>Output similar to the following will be seen:</p><pre class="screen">[Broker] BR [...]
+[Broker] BRK-1001 : Startup : Version: 8.0.5 Build: 1478262
+[Broker] BRK-1010 : Platform : JVM : Oracle Corporation version: 1.8.0_144-b01 OS : Windows 7 version: 6.1 arch: x86 cores: 4
+[Broker] BRK-1011 : Maximum Memory : Heap : 518,979,584 bytes Direct : 1,610,612,736 bytes
+[Broker] BRK-1002 : Starting : Listening on TCP port 5672
+[Broker] MNG-1001 : Web Management Startup
+[Broker] MNG-1002 : Starting : HTTP : Listening on port 8080
+[Broker] MNG-1004 : Web Management Ready
+[Broker] BRK-1004 : Qpid Broker Ready</pre><p>The BRK-1004 message confirms that the Broker is ready for work.  The MNG-1002 and BRK-1002 confirm the ports on
+      which the Broker is listening (for HTTP management and AMQP respectively).</p><p>To stop the Broker, use Control-C from the controlling command prompt or
+      <a class="link" href="Java-Broker-Management-Channel-REST-API.html#Java-Broker-Management-Channel-REST-API-Operations" title="6.3.8.&#160;Configured Object operations">REST operation broker/shutdown</a>.
+    </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Getting-Started.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&#160; [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started.html.in
new file mode 100644
index 0000000..c9f55f4
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started.html.in
@@ -0,0 +1,8 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;3.&#160;Getting Started</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Installation-OptionalDependencies.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Next</a></td></tr></table><hr / [...]
+      This section describes how to start and stop the Broker, and outlines the various command line options.
+    </p><p>
+      For additional details about the broker configuration store and related command line arguments see
+      <a class="xref" href="Java-Broker-Initial-Configuration.html" title="Chapter&#160;5.&#160;Initial Configuration">Chapter&#160;5, <em>Initial Configuration</em></a>.
+      The broker is fully configurable via its Web Management Console, for details of this see
+      <a class="xref" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2.&#160;Web Management Console">Section&#160;6.2, &#8220;Web Management Console&#8221;</a>.
+    </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Installation-OptionalDependencies.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.6.&#160;Optional Dependencies&#160;</td>< [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Backup.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Backup.html.in
new file mode 100644
index 0000000..cfd6fd4
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Backup.html.in
@@ -0,0 +1,2 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.10.&#160;Backups</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Security.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;10.&#160;High Availability</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-Reset-Group-Infomational.html">Next</a></td></tr></t [...]
+      group. <a class="xref" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html#Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB-HA" title="11.2.2.&#160;BDB-HA">Section&#160;11.2.2, &#8220;BDB-HA&#8221;</a>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Security.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Behaviour.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Behaviour.html.in
new file mode 100644
index 0000000..3f69e66
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Behaviour.html.in
@@ -0,0 +1,96 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.4.&#160;Behaviour of the Group</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-CreatingGroup.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;10.&#160;High Availability</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-NodeOperations.html">Next</a></td [...]
+      then goes on to talk about the various controls that are available to override it. It
+      describes the controls available that affect the <a class="link" href="http://en.wikipedia.org/wiki/ACID#Durability" target="_top">durability</a> of transactions and
+      the data consistency between the master and replicas and thus make trade offs between
+      performance and reliability.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-Default-Behaviour" />10.4.1.&#160;Default Behaviour</h3></div></div></div><p>Let's first look at the behaviour of a group in default configuration.</p><p>In the default configuration, for any messaging work to be done, there must be at least
+          <span class="emphasis"><em>quorum</em></span> nodes present. This means for example, in a three node group,
+        this means there must be at least two nodes available.</p><p>When a messaging client sends a transaction, it can be assured that, before the control
+        returns back to his application after the commit call that the following is true:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>At the master, the transaction is <span class="emphasis"><em>written to disk and OS level caches
+                are flushed</em></span> meaning the data is on the storage device.</p></li><li class="listitem"><p>At least quorum minus 1 replicas, <span class="emphasis"><em>acknowledge the receipt of
+                transaction</em></span>. The replicas will write the data to the storage device
+              sometime later.</p></li></ul></div><p>If there were to be a master failure immediately after the transaction was committed,
+        the transaction would be held by at least quorum minus one replicas. For example, if we had
+        a group of three, then we would be assured that at least one replica held the
+        transaction.</p><p>In the event of a master failure, if quorum nodes remain, those nodes hold an election.
+        The nodes will elect master the node with the most recent transaction. If two or more nodes
+        have the most recent transaction the group makes an arbitrary choice. If quorum number of
+        nodes does not remain, the nodes cannot elect a new master and will wait until nodes rejoin.
+        You will see later that manual controls are available allow service to be restored from
+        fewer than quorum nodes and to influence which node gets elected in the event of a
+        tie.</p><p>Whenever a group has fewer than quorum nodes present, the virtualhost will be
+        unavailable and messaging connections will be refused. If quorum disappears at the very
+        moment a messaging client sends a transaction that transaction will fail.</p><p>You will have noticed the difference in the synchronization policies applied the master
+        and the replicas. The replicas send the acknowledgement back before the data is written to
+        disk. The master synchronously writes the transaction to storage. This is an example of a
+        trade off between durability and performance. We will see more about how to control this
+        trade off later.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-SynchronizationPolicy" />10.4.2.&#160;Synchronization Policy</h3></div></div></div><p>The <span class="emphasis"><em>synchronization policy</em></span> dictates what a node must do when it
+        receives a transaction before it acknowledges that transaction to the rest of the
+        group.</p><p>The following options are available: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>SYNC</em></span>. The node must write the transaction to disk and flush
+              any OS level buffers before sending the acknowledgement. SYNC is offers the highest
+              durability but offers the least performance.</p></li><li class="listitem"><p><span class="emphasis"><em>WRITE_NO_SYNC</em></span>. The node must write the transaction to disk
+              before sending the acknowledgement. OS level buffers will be flush as some point
+              later. This typically provides an assurance against failure of the application but not
+              the operating system or hardware.</p></li><li class="listitem"><p><span class="emphasis"><em>NO_SYNC</em></span>. The node immediately sends the acknowledgement. The
+              transaction will be written and OS level buffers flushed as some point later. NO_SYNC
+              offers the highest performance but the lowest durability level. This synchronization
+              policy is sometimes known as <span class="emphasis"><em>commit to the network</em></span>.</p></li></ul></div><p>It is possible to assign a one policy to the master and a different policy to the
+        replicas. These are configured as <a class="link" href="Java-Broker-Management-Managing-Virtualhosts.html#Java-Broker-Management-Managing-Virtualhost-Attributes" title="7.4.3.&#160;Attributes">
+        attributes <span class="emphasis"><em>localTransactionSynchronizationPolicy</em></span> and
+        <span class="emphasis"><em>remoteTransactionSynchronizationPolicy</em></span> on the virtualhost</a>.
+        By default the master uses <span class="emphasis"><em>SYNC</em></span> and replicas use
+        <span class="emphasis"><em>NO_SYNC</em></span>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-NodePriority" />10.4.3.&#160;Node Priority</h3></div></div></div><p>Node priority can be used to influence the behaviour of the election algorithm. It is
+        useful in the case were you want to favour some nodes over others. For instance, if you wish
+        to favour nodes located in a particular data centre over those in a remote site. </p><p>
+        A new master is elected among nodes with the most current set of log files. When there is a tie,
+        the priority is used as a tie-breaker to select amongst these nodes.
+      </p><p>
+        The node priority is set as an integer value. A priority of zero is used to ensure that a node cannot
+        be elected master, even if it has the most current set of files.
+      </p><p>For convenience, the Web Management Console uses user friendly names for the priority integer values
+        in range from 0 to 3 inclusive. The following priority options are available: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Highest</em></span>. Nodes with this priority will be more favoured. In
+              the event of two or more nodes having the most recent transaction, the node with this
+              priority will be elected master. If two or more nodes have this priority the algorithm
+              will make an arbitrary choice. The priority value for option <span class="emphasis"><em>Highest</em></span> is <span class="emphasis"><em>3</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>High</em></span>. Nodes with this priority will be favoured but not as
+              much so as those with Highest. The priority value for this option is <span class="emphasis"><em>2</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>Normal</em></span>. This is a default election priority.
+              The priority value for this option is <span class="emphasis"><em>1</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>Never</em></span>. The node will never be elected <span class="emphasis"><em>even if the
+                node has the most recent transaction</em></span>. The node will still keep up to date
+              with the replication stream and will still vote itself, but can just never be
+              elected. The priority value for this option is <span class="emphasis"><em>0</em></span>.</p></li></ul></div><p>
+      </p><p>Node priority is configured as an <a class="link" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes" title="7.3.2.&#160;Attributes">
+        attribute <span class="emphasis"><em>priority</em></span> on the virtualhost node</a> and can be changed
+        at runtime and is effective immediately.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Use of the Never priority can lead to transaction loss. For example, consider a group
+          of three where replica-2 is marked as Never. If a transaction were to arrive and it be
+          acknowledged only by Master and Replica-2, the transaction would succeed. Replica 1 is
+          running behind for some reason (perhaps a full-GC). If a Master failure were to occur at
+          that moment, the replicas would elect Replica-1 even though Replica-2 had the most recent
+          transaction.</p><p>Transaction loss is reported by message <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-HA-1014">HA-1014</a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-MinimumNumberOfNodes" />10.4.4.&#160;Required Minimum Number Of Nodes</h3></div></div></div><p>This controls the required minimum number of nodes to compl [...]
+        elect a new master. By default, the required number of nodes is set to
+          <span class="emphasis"><em>Default</em></span> (which signifies quorum).</p><p>It is possible to reduce the required minimum number of nodes. The rationale for doing
+        this is normally to temporarily restore service from fewer than quorum nodes following an
+        extraordinary failure.</p><p>For example, consider a group of three. If one node were to fail, as quorum still
+        remained, the system would continue work without any intervention. If the failing node were
+        the master, a new master would be elected.</p><p>What if a further node were to fail? Quorum no longer remains, and the remaining node
+        would just wait. It cannot elect itself master. What if we wanted to restore service from
+        just this one node?</p><p>In this case, Required Number of Nodes can be reduced to 1 on the remain node, allowing
+        the node to elect itself and service to be restored from the singleton. Required minimum
+        number of nodes is configured as an <a class="link" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes" title="7.3.2.&#160;Attributes">
+        attribute <span class="emphasis"><em>quorumOverride</em></span> on the virtualhost node</a> and can be changed
+        at runtime and is effective immediately.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>The attribute must be used cautiously. Careless use will lead to lost transactions and
+          can lead to a <a class="link" href="http://en.wikipedia.org/wiki/Split-brain_(computing)" target="_top">split-brain</a> in the event of a network partition. If used to temporarily restore
+          service from fewer than quorum nodes, it is <span class="emphasis"><em>imperative</em></span> to revert it
+          to the Default value as the failed nodes are restored.</p><p>Transaction loss is reported by message <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-HA-1014">HA-1014</a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-DesignatedPrimary" />10.4.5.&#160;Allow to Operate Solo</h3></div></div></div><p>This attribute only applies to  [...]
+        as quorum no longer exists. A single node cannot elect itself master. </p><p>The <code class="literal">allow to operate solo</code> flag allows a node in a two node group to elect itself master and
+        to operate sole. It is configured as an <a class="link" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes" title="7.3.2.&#160;Attributes">
+        attribute <span class="emphasis"><em>designatedPrimary</em></span> on the virtualhost node</a> and can be changed
+        at runtime and is effective immediately.</p><p>For example, consider a group of two where the master fails. Service will be interrupted
+        as the remaining node cannot elect itself master. To allow it to become master, apply the
+        <code class="literal">allow to operate solo</code> flag to it. It will elect itself master and work can continue, albeit
+        from one node.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>It is imperative not to allow the <code class="literal">allow to operate solo</code> flag to be set on both nodes at once. To
+          do so will mean, in the event of a network partition, a <a class="link" href="http://en.wikipedia.org/wiki/Split-brain_(computing)" target="_top">split-brain</a> will
+            occur.</p><p>Transaction loss is reported by message <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-HA-1014">HA-1014</a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-MaximumMessageSize" />10.4.6.&#160;Maximum message size</h3></div></div></div><p>
+        Internally, BDB JE HA restricts the maximum size of replication stream records passed from the master
+        to the replica(s). This helps prevent DOS attacks.
+        If expected application maximum message size is greater than 5MB, the BDB JE setting
+        <code class="literal">je.rep.maxMessageSize</code> and Qpid context variable <code class="literal">qpid.max_message_size</code>
+        needs to be adjusted to reflect this in order to avoid running into the BDB HA JE limit.
+      </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-CreatingGroup.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-NodeOperations.html">Next</a></td></tr><tr><td width="40%" align="left" valign [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-ClientFailover.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-ClientFailover.html.in
new file mode 100644
index 0000000..43c1974
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-ClientFailover.html.in
@@ -0,0 +1,5 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.6.&#160;Client failover</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-NodeOperations.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;10.&#160;High Availability</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-DiskSpace.html">Next</a></td></tr></tab [...]
+      virtualhost within the group.</p><p>Clients can do this using a static technique, for example , utilising the failover feature of the Apache Qpid
+      JMS and Apache Qpid JMS AMQP 0-x clients where the client has a list of all the nodes, and tries each node in
+      sequence until it discovers the node with the active virtualhost.</p><p>Another possibility is a dynamic technique utilising a proxy or Virtual IP (VIP). These
+      require other software and/or hardware and are outside the scope of this document.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-NodeOperations.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-D [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-CreatingGroup.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-CreatingGroup.html.in
new file mode 100644
index 0000000..7c3128a
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-CreatingGroup.html.in
@@ -0,0 +1,42 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.3.&#160;Creating a group</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-OverviewOfHA.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;10.&#160;High Availability</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-Behaviour.html">Next</a></td></tr></tabl [...]
+      first creating the first node standalone, then creating subsequent nodes referencing the first
+      node so the nodes can introduce themselves and gradually the group is built up.</p><p>A group is created through either <a class="link" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2.&#160;Web Management Console">Web Management</a>
+      or the <a class="link" href="Java-Broker-Management-Channel-REST-API.html" title="6.3.&#160;REST API">REST API</a>
+      or the initial configuration (<a class="xref" href="Java-Broker-Appendix-BDB-HA-initial-configuration.html" title="Appendix&#160;H.&#160;BDB HA initial configuration">Appendix&#160;H, <em>BDB HA initial configuration</em></a>
+      illustrates how to use initial configuration for BDB HA group creation).
+      These instructions presume you are using Web Management. To illustrate the example it builds the group
+      illustrated in figure <a class="xref" href="Java-Broker-High-Availability-OverviewOfHA.html#Java-Broker-High-Availability-OverviewOfHA-Figure" title="Figure&#160;10.1.&#160;3-node group deployed across three Brokers.">Figure&#160;10.1, &#8220;3-node group deployed across three Brokers.&#8221;</a></p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Install a Broker on each machine that will be used to host the group. As messaging
+            clients will need to be able to connect to and authentication to all Brokers, it usually
+            makes sense to choose a common authentication mechanism e.g. Simple LDAP Authentication,
+            External with SSL client authentication or Kerberos.</p></li><li class="listitem"><p>Select one Broker instance to host the first node instance. This choice is an
+            arbitrary one. The node is special only whilst creating group. Once creation is
+            complete, all nodes will be considered equal.</p></li><li class="listitem"><p>Click the <code class="literal">Add</code> button on the Virtualhost Panel on the Broker
+            tab.</p><p>
+            </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>Give the Virtualhost node a unique name e.g. <code class="literal">weather1</code>. The
+                  name must be unique within the group and unique to that Broker. It is best if the
+                  node names are chosen from a different nomenclature than the machine names
+                  themselves.</p></li><li class="listitem"><p>Choose <code class="literal">BDB_HA</code> and select <code class="literal">New group</code>
+                </p></li><li class="listitem"><p>Give the group a name e.g. <code class="literal">weather</code>. The group name must be
+                  unique and will be the name also given to the virtualhost, so this is the name the
+                  messaging clients will use in their connection url.</p></li><li class="listitem"><p>Give the address of this node. This is an address on this node's host that
+                  will be used for replication purposes. The hostname <span class="emphasis"><em>must</em></span> be
+                  resolvable by all the other nodes in the group. This is separate from the address
+                  used by messaging clients to connect to the Broker. It is usually best to choose a
+                  symbolic name, rather than an IP address.</p></li><li class="listitem"><p>Now add the node addresses of all the other nodes that will form the group. In
+                  our example we are building a three node group so we give the node addresses of
+                    <code class="literal">chaac:5000</code> and <code class="literal">indra:5000</code>.</p></li><li class="listitem"><p>Click Add to create the node. The virtualhost node will be created with the
+                  virtualhost. As there is only one node at this stage, the role will be
+                  master.</p></li></ol></div><p>
+            </p><div class="figure"><a id="d0e6856" /><p class="title"><strong>Figure&#160;10.2.&#160;Creating 1st node in a group</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/HA-Create-1.png" height="360" alt="Creating 1st node in a group" /></td></tr></table></div></div></div><p><br class="figure-break" />
+          </p></li><li class="listitem"><p>Now move to the second Broker to be the group. Click the <code class="literal">Add</code>
+            button on the Virtualhost Panel on the Broker tab of the second Broker.</p><p>
+            </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>Give the Virtualhost node a unique name e.g.
+                  <code class="literal">weather2</code>.</p></li><li class="listitem"><p>Choose <code class="literal">BDB_HA</code> and choose <code class="literal">Existing group</code>
+                </p></li><li class="listitem"><p>Give the details of the <span class="emphasis"><em>existing node</em></span>. Following our
+                  example, specify <code class="literal">weather</code>, <code class="literal">weather1</code> and
+                    <code class="literal">thor:5000</code></p></li><li class="listitem"><p>Give the address of this node.</p></li><li class="listitem"><p>Click Add to create the node. The node will use the existing details to
+                  contact it and introduce itself into the group. At this stage, the group will have
+                  two nodes, with the second node in the replica role.</p></li><li class="listitem"><p>Repeat these steps until you have added all the nodes to the group.</p></li></ol></div><p>
+            </p><div class="figure"><a id="d0e6914" /><p class="title"><strong>Figure&#160;10.3.&#160;Adding subsequent nodes to the group</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/HA-Create-2.png" height="360" alt="Adding subsequent nodes to the group" /></td></tr></table></div></div></div><p><br class="figure-break" />
+          </p></li></ol></div><p>The group is now formed and is ready for us. Looking at the virtualhost node of any of the
+      nodes shows a complete view of the whole group. </p><div class="figure"><a id="d0e6926" /><p class="title"><strong>Figure&#160;10.4.&#160;View of group from one node</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/HA-Create-3.png" height="360" alt="View of group from one node" /></td></tr></table></div></div></div><p><br clas [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-DiskSpace.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-DiskSpace.html.in
new file mode 100644
index 0000000..de26d06
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-DiskSpace.html.in
@@ -0,0 +1,4 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.7.&#160;Disk space requirements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-ClientFailover.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;10.&#160;High Availability</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-Network-Requirements.html">Next [...]
+      for them to allow them to return to the replica role quickly.</p><p>By default, the master will retain up to 1hour of missed transactions. In a busy
+      production system, the disk space occupied could be considerable.</p><p>This setting is controlled by virtualhost context variable
+        <code class="literal">je.rep.repStreamTimeout</code>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-ClientFailover.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-Network-Requirements.html">N [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Network-Requirements.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Network-Requirements.html.in
new file mode 100644
index 0000000..1fce78f
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Network-Requirements.html.in
@@ -0,0 +1,5 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.8.&#160;Network Requirements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-DiskSpace.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;10.&#160;High Availability</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-Security.html">Next</a></td></tr></tabl [...]
+      and quality of service.</p><p>In order to achieve the best performance it is recommended to use a separate network
+      infrastructure for the Qpid HA Nodes which might include installation of dedicated network
+      hardware on Broker hosts, assigning a higher priority to replication ports, installing a group
+      in a separate network not impacted by any other traffic.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-DiskSpace.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-Security.html">Next</a></td></tr [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-NodeOperations.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-NodeOperations.html.in
new file mode 100644
index 0000000..dc31eae
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-NodeOperations.html.in
@@ -0,0 +1,21 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.5.&#160;Node Operations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Behaviour.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;10.&#160;High Availability</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-ClientFailover.html">Next</a></td></tr></tab [...]
+            messaging clients will be disconnected and any in-flight transaction rollbacked. The
+            remaining nodes will elect a new master if quorum number of nodes still remains.</p><p>Stopping a replica node will cause the node to temporarily leave the group too.
+            Providing quorum still exists, the current master will continue without interruption. If
+            by leaving the group, quorum no longer exists, all the nodes will begin waiting,
+            disconnecting any messaging clients, and the virtualhost will become unavailable.</p><p>A stopped virtualhost node is still considered to be a member of the group.</p></li><li class="listitem"><p><span class="emphasis"><em>Start</em></span></p><p>Starting a virtualhost node allows it to rejoin the group.</p><p>If the group already has a master, the node will catch up from the master and then
+            become a replica once it has done so.</p><p>If the group did not have quorum and so had no master, but the rejoining of this
+            node means quorum now exists, an election will take place. The node with the most up to
+            date transaction will become master unless influenced by the priority rules described
+            above.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The length of time taken to catch up will depend on how long the node has been
+              stopped. The worst case is where the node has been stopped for more than one hour. In
+              this case, the master will perform an automated <code class="literal">network restore</code>.
+              This involves streaming all the data held by the master over to the replica. This
+              could take considerable time.</p></div></li><li class="listitem"><p><span class="emphasis"><em>Delete</em></span></p><p>A virtualhost node can be deleted. Deleting a node permanently removes the node from
+            the group. The data stored locally is removed but this does not affect the data held by
+            the remainder of the group.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The names of deleted virtualhost node cannot be reused within a group.</p></div></li></ul></div><p>It is also possible to add nodes to an existing group using the procedure described
+        above.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-NodeOperations-TransferMaster" />10.5.2.&#160;Transfer Master</h3></div></div></div><p>This operation allows the mastership to be moved from node to node. This is useful for
+        restoring a business as usual state after a failure.</p><p>When using this function, the following occurs. </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>The system first gives time for the chosen new master to become reasonable up to
+              date. </p></li><li class="listitem"><p>It then suspends transactions on the old master and allows the chosen node to
+              become up to date.</p></li><li class="listitem"><p>The suspended transactions are aborted and any messaging clients connected to the
+              old master are disconnected.</p></li><li class="listitem"><p>The chosen master becomes the new master. The old master becomes a replica.</p></li><li class="listitem"><p>Messaging clients reconnect the new master.</p></li></ol></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Behaviour.html">Prev</a>&#160;</td><td width="20%" align="center"><a ac [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-OverviewOfHA.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-OverviewOfHA.html.in
new file mode 100644
index 0000000..553ae5d
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-OverviewOfHA.html.in
@@ -0,0 +1,25 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.2.&#160;High Availability Overview</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;10.&#160;High Availability</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-CreatingGroup.html">Next</a></td></tr></tab [...]
+      When using HA, many instances of the Broker work together to form an high availability group of two or more nodes.</p><p>The remainder of this section now talks about the specifics of how HA is achieved in terms
+      of the <a class="link" href="Java-Broker-Concepts.html" title="Chapter&#160;4.&#160;Concepts">concepts</a> introduced earlier in this
+      book.</p><p>The <a class="link" href="Java-Broker-Concepts-Virtualhosts.html" title="4.5.&#160;Virtualhosts">Virtualhost</a> is the unit of
+      replication. This means that any <span class="emphasis"><em>durable</em></span> queues, exchanges, and bindings
+      belonging to that virtualhost, any <span class="emphasis"><em>persistent</em></span> messages contained within
+      the queues and any attribute settings applied to the virtualhost itself are automatically
+      replicated to all nodes within the group.<a href="#ftn.d0e6741" class="footnote" id="d0e6741"><sup class="footnote">[11]</sup></a></p><p>It is the <a class="link" href="Java-Broker-Concepts-Virtualhost-Nodes.html" title="4.3.&#160;Virtualhost Nodes">Virtualhost Nodes</a>
+      (from different Broker instances) that join together to form a group. The virtualhost nodes
+      collectively to coordinate the group: they organise replication between the master and
+      replicas and conduct elections to determine who becomes the new master in the event of the old
+      failing.</p><p>When a virtualhost node is in the <span class="emphasis"><em>master</em></span> role, the virtualhost
+      beneath it is available for messaging work. Any write operations sent to the virtualhost are
+      automatically replicated to all other nodes in group.</p><p>When a virtualhost node is in the <span class="emphasis"><em>replica</em></span> role, the virtualhost
+      beneath it is always unavailable for message work. Any attempted connections to a virtualhost
+      in this state are automatically turned away, allowing a messaging client to discover where the
+      master currently resides. When in replica role, the node sole responsibility is to consume a
+      replication stream in order that it remains up to date with the master.</p><p>Messaging clients discover the active virtualhost.This can be achieved using a static
+      technique (for instance, a failover url (a feature of the Apache Qpid JMS and Apache Qpid JMS AMQP 0-x clients),
+      or a dynamic one utilising some kind of proxy or virtual IP (VIP).</p><p>The figure that follows illustrates a group formed of three virtualhost nodes from three
+      separate Broker instances. A client is connected to the virtualhost node that is in the master
+      role. The two virtualhost nodes <code class="literal">weather1</code> and <code class="literal">weather3</code>
+      are replicas and are receiving a stream of updates.</p><div class="figure"><a id="Java-Broker-High-Availability-OverviewOfHA-Figure" /><p class="title"><strong>Figure&#160;10.1.&#160;3-node group deployed across three Brokers.</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/HA-Overview.png" height="360" alt="Diagram showing a [...]
+      this leverages the HA capabilities of the Berkeley DB JE edition.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The HA solution from the Apache Qpid Broker-J is incompatible with the HA solution offered by the CPP
+        Broker. It is not possible to co-locate Qpid Broker-J and CPP Brokers within the same group.</p></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.d0e6741" class="footnote"><p><a href="#d0e6741" class="para"><sup class="para">[11] </sup></a>Transient messages and messages on non-durable queues are not replicated.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40% [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Reset-Group-Infomational.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Reset-Group-Infomational.html.in
new file mode 100644
index 0000000..2b4ed47
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Reset-Group-Infomational.html.in
@@ -0,0 +1,8 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.11.&#160;Reset Group Information</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Backup.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;10.&#160;High Availability</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Backup-And-Recovery.html">Next</a></td></tr></table><hr  [...]
+      circumstances when resetting this information is useful.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Copying data between environments (e.g. production to UAT)</p></li><li class="listitem"><p>Some disaster recovery situations where a group must be recreated on new
+            hardware</p></li></ul></div><p>This is not an normal operation and is not usually required</p><p>The following command replaces the group table contained within the JE logs files with the
+      provided information. </p><div class="example"><a id="d0e7301" /><p class="title"><strong>Example&#160;10.1.&#160;Resetting of replication group with <code class="classname">DbResetRepGroup</code></strong></p><div class="example-contents"><div class="cmdsynopsis"><p><code class="command">java</code>   -cp je-7.4.5.jar   com.sleepycat.je.rep.util.DbResetRepGroup   -h <em class="replaceable"><code>path/to/jelogfiles</code></em> <br />  -groupName <em class="replaceable"><code>newgrou [...]
+        <code class="literal">${QPID_WORK}/&lt;nodename&gt;/config</code> directory of a target Broker. Then
+      start the Broker, and add a BDB HA Virtualhost node specify the same group name, node name and
+      node address. You will then have a group with a single node, ready to start re-adding
+      additional nodes as described above. </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Backup.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Backup-And-Recovery.html">Next</a></td></tr><tr><td width="40%" align="l [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Security.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Security.html.in
new file mode 100644
index 0000000..2abf867
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Security.html.in
@@ -0,0 +1,3 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.9.&#160;Security</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Network-Requirements.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;10.&#160;High Availability</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-Backup.html">Next</a></td></tr></table>< [...]
+      intercepted by anyone having access to the replication network.</p><p>In order to reduce the security risks the entire HA group is recommended to run in a
+      separate network protected from general access and/or utilise SSH-tunnels/IPsec.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Network-Requirements.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availabili [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability.html.in
new file mode 100644
index 0000000..9450db0
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability.html.in
@@ -0,0 +1,10 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;10.&#160;High Availability</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Memory.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-OverviewOfHA.html">Next</a></td></tr></table><hr /></div><div class="chapter" [...]
+      service such as a Message Broker available so that should a service unexpectedly fail, or
+      requires to be shutdown for maintenance, users may quickly connect to another instance and
+      continue their work with minimal interruption. HA is one way to make a overall system more
+      resilient by eliminating a single point of failure from a system.</p><p>HA offerings are usually categorised as <span class="bold"><strong>Active/Active</strong></span> or
+        <span class="bold"><strong>Active/Passive</strong></span>. An Active/Active system is one where all
+      nodes within the group are usually available for use by clients all of the time. In an
+      Active/Passive system, one only node within the group is available for use by clients at any
+      one time, whilst the others are in some kind of standby state, awaiting to quickly step-in in
+      the event the active node becomes unavailable. </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Memory.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability-OverviewOfHA.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">9.11.&#160;Memory&#160;< [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Configuration-Properties.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Configuration-Properties.html.in
new file mode 100644
index 0000000..945f05b
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Configuration-Properties.html.in
@@ -0,0 +1,23 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.6.&#160;Customising Configuration using Configuration Properties</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Type.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;5.&#160;Initial Configuration</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuratio [...]
+            ${properties} that can be resolved to String values at startup, allowing a degree of
+            customisation using a fixed file. Configuration Property values can be set either via
+            Java System Properties, or by specifying ConfigurationProperties on the broker command
+            line. If both are defined, System Property values take precedence. </p><p> The broker has the following set of core configuration properties, with the indicated
+            default values if not otherwise configured by the user: </p><div class="table"><a id="d0e1615" /><p class="title"><strong>Table&#160;5.1.&#160;Base Configuration Properties</strong></p><div class="table-contents"><table summary="Base Configuration Properties" border="1"><colgroup><col class="name" /><col class="description" /><col class="value" /></colgroup><thead><tr><th> Name </th><th> Description </th><th> Value </th></tr></thead><tbody><tr><td> qpid.amqp_port </td><td> Po [...]
+                                the 'lib' directory and the 'etc' directory often used to store
+                                files such as group and ACL files. </td><td> Defaults to the value set into the QPID_HOME system property if
+                                it is set, or remains unset otherwise unless configured by the user.
+                            </td></tr><tr><td> qpid.work_dir </td><td> Location of the broker working directory, which might contain
+                                the persistent message store and broker configuration store files. </td><td> Defaults to the value set into the QPID_WORK system property if
+                                it is set, or the 'work' subdirectory of the JVMs current working
+                                directory. </td></tr></tbody></table></div></div><p><br class="table-break" />
+        </p><p> Use of these core properties can be seen in the <a class="link" href="Java-Broker-Initial-Configuration-Example.html" title="5.7.&#160;Example of JSON 'Initial Configuration'">default 'Initial Configuration' example</a>. </p><p> Configuration Properties can be set on the command line using the
+                <span class="emphasis"><em>-prop</em></span> (or <span class="emphasis"><em>--configuration-property</em></span>)
+            command line argument: </p><pre class="screen">
+$ ./qpid-server -prop "qpid.amqp_port=10000" -prop "qpid.http_port=10001"
+        </pre><p> In the example above, property used to set the port number of the default AMQP port
+            is specified with the value 10000, overriding the default value of 5672, and similarly
+            the value 10001 is used to override the default HTTP port number of 8080. When using the
+            'Initial Configuration' to initialise a new Configuration Store at first broker
+            startup these new values will be used for the port numbers instead. </p><p> NOTE: When running the broker on Windows and starting it via the qpid-server.bat
+            file, the "name=value" argument MUST be quoted. </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Type.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Initial-Configuration.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration-Example.html">Next</a></td> [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Create-Initial-Config.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Create-Initial-Config.html.in
new file mode 100644
index 0000000..2279542
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Create-Initial-Config.html.in
@@ -0,0 +1,16 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.4.&#160;Creating an 'Initial Configuration' JSON File</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Initial-Config-Location.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;5.&#160;Initial Configuration</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Conf [...]
+            file to disk using the command line argument <span class="emphasis"><em>-cic</em></span> (or
+                <span class="emphasis"><em>--create-initial-config</em></span>). If the option is used without
+            providing a path, a file called <span class="emphasis"><em>initial-config.json</em></span> will be created
+            in the current directory, or alternatively the file can be created at a specified
+            location: </p><pre class="screen">
+$ ./qpid-server -cic ./initial-config.json
+        </pre><p> The 'Initial Configuration' JSON file shares a common format with the brokers JSON
+            Configuration Store implementation, so it is possible to use a Broker's Configuration
+            Store output as an initial configuration. Typically 'Initial Configuration' files would
+            not to contain IDs for the configured entities, so that IDs will be generated when the
+            configuration store is initialised and prevent use of the same IDs across multiple
+            brokers, however it may prove useful to include IDs if using the Memory <a class="link" href="Java-Broker-Initial-Configuration-Type.html" title="5.5.&#160;Configuration Store Type">Configuration Store Type</a>. </p><p> It can be useful to use <a class="link" href="Java-Broker-Initial-Configuration-Configuration-Properties.html" title="5.6.&#160;Customising Configuration using Configuration Properties">Configuration
+                Properties</a> within 'Initial Configuration' files to allow a degree of
+            customisation with an otherwise fixed file. </p><p> For an example file, see <a class="xref" href="Java-Broker-Initial-Configuration-Example.html" title="5.7.&#160;Example of JSON 'Initial Configuration'">Section&#160;5.7, &#8220;Example of JSON 'Initial Configuration'&#8221;</a>
+        </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Initial-Config-Location.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Initial-Configuration.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration-Type.html">Next</a></td></tr><tr><td width="40%" align="left [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Example.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Example.html.in
new file mode 100644
index 0000000..b7e2781
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Example.html.in
@@ -0,0 +1,100 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.7.&#160;Example of JSON 'Initial Configuration'</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Configuration-Properties.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;5.&#160;Initial Configuration</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Virtual-Host-Init [...]
+            provided below:</p><div class="example"><a id="d0e1684" /><p class="title"><strong>Example&#160;5.1.&#160;JSON 'Initial configuration' File</strong></p><div class="example-contents"><pre class="programlisting">
+{
+  "name": "${broker.name}",
+  "modelVersion" : "8.0",
+    "authenticationproviders" : [ {
+      "name" : "plain",
+      "type" : "Plain",
+      "users" : [ {
+      "name" : "guest",
+      "type" : "managed",
+      "password" : "guest"
+      } ]
+    } ],
+    "brokerloggers" : [ {
+    "name" : "logfile",
+    "type" : "File",
+    "fileName" : "${qpid.work_dir}${file.separator}log${file.separator}qpid.log",
+    "brokerloginclusionrules" : [ {
+      "name" : "Root",
+      "type" : "NameAndLevel",
+      "level" : "WARN",
+      "loggerName" : "ROOT"
+    }, {
+      "name" : "Qpid",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "org.apache.qpid.*"
+    }, {
+      "name" : "Operational",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.message.*"
+    }, {
+      "name" : "Statistics",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.statistics.*"
+    } ]
+  }, {
+    "name" : "memory",
+    "type" : "Memory",
+    "brokerloginclusionrules" : [ {
+      "name" : "Root",
+      "type" : "NameAndLevel",
+      "level" : "WARN",
+      "loggerName" : "ROOT"
+    }, {
+      "name" : "Qpid",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "org.apache.qpid.*"
+    }, {
+      "name" : "Operational",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.message.*"
+    }, {
+      "name" : "Statistics",
+      "type" : "NameAndLevel",
+      "level" : "INFO",
+      "loggerName" : "qpid.statistics.*"
+    } ]
+  } ],
+  "ports" : [  {
+    "name" : "AMQP",
+    "port" : "${qpid.amqp_port}",
+    "authenticationProvider" : "plain",
+    "virtualhostaliases" : [ {
+       "name" : "nameAlias",
+       "type" : "nameAlias"
+    }, {
+        "name" : "defaultAlias",
+        "type" : "defaultAlias"
+    }, {
+        "name" : "hostnameAlias",
+        "type" : "hostnameAlias"
+    } ]
+  }, {
+    "name" : "HTTP",
+    "port" : "${qpid.http_port}",
+    "authenticationProvider" : "plain",
+    "protocols" : [ "HTTP" ]
+  }],
+  "virtualhostnodes" : [ {
+    "name" : "default",
+    "type" : "JSON",
+    "defaultVirtualHostNode" : "true",
+    "virtualHostInitialConfiguration" : "\\${qpid.initial_config_virtualhost_config}"
+  } ],
+  "plugins" : [ {
+    "type" : "MANAGEMENT-HTTP",
+    "name" : "httpManagement"
+  } ]
+}
+</pre><p>In the configuration above the following entries are stored: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> Authentication Provider of type
+                                <span class="emphasis"><em>PlainPasswordFile</em></span> with name "passwordFile".
+                        </p></li><li class="listitem"><p> Two Port entries: "AMQP", "HTTP"
+                        </p></li><li class="listitem"><p> Virtualhost Node called <span class="emphasis"><em>default</em></span>.</p></li><li class="listitem"><p>One management plugin: "httpManagement" of type "MANAGEMENT-HTTP".</p></li><li class="listitem"><p>Broker attributes are stored as a root entry.</p></li></ul></div><p>
+            </p></div></div><br class="example-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Configuration-Properties.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Initial-Configuration.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Virtual-Host-Initial-Configuration.ht [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Initial-Config-Location.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Initial-Config-Location.html.in
new file mode 100644
index 0000000..c363e87
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Initial-Config-Location.html.in
@@ -0,0 +1,10 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.3.&#160;'Initial Configuration' Location</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Location.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;5.&#160;Initial Configuration</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration-Create-Initial-Con [...]
+            configuration stores. The broker will default to using an internal file within its jar
+            unless otherwise instructed. </p><p> The command line argument <span class="emphasis"><em>-icp </em></span> (or
+                <span class="emphasis"><em>--initial-config-path</em></span>) can be used to override the brokers
+            internal file and supply a <a class="link" href="Java-Broker-Initial-Configuration-Create-Initial-Config.html" title="5.4.&#160;Creating an 'Initial Configuration' JSON File">user-created
+                one</a>:</p><pre class="screen">
+$ ./qpid-server -icp ./my-initial-configuration.json
+        </pre><p> If a Configuration Store already exists at the current <a class="link" href="Java-Broker-Initial-Configuration-Location.html" title="5.2.&#160;Configuration Store Location">store location</a> then the
+            current 'Initial Configuration' will be ignored.
+        </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Location.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Initial-Configuration.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration-Create-Initial-Config.html">Next</a></td></tr><tr><td width="40%" align="le [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Location.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Location.html.in
new file mode 100644
index 0000000..377f457
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Location.html.in
@@ -0,0 +1,8 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.2.&#160;Configuration Store Location</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;5.&#160;Initial Configuration</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration-Initial-Config-Location.html">N [...]
+            otherwise instructed. </p><p> The command line argument <span class="emphasis"><em>-sp</em></span> (or
+                <span class="emphasis"><em>--store-path</em></span>) can optionally be used to specify a different
+            relative or absolute path to use for the broker configuration store: </p><pre class="screen">
+$ ./qpid-server -sp ./my-broker-configuration.json
+        </pre><p> If no configuration store exists at the specified/defaulted location when the broker
+            starts then one will be initialised using the current <a class="link" href="Java-Broker-Initial-Configuration-Initial-Config-Location.html" title="5.3.&#160;'Initial Configuration' Location">'Initial
+                Configuration'</a>. </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Initial-Configuration.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration-Initial-Config-Location.html">Next</a></td></tr><tr><td  [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Type.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Type.html.in
new file mode 100644
index 0000000..0044ac8
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration-Type.html.in
@@ -0,0 +1,18 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.5.&#160;Configuration Store Type</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Create-Initial-Config.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;5.&#160;Initial Configuration</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration-Configuration [...]
+            </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">JSON</span></dt><dd><p>the default one which persists content to disk in a JSON file</p></dd><dt><span class="term">Memory</span></dt><dd><p>operates only in-memory and so does not retain changes across broker
+                        restarts and always relies on the current <a class="link" href="Java-Broker-Initial-Configuration-Initial-Config-Location.html" title="5.3.&#160;'Initial Configuration' Location">'Initial
+                            Configuration'</a> to provide the configuration to start the broker with.
+                    </p></dd><dt><span class="term">DERBY</span></dt><dd><p>stores configuration in embedded derby store</p></dd><dt><span class="term">BDB</span></dt><dd><p>stores configuration in Berkeley DB store</p></dd><dt><span class="term">JDBC</span></dt><dd><p>stores configuration in external RDBMS using JDBC</p></dd></dl></div><p>
+        </p><p> The command line argument <span class="emphasis"><em>-st</em></span> (or
+                <span class="emphasis"><em>--store-type</em></span>) can be used to override the default
+                <span class="emphasis"><em>json</em></span>)configuration store type and allow choosing an alternative,
+            such as <span class="emphasis"><em>Memory</em></span>) </p><pre class="screen">
+$ ./qpid-server -st memory
+        </pre><p> This can be useful when running tests, or always wishing to start the broker with the
+            same <a class="link" href="Java-Broker-Initial-Configuration-Initial-Config-Location.html" title="5.3.&#160;'Initial Configuration' Location">'Initial
+                Configuration'</a>
+        </p><p>Another example of broker startup with configuration in DERBY network server</p><pre class="screen">
+$ ./qpid-server -st JDBC \
+  -prop "systemConfig.connectionUrl=jdbc:derby://localhost:1527/path/to/store;create=true" \
+  -prop "systemConfig.username=test" -prop "systemConfig.password=password"
+        </pre></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Create-Initial-Config.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Initial-Configuration.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration-Configuration-Properties.html">Next</a></td></tr><tr><td wid [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration.html.in
new file mode 100644
index 0000000..b7c3e49
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Initial-Configuration.html.in
@@ -0,0 +1,10 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;5.&#160;Initial Configuration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Other-Services.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration-Location.html">Next</a></td></tr></table><hr /></div><div cla [...]
+            the Broker is started, subsequent management is performed using the <a class="link" href="Java-Broker-Management-Channel.html" title="Chapter&#160;6.&#160;Management Channels">Management interfaces</a></p><p> The configuration for each component is stored as an entry in the broker
+            configuration store, currently implemented as a JSON file which persists changes to
+            disk, BDB or Derby database or an in-memory store which does not. The following
+            components configuration is stored there: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Broker</p></li><li class="listitem"><p>Virtual Host Nodes</p></li><li class="listitem"><p>Loggers</p></li><li class="listitem"><p>Ports</p></li><li class="listitem"><p>Authentication Providers (optionally with Users for managing users Authentication Providers)</p></li><li class="listitem"><p>Access Control Providers</p></li>< [...]
+        </p><p>Broker startup involves two configuration related items, the 'Initial Configuration'
+            and the Configuration Store. When the broker is started, if a Configuration Store does
+            not exist at the current <a class="link" href="Java-Broker-Initial-Configuration-Location.html" title="5.2.&#160;Configuration Store Location">store location</a> then one will be initialised with the current <a class="link" href="Java-Broker-Initial-Configuration-Initial-Config-Location.html" title="5.3.&#160;'Initial Configuration' Location">'Initial
+                Configuration'</a>. Subsequent broker restarts will use the existing configuration
+            store and ignore the contents of the 'Initial Configuration'. </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Other-Services.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Initial-Configuration-Location.html">Next</a></td></tr><tr><td width="40%" align="left" valign= [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-Download.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-Download.html.in
new file mode 100644
index 0000000..cfe6578
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-Download.html.in
@@ -0,0 +1,3 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3.&#160;Download</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Installation-Prerequistes.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;2.&#160;Installation</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation-InstallationWindows.html">Next</a></td></tr></table><hr /></div>< [...]
+        signature matches that available on the site. Instructions are given on the download page.
+      </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Installation-Prerequistes.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Installation.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation-InstallationWindows.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-InstallationUnix.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-InstallationUnix.html.in
new file mode 100644
index 0000000..5ad7bcc
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-InstallationUnix.html.in
@@ -0,0 +1,25 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.5.&#160;Installation on UNIX platforms</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Installation-InstallationWindows.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;2.&#160;Installation</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation-OptionalDependencies.html">Next</a>< [...]
+    </p><p>Now chose a directory for Qpid broker installation. This directory will be used for the
+      Qpid JARs and configuration files. It need not be the same location as the work directory used
+      for the persistent message store or the log file (you will choose this location later). For
+      the remainder this example we will assume that location /usr/local/qpid has been
+      chosen.</p><p>Next extract the qpid-broker-8.0.5-bin.tgz package into the directory.</p><pre class="programlisting">mkdir /usr/local/qpid
+cd /usr/local/qpid
+tar xvzf qpid-broker-8.0.5-bin.tgz</pre><p>The extraction of the broker package will have created a directory
+      qpid-broker/8.0.5 within /usr/local/qpid</p><pre class="screen">ls -la qpid-broker/8.0.5/
+total 56
+drwxrwxr-x. 5 alex alex  4096 Nov 25 11:43 .
+drwxrwxr-x. 3 alex alex  4096 Nov 25 11:43 ..
+drwxr-xr-x. 2 alex alex  4096 Nov 24 23:38 bin
+drwxr-xr-x. 2 alex alex  4096 Nov 24 23:38 etc
+drwxrwxr-x. 2 alex alex  4096 Nov 25 11:43 lib
+-rw-r--r--. 1 alex alex 28143 Nov 24 23:38 LICENSE
+-rw-r--r--. 1 alex alex  3409 Nov 24 23:38 NOTICE
+-rw-r--r--. 1 alex alex   116 Nov 24 23:38 README.txt
+    </pre><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Installation-InstallationUnix-SettingQPIDWORK" />2.5.1.&#160;Setting the working directory</h3></div></div></div><p>Qpid requires a work directory. This directory is used for the default location of the
+        Qpid log file and is used for the storage of persistent messages. The work directory can be
+        set on the command-line (for the lifetime of the current shell), but you will normally want
+        to set the environment variable permanently the user's shell profile file (~/.bash_profile
+        for Bash etc).</p><pre class="screen">export QPID_WORK=/var/qpidwork
+      </pre><p>If the directory referred to by <a class="link" href="Java-Broker-Appendix-Environment-Variables.html#Java-Broker-Appendix-Environment-Variables-Qpid-Work">QPID_WORK</a> does not
+        exist, the Broker will attempt to create it on start-up. </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Installation-InstallationWindows.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Installation.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation-OptionalDependencies.html">N [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-InstallationWindows.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-InstallationWindows.html.in
new file mode 100644
index 0000000..d92b4ae
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-InstallationWindows.html.in
@@ -0,0 +1,26 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4.&#160;Installation on Windows</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Installation-Download.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;2.&#160;Installation</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation-InstallationUnix.html">Next</a></td></tr></table><hr / [...]
+    </p><p>Now chose a directory for Qpid broker installation. This directory will be used for the
+      Qpid JARs and configuration files. It need not be the same location as the work directory used
+      for the persistent message store or the log file (you will choose this location later). For
+      the remainder this example we will assume that location c:\qpid has been chosen.</p><p>Next extract the qpid-broker-8.0.5-bin.zip package into the directory, using either
+      the zip file handling offered by Windows (right click the file and select 'Extract All') or a
+      third party tool of your choice.</p><p>The extraction of the broker package will have created a directory
+      qpid-broker\\8.0.5 within c:\qpid</p><pre class="screen">
+ Directory of c:\qpid\qpid-broker\\8.0.5
+
+25/11/2015  11:29    &lt;DIR&gt;          .
+25/11/2015  11:29    &lt;DIR&gt;          ..
+25/11/2015  10:56    &lt;DIR&gt;          bin
+03/07/2015  08:06    &lt;DIR&gt;          etc
+25/11/2015  11:25    &lt;DIR&gt;          lib
+25/11/2015  10:56            28,143 LICENSE
+25/11/2015  10:56             3,409 NOTICE
+29/04/2015  09:13               116 README.txt
+3 File(s)         31,668 bytes
+5 Dir(s)  25,981,767,680 bytes free
+</pre><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Installation-InstallationWindows-SettingQPIDWORK" />2.4.1.&#160;Setting the working directory</h3></div></div></div><p>Qpid requires a work directory. This directory is used for the default location of the
+        Qpid log file and is used for the storage of persistent messages. The work directory can be
+        set on the command-line (for the lifetime of the command interpreter), but you will normally
+        want to set the environment variable permanently via the Advanced System Settings in the
+        Control Panel.</p><pre class="screen">set QPID_WORK=C:\qpidwork</pre><p>If the directory referred to by <a class="link" href="Java-Broker-Appendix-Environment-Variables.html#Java-Broker-Appendix-Environment-Variables-Qpid-Work">QPID_WORK</a> does not
+        exist, the Broker will attempt to create it on start-up.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Installation-Download.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Installation.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation-InstallationUnix.html">Next</a></td></tr [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-OptionalDependencies.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-OptionalDependencies.html.in
new file mode 100644
index 0000000..b79bbfe
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-OptionalDependencies.html.in
@@ -0,0 +1,3 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.6.&#160;Optional Dependencies</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Installation-InstallationUnix.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;2.&#160;Installation</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Getting-Started.html">Next</a></td></tr></table><hr /></div>< [...]
+      <a class="xref" href="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html" title="F.2.&#160;Installing External JDBC Driver">Section&#160;F.2, &#8220;Installing External JDBC Driver&#8221;</a> for details of
+      installing their dependencies.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Installation-InstallationUnix.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Installation.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Getting-Started.html">Next</a></td></tr><tr><td width="40%" align="left" valign [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-Prerequistes.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-Prerequistes.html.in
new file mode 100644
index 0000000..2c0661b
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation-Prerequistes.html.in
@@ -0,0 +1,20 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2.&#160;Prerequisites</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Installation.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;2.&#160;Installation</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation-Download.html">Next</a></td></tr></table><hr /></div><div class="section" [...]
+        operating system supporting Java 1.8 or higher<a href="#ftn.d0e97" class="footnote" id="d0e97"><sup class="footnote">[3]</sup></a>. This includes Linux,
+        Solaris, Mac OS X, and Windows 7/8/10 etc.</p><p> The broker has been tested with Java implementations from both Oracle and IBM. Whatever
+        platform you chose, it is recommended that you ensure it is patched with any critical
+        updates made available from the vendor. </p><p> Verify that your JVM is installed properly by following <a class="link" href="Java-Broker-Miscellaneous.html#Java-Broker-Miscellaneous-JVM-Verification" title="F.1.&#160;JVM Installation verification">these instructions.</a>
+      </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Installation-Prerequistes-Disk" />2.2.2.&#160;Disk</h3></div></div></div><p>The Broker installation requires approximately 20MB of free disk space.</p><p>The Broker also requires a working directory. The working directory is used for the
+        message store, that is, the area of the file-system used to record messages
+        whilst they are passing through the Broker. The working directory is also used for the
+        default location of the log file. The size of the working directory will depend on the how
+        the Broker is used.</p><p>The performance of the file system hosting the work directory is key to the performance
+        of Broker as a whole. For best performance, choose a device that has low latency and one
+        that is uncontended by other applications.</p><p>Be aware that there are additional considerations if you are considering hosting the
+        working directory on NFS.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Installation-Prerequistes-Memory" />2.2.3.&#160;Memory</h3></div></div></div><p>Qpid caches messages in memory for performance reasons, so in general, the Broker will
+        benefit from as much memory as possible. However, on a 32bit JVM, the maximum addressable
+        memory range for a process is 4GB, after leaving space for the JVM's own use this will give
+        a maximum usable size of approximately ~3.7GB.</p><p>See <a class="xref" href="Java-Broker-Runtime-Memory.html" title="9.11.&#160;Memory">Section&#160;9.11, &#8220;Memory&#8221;</a> for a full description of how memory is
+        used.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Installation-Prerequistes-OperatingSystemAccount" />2.2.4.&#160;Operating System Account</h3></div></div></div><p>Installation or operation of Qpid does <span class="emphasis"><em>not</em></span> require a privileged
+        account (i.e. root on UNIX platforms or Administrator on Windows). However it is suggested
+        that you use an dedicated account (e.g. qpid) for the installation and operation of the Broker.</p></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.d0e97" class="footnote"><p><a href="#d0e97" class="para"><sup class="para">[3] </sup></a>Java Cryptography Extension (JCE)
+        Unlimited Strength extension must be installed or enabled for some features.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Installation.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Installation.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation-Download.html">Next</a> [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation.html.in
new file mode 100644
index 0000000..84c00e9
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Installation.html.in
@@ -0,0 +1,2 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;2.&#160;Installation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Introduction.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation-Prerequistes.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class=" [...]
+      platforms.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Introduction.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation-Prerequistes.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&#160;1.&#160;Introduction&#160;</td><td width="20%" align="c [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Introduction.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Introduction.html.in
new file mode 100644
index 0000000..ac2a9e0
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Introduction.html.in
@@ -0,0 +1,10 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;1.&#160;Introduction</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Apache-Qpid-Broker-J-Book.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Installation.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage">< [...]
+      <a class="link" href="http://www.amqp.org" target="_top"> Advanced Message Queuing Protocol (AMQP)</a>. The Apache Qpid Broker-J
+    is actually one of two message brokers provided by the <a class="link" href="http://qpid.apache.org" target="_top">Apache Qpid project</a>: Qpid Broker-J and the C++
+    Broker.</p><p>This document relates to the Apache Qpid Broker-J. The <a class="link" href="/releases/qpid-cpp-{{current_cpp_release}}/cpp-broker/book/" target="_top">C++ Broker is
+    described separately</a>.</p><p><span class="emphasis"><em>Headline features</em></span></p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem" style="list-style-type: circle"><p>100% Java implementation - runs on any platform supporting Java 1.8 or higher</p></li><li class="listitem" style="list-style-type: circle"><p>Messaging clients support in Java (JMS 1.1 and 2.0 compliance), C++, Python and more.</p></li><li class="listitem [...]
+        etc).</p></li><li class="listitem" style="list-style-type: circle"><p>Transaction support including XA<a href="#ftn.d0e41" class="footnote" id="d0e41"><sup class="footnote">[1]</sup></a></p></li><li class="listitem" style="list-style-type: circle"><p>Supports for all versions of the AMQP protocol (0-8, 0-9, 0-9-1, 0-10 and 1.0).</p></li><li class="listitem" style="list-style-type: circle"><p>Supports for AMQP over websockets.</p></li><li class="listitem" style="list-style-type: c [...]
+        External, OAuth2, and file-based authentication mechanisms.</p></li><li class="listitem" style="list-style-type: circle"><p>Support for message compression</p></li><li class="listitem" style="list-style-type: circle"><p>Pluggable storage architecture with implementations including <a class="link" href="http://db.apache.org/derby/" target="_top">Apache
+        Derby</a>, <a class="link" href="${oracleBdbProductOverviewUrl}" target="_top">
+        Oracle BDB JE</a>, and External Databases.
+      </p></li><li class="listitem" style="list-style-type: circle"><p>Web based management interface and programmatic management interfaces via REST.</p></li><li class="listitem" style="list-style-type: circle"><p>SSL support</p></li><li class="listitem" style="list-style-type: circle"><p>High availability (HA) support.<a href="#ftn.d0e77" class="footnote" id="d0e77"><sup class="footnote">[2]</sup></a></p></li></ul></div><div class="footnotes"><br /><hr style="width:100; text-align:left [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel-AMQP-Intrinstic.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel-AMQP-Intrinstic.html.in
new file mode 100644
index 0000000..71e1ea1
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel-AMQP-Intrinstic.html.in
@@ -0,0 +1,3 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.5.&#160;AMQP Intrinstic Management</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Metrics.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;6.&#160;Management Channels</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Entities.html">Next</a></td></tr></table [...]
+        and Bindings.</p><p>The exact details of how to utilise this commands depends of the client. See the
+        documentation accompanying the client for details.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Metrics.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Management-Channel.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Entities.html">Next</a></td></tr><tr><td w [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel-REST-API.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel-REST-API.html.in
new file mode 100644
index 0000000..dc3bb10
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel-REST-API.html.in
@@ -0,0 +1,251 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.3.&#160;REST API</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Channel-Web-Console.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;6.&#160;Management Channels</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Metrics.html">Next</a></td></tr></table><hr /></div><di [...]
+      for use by developers who wish to automate the management or monitoring of the Broker. It
+      is also very useful for adhoc monitoring on the command line using tools such as
+        <code class="literal">curl</code>.</p><p>The REST API provides access to all of the Broker's entities using hierarchical paths
+      expressed by the URI. Responses are returned in JSON format.</p><p>The <code class="literal">GET</code> method request retrieves information about an object, the
+        <code class="literal">DELETE</code> method requests the removal of one, and the <code class="literal">PUT</code>
+      or <code class="literal">POST</code> methods perform updates or create new objects. The
+        <code class="literal">POST</code> method is also used to invoke operations.</p><p>The REST API is versioned with the version number embedded within the URI. The general form
+      of the URI is <code class="literal">/api/&lt;version&gt;</code> where &lt;version&gt; is a dot separated
+      major and minor model version prefixed with "v", for example, "v6.1" (without the quotation marks).
+      For convenience the alias <code class="literal">latest</code> (<code class="literal">/api/latest</code>) signifies the
+      latest supported version.</p><p>There are also some ancillary services under URI <code class="literal">/service</code> used for
+      authentication and logout.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-REST-API-APIDocs" />6.3.2.&#160;REST API documentation</h3></div></div></div><p>REST API documentation is available on-line from any Broker at location
+        <code class="literal">/apidocs</code>. It is also linked from the menu of the Web Management Console.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-REST-API-Authentication" />6.3.3.&#160;Authentication</h3></div></div></div><p>Before you can use the REST API, you must authenticate. Authentication decisions are made
+      by the <a class="link" href="Java-Broker-Concepts-Authentication-Providers.html" title="4.9.&#160;Authentication Providers">authentication
+        provider</a> associated with HTTP <a class="link" href="Java-Broker-Concepts-Ports.html" title="4.8.&#160;Ports">port</a>
+      on which you connect.</p><p>You may authenticate using <a class="link" href="https://www.ietf.org/rfc/rfc4422.txt" target="_top">SASL</a>
+        (<code class="literal">/service/sasl</code>) or <a class="link" href="https://tools.ietf.org/html/rfc2617" target="_top">HTTP
+        Basic Authentication</a>. The latter is convienent when using tools such as
+        <code class="literal">curl</code> on the command line. This is illustrated in the examples
+      below.</p><p>For SASL authentication use a <code class="literal">GET</code> request to
+        <code class="literal">/service/sasl</code> to get a list of supported SASL mechanisms, and use
+        <code class="literal">PUT</code> to the same URL to perform the SASL negotiation.</p><p>It is possible to end an authenticated session using
+      <code class="literal">/service/logout</code>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-REST-API-Create" />6.3.4.&#160;Configured Object creation</h3></div></div></div><p>Methods PUT or POST can be used to create ConfiguredObject.</p><p> ConfiguredObject can be created by submitting PUT request against ConfiguredObject full
+      URI (the one ending with configured object name) or by submitting PUT/POST request against
+      parent URI. The request encoding should be json (application/json) and request body should
+      contain attributes values in json format. On successful completion of operation a response
+      should be returned having response status code set to 201 and response header "Location" set
+      to ConfiguredObject full URI. If object with a such name/id already exist and POST/PUT
+      requests is made against parent URI, an error response should be returned having response code
+      409 (conflict) and body containing the json with the reason of operation failure. If object
+      with a such name/id already exist and and PUT request is made against ConfiguredObject full
+      URI, then ConfiguredObject update should be performed and http status code 200 should be
+      returned. If ConfiguredObject cannot be created because of validation failure(s) the response
+      should have http status code set 422 (Unprocessible Entity) and body should contain json with
+      the reason of operation failure. On any other failure to create ConfiguredObject the response
+      should have status code set to 400 (Bad Request) and payload should contain a json with error
+      explaining the exact reason of failure. </p><div class="example"><a id="d0e2126" /><p class="title"><strong>Example&#160;6.1.&#160;Examples of REST calls for Queue creation</strong></p><div class="example-contents"><p> To create Queue with name "my-queue" on a virtual host with name "vh" (which is
+        contained within virtual host node with name "vhn") either of the following requests should
+        be made: </p><pre class="screen">PUT /api/latest/queue/vhn/vh HTTP/1.1</pre><pre class="screen">POST /api/latest/queue/vhn/vh HTTP/1.1</pre><pre class="screen">PUT /api/latest/queue/vhn/vh/my-queue HTTP/1.1</pre><p> Response code 201 should be returned on successful queue creation. Response header
+        "Location" should be set to "/api/latest/queue/test/my-queue". If queue with name "my-queue"
+        already exists and either of 2 first requests above were used, an error response with
+        response code 409 (conflict) and body containing json with message that queue exists should
+        be returned. If queue with name "my-queue" exists and last request is used, then Queue
+        update should occur. </p></div></div><br class="example-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-REST-API-Update" />6.3.5.&#160;Configured Object update</h3></div></div></div><p>Methods PUT or POST can be used to update ConfiguredObject.</p><p> ConfiguredObject can be updated by submitting PUT or POST request against
+      ConfiguredObject full URI (the one ending with configured object name). The request encoding
+      should be json (application/json) and request body should contain a ConfiguredObject json
+      (with all or only modified attributes). On successful completion of operation a response code
+      200 should be returned. If ConfiguredObject does not exists and PUT method is used, such
+      object should be created (201 response will be returned in this case). If ConfiguredObject
+      does not exists and POST method is used, an error response should be returned having response
+      status code 404 and payload with json explaining the problem. If any error occur on update, a
+      response with response code 400 or 422 or 404 should be sent back to the client containing
+      json body with error details. </p><div class="example"><a id="d0e2146" /><p class="title"><strong>Example&#160;6.2.&#160;Examples of REST calls for Queue update</strong></p><div class="example-contents"><p>To update Queue with name "my-queue" on a virtual host with name "vh" (contained in
+        virtual host node with name "vhn") either of the following requests can be made:</p><pre class="screen">POST /api/latest/queue/vhn/vh/my-queue HTTP/1.1</pre><pre class="screen">POST /api/latest/queue/vhn/vh/my-queue HTTP/1.1</pre></div></div><br class="example-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-REST-API-Delete" />6.3.6.&#160;Configured Object deletion</h3></div></div></div><p>Method DELETE c [...]
+      be deleted with update request having desiredState attribute set to value "DELETED". POST or
+      PUT methods can be used in this case.</p><p>On successful completion of operation a response code 200 should be returned.</p><p>With DELETE method object ConfiguredObject in following ways:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>by submitting DELETE request using ConfiguredObject full URI (the one ending with
+          configured object name)</p></li><li class="listitem"><p>by submitting DELETE request using parent URI and providing parameters having the same
+          names as children attributes, for example, id, name, etc. Multiple children can be deleted
+          in a such way. Many "id" parameters can be specified in such requests. Only children with
+          matching attribute values will be deleted.</p></li></ul></div><div class="example"><a id="d0e2171" /><p class="title"><strong>Example&#160;6.3.&#160;Examples of REST calls for Queue deletion</strong></p><div class="example-contents"><p>To delete Queue with name "my-queue" on a virtual host with name "vh" (contained in
+        virtual host node with name "vhn") either of the following requests can be made:</p><pre class="screen">DELETE /api/latest/queue/vhn/vh/my-queue HTTP/1.1</pre><pre class="screen">DELETE /api/latest/queue/vhn/vh?name=my-queue HTTP/1.1</pre><pre class="screen">DELETE /api/latest/queue/vhn/vh?id=real-queue-id HTTP/1.1</pre></div></div><br class="example-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-REST-A [...]
+      all queues beneath the virtualhost called <code class="literal">vh</code>. A collection will be returned.
+    </p><pre class="screen">GET /api/latest/queue/vhn/vh</pre><p>Request parameters (with the same name as an attribute) are used to filter the returned collection.
+      For instance, to filter those queues of type <code class="literal">standard</code>:</p><pre class="screen">GET /api/latest/queue/vhn/vh?type=standard</pre><p>Additional parameters supported in GET requests:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">depth</span></dt><dd><p>To restrict the depth of hierarchy of configured objects to return in
+            response</p></dd><dt><span class="term">actuals</span></dt><dd><p>If set to "true" attribute actual values are returned instead of effective</p></dd><dt><span class="term">excludeInheritedContext</span></dt><dd><p>If set to "false" the inherited context is included from the object's ancestors. Default is true.</p></dd><dt><span class="term">oversize</span></dt><dd><p>Sets the maximum length for values of over-sized attributes to trim</p></dd><dt><span class="term">extractInit [...]
+      parameters. Pass parameters using a JSON request body containing a map with a map entry for
+      each parameter. </p><div class="example"><a id="d0e2243" /><p class="title"><strong>Example&#160;6.4.&#160;Example REST call invoking the operation clear queue</strong></p><div class="example-contents"><p>To clear the queue with name "my-queue" on a virtual host with name "vh".</p><pre class="screen">POST api/latest/queue/vhn/vh/my-queue/clearQueue HTTP/1.1</pre></div></div><br class="example-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a  [...]
+              <p>200</p>
+            </td><td>
+              <p>REST request is successfully completed. This status code can be returned by
+                update, delete and get requests.</p>
+            </td></tr><tr><td>
+              <p>201</p>
+            </td><td>
+              <p>New configured object is created. It is returned by REST PUT and POST requests
+                for creation of configured objects.</p>
+            </td></tr><tr><td>
+              <p>400</p>
+            </td><td>
+              <p>REST request cannot be performed due to errors in request. It can be returned
+                from create, update and delete requests. The details of a problem are provided in
+                the response payload in json format.</p>
+            </td></tr><tr><td>
+              <p>401</p>
+            </td><td>
+              <p>The request requires user authentication</p>
+            </td></tr><tr><td>
+              <p>403</p>
+            </td><td>
+              <p>Execution of request is not allowed due to failure to authorize user
+                operation.</p>
+            </td></tr><tr><td>
+              <p>404</p>
+            </td><td>
+              <p> The requested configured object cannot be found. This status code can be
+                returned from POST update requests if configured object does not exist. The reason
+                for the status code is provided in the response payload in json format. </p>
+            </td></tr><tr><td>
+              <p>409</p>
+            </td><td>
+              <p>The request can not be performed because its execution can create conflicts in
+                the broker. This status code can be returned from POST/PUT create requests against
+                parent URI if configured object with requested name or id already exists. The status
+                code 409 can also be returned if removal or update of configured object can violate
+                system integrity. The reason for the status code is provided in the response payload
+                in json format. </p>
+            </td></tr><tr><td>
+              <p>422</p>
+            </td><td>
+              <p>The request can not be performed because provided information either incomplete
+                or invalid. This status code can be returned from create or update requests. The
+                reason for the status code is provided in the response payload in json
+                format.</p>
+            </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-Management-Channel-REST-API-Examples" />6.3.10.&#160;Examples of REST requests with curl</h3></div></div></div><div class="example"><a id="d0e2357" /><p class="title"><strong>Example&#160;6.5.&#160;Examples of queue creation using curl (authenticating as user admin):</strong></p><div class="example-contents"><pre clas [...]
+#create a durable queue
+curl --user admin -X PUT  -d '{"durable":true}' http://localhost:8080/api/latest/queue/&lt;vhostnode name&gt;/&lt;vhostname&gt;/&lt;queuename&gt;
+#create a durable priority queue
+curl --user admin -X PUT  -d '{"durable":true,"type":"priority"}' http://localhost:8080/api/latest/queue/&lt;vhostnode name&gt;/&lt;vhostname&gt;/&lt;queuename&gt;
+            </pre></div></div><br class="example-break" /><p> NOTE: These curl examples utilise an unsecured HTTP transport. To use the examples it is
+      first necessary enable Basic authentication for HTTP within the HTTP Management Configuration
+      (it is off by default). For details see <a class="xref" href="Java-Broker-Management-Managing-Plugin-HTTP.html" title="7.15.&#160;HTTP Plugin">Section&#160;7.15, &#8220;HTTP Plugin&#8221;</a>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-REST-Query-API" />6.3.11.&#160;Query API</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Management-Channel-REST-Query-API-Introduction" />6.3.11.1.&#160;Introduction</h4></div></div></div><p>The <span class="emphasis"><em>Qpid Broker-J</em></span> provides a powerful feature called
+            the <span class="emphasis"><em>Query API</em></span>. This allows the retrieval of the existing configured objects attributes
+            satisfying user-provided queries.</p><p>Developers and operators can use this feature to monitor the Broker.
+            For example, using <span class="emphasis"><em>Query API</em></span> one can find all queues with queue depth
+            exceeding some limit or existing connections made from a particular location(s).</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Management-Channel-REST-Query-API-Overview" />6.3.11.2.&#160;Query API Overview</h4></div></div></div><p>
+            When using the <span class="emphasis"><em>Query API</em></span> one specifies the category of the object
+            to query, a list of attributes to return in the result set, an optional where clause,
+            expressed as a predicate, that determines the filtering criteria, ordering, and
+            limit/offset. The features should be readily recognisable to anyone who has has familiarity
+            with SQL.
+        </p><p>Queries associate with either the <span class="emphasis"><em>broker</em></span> as a whole, or an
+            individual  <span class="emphasis"><em>virtualhost</em></span>.  Queries associated with the Broker
+            can query any object within the Broker. Queries associated with a virtualhost are limited
+            to the objects of the virtualhost itself.   For instance a queue query associated
+            with a virtualhost queries only the queues belonging to that virtualhost.  On the other
+            hand, a queue query associated with the Broker sees all the queues belonging on the entire
+            Broker.
+        </p><p>
+            </p><div class="table"><a id="d0e2404" /><p class="title"><strong>Table&#160;6.2.&#160;Query API URLs</strong></p><div class="table-contents"><table summary="Query API URLs" border="1"><colgroup><col class="queryurl" /><col class="description" /></colgroup><thead><tr><th>Query API URL</th><th>Description</th></tr></thead><tbody><tr><td>
+                                <p>/api/latest/querybroker/&lt;configured object category name&gt;</p>
+                                <p>/api/&lt;version&gt;/querybroker/&lt;configured object category name&gt;</p>
+                            </td><td>
+                                <p>Query API URL fragment to query the specified object type across the entire broker</p>
+                            </td></tr><tr><td>
+                                <p>/api/latest/queryvhost/&lt;virtual host node name&gt;/&lt;virtual host name&gt;/&lt;configured object category name&gt;</p>
+                                <p>/api/&lt;version&gt;/queryvhost/&lt;virtual host node name&gt;/&lt;virtual host name&gt;/&lt;configured object category name&gt;</p>
+                            </td><td>
+                                <p>Query API URL fragment to query the specified object type for a specific virtualhost</p>
+                            </td></tr></tbody></table></div></div><p><br class="table-break" />
+        </p><p>
+            The QueryAPI accepts <code class="literal">select</code>, <code class="literal">where</code>, <code class="literal">orderBy</code>,
+            <code class="literal">limit</code> and <code class="literal">offset</code> request parameters.
+            </p><div class="table"><a id="d0e2463" /><p class="title"><strong>Table&#160;6.3.&#160;Query API request parameters</strong></p><div class="table-contents"><table summary="Query API request parameters" border="1"><colgroup><col class="paramname" /><col class="description" /></colgroup><thead><tr><th>Parameter Name</th><th>Parameter Description</th></tr></thead><tbody><tr><td>
+                                <p><code class="literal">select</code></p>
+                            </td><td>
+                                <p>The <code class="literal">select</code> defines the columns of the result set.  It is a
+                                    comma-separated list of expressions.  At its most simple, an expression can be
+                                    the name of the attribute (e.g. <code class="literal">queueDepthBytes</code>), but more complex
+                                    <a class="link" href="Java-Broker-Management-Channel-REST-API.html#Java-Broker-Management-Channel-REST-Query-API-Expressions" title="Query API expressions">expressions</a> are also supported.</p>
+                                <p>Columns within the result set are named.  For expressions that are simple attribute
+                                    names, the column names will follow the attributes themselves.  By default, other
+                                    expressions will have a no name.</p>
+                                <p>Column names can be overridden with an <code class="literal">AS</code>
+                                    clause e.g. <code class="literal">now() AS currentDate</code>
+                                </p>
+                            </td></tr><tr><td>
+                                <p><code class="literal">where</code></p>
+                            </td><td>
+                                <p>The <code class="literal">where</code> provides a boolean expression defining the result set filtering.</p>
+                                <p>The syntax of the <a class="link" href="Java-Broker-Management-Channel-REST-API.html#Java-Broker-Management-Channel-REST-Query-API-Expressions" title="Query API expressions">expression</a>
+                                    is based on a subset of the SQL92 conditional expression syntax and is similar to selector expressions in JMS e.g.
+                                    <code class="literal">queueDepthBytes &gt; 16384 AND name like '%flow_queue'</code>.
+                                </p>
+                            </td></tr><tr><td>
+                                <p><code class="literal">orderBy</code></p>
+                            </td><td>
+                                <p>Ordering conditions; the syntax of the
+                                    <a class="link" href="Java-Broker-Management-Channel-REST-API.html#Java-Broker-Management-Channel-REST-Query-API-Expressions" title="Query API expressions">
+                                        expression
+                                    </a>
+                                    is based on a subset of
+                                    the SQL92 ordering expression syntax. Similar to ordering expressions in SQL,
+                                    one can specify in ordering expression attributes names, sub-expressions
+                                    or indexes (starting from 1) of attributes or expressions specified in select.
+                                </p>
+                            </td></tr><tr><td>
+                                <p><code class="literal">limit</code></p>
+                            </td><td>
+                                <p>The maximum number of results to provide starting from given offset.</p>
+                            </td></tr><tr><td>
+                                <p><code class="literal">offset</code></p>
+                            </td><td>
+                                <p>An offset in results (default is 0) to provide results from.</p>
+                            </td></tr></tbody></table></div></div><p><br class="table-break" />
+        </p><div class="example"><a id="d0e2573" /><p class="title"><strong>Example&#160;6.6.&#160;Example of a Query API request to retrieve queue names and depths.</strong></p><div class="example-contents"><pre class="screen">GET api/latest/querybroker/queue?select=name,queueDepthBytes,queueDepthMessages&amp;where=queueDepthBytes&gt;0&amp;orderBy=1 desc,2 desc&amp;offset=0&amp;limit=100 HTTP/1.1</pre></div></div><br class="example-break" /></div><div class="section"><div class="titlepa [...]
+            </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">headers</code></span></dt><dd><p>ordered list of result set column names derived from the <code class="literal">select</code>
+                            clause. Note that anonymous expressions (that is, those expressed without an
+                            <code class="literal">AS</code>) will have empty column name.</p></dd><dt><span class="term"><code class="literal">results</code></span></dt><dd><p>two dimensional array containing the result-set</p></dd><dt><span class="term"><code class="literal">total</code></span></dt><dd><p>The <span class="emphasis"><em>total</em></span> number of results matching the where criteria.</p></dd></dl></div><p>
+        </p><div class="example"><a id="d0e2618" /><p class="title"><strong>Example&#160;6.7.&#160;Example of Query API call for queue names and depths.</strong></p><div class="example-contents"><pre class="screen">GET api/latest/querybroker/queue?select=name,queueDepthBytes,queueDepthMessages&amp;where=queueDepthBytes&gt;0&amp;orderBy=1 desc,2 desc&amp;offset=0&amp;limit=100 HTTP/1.1</pre><pre class="programlisting">
+{
+    "headers" : [ "name", "queueDepthBytes", "queueDepthMessages" ],
+    "results" : [ [ "foo", 312, 26], [ "bar", 300, 24 ] ],
+    "total" : 2
+}
+            </pre></div></div><br class="example-break" /><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="Java-Broker-Management-Channel-REST-Query-API-Expressions" />Query API expressions</h5></div></div></div><p>Expressions within the <code class="literal">select</code>, <code class="literal">where</code> and <code class="literal">orderBy</code>
+                clauses can be comprised in the following manner. Expressions can be nested to arbitary depth. Parentheses
+                allow for precedence to be explicitly denoted.
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>variable name which can be an attribute name e.g <code class="literal">queueDepthBytes</code> or
+                a reference to a parent attribute <code class="literal">$parent.name</code></p></li><li class="listitem"><p>literal e.g. <code class="literal">3</code> or <code class="literal">'foo'</code></p></li><li class="listitem"><p>functions - see below e.g. <code class="literal">now()</code> or <code class="literal">to_string(createdDate, '%tm/%td/%ty', 'EST')</code></p></li><li class="listitem"><p>arithmetic operations e.g. <code class="literal">3 * 4</code> or <code class="liter [...]
+                </p><div class="table"><a id="d0e2674" /><p class="title"><strong>Table&#160;6.4.&#160;Query API functions</strong></p><div class="table-contents"><table summary="Query API functions" border="1"><colgroup><col class="functionname" /><col class="description" /></colgroup><thead><tr><th>Function Name</th><th>Function Description</th></tr></thead><tbody><tr><td>
+                                <p><code class="literal">concat(obj[,obj..])</code></p>
+                            </td><td>
+                                <p>concatenates the given objects into a string</p>
+                            </td></tr><tr><td>
+                                <p><code class="literal">now()</code></p>
+                            </td><td>
+                                <p>returns current date and time</p>
+                            </td></tr><tr><td>
+                                <p><code class="literal">to_date(object)</code></p>
+                            </td><td>
+                                <p>converts the first parameter, which must be a string. into a date.  The
+                                string must be in ISO-8601 format e.g. <code class="literal">1970-01-01T10:00:00Z</code>.</p>
+                            </td></tr><tr><td>
+                                <p><code class="literal">date_add(object, duration)</code></p>
+                            </td><td>
+                                <p>adds the given ISO-8601 duration <code class="literal">duration</code> e.g.
+                                    <code class="literal">P1D</code> or <code class="literal">-PT10H</code> to the date provided by the
+                                    first parameter.</p>
+                            </td></tr><tr><td>
+                                <p><code class="literal">to_string(object[, format[, timezone]])</code></p>
+                            </td><td>
+                                <p>Converts given object into a string.</p>
+                                <p>If the format argument is present, it must be a Java
+                                    <a class="link" href="http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html" target="_top">Formatter</a>
+                                    compliant string e.g. <code class="literal">%f</code> or <code class="literal">%tY-%tm-%td</code>.
+                                </p>
+                                <p>The timezone argument is significant if the object is a Date. If the timezone
+                                    argument is specified it must be a valid Java timezone name. The date is converted
+                                    to the specified timezone before being formatted by the<code class="literal">format</code>.
+                                    If the timezone is omitted <code class="literal">UTC</code> is assumed.
+                                </p>
+                            </td></tr></tbody></table></div></div><p><br class="table-break" />
+            </p></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-REST-API-CORS" />6.3.12.&#160;Cross Origin Resource Sharing (CORS)</h3></div></div></div><p> The Broker supports Cross Origin Resource Sharing (CORS)
+      to allow web management consoles other than the one embedded in the
+      broker to use the REST API.  This feature must be enabled by configuring
+      the CORS Allow Origins and related attributes on the
+      <a class="xref" href="Java-Broker-Management-Managing-Plugin-HTTP.html" title="7.15.&#160;HTTP Plugin">Section&#160;7.15, &#8220;HTTP Plugin&#8221;</a>
+    </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Channel-Web-Console.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Management-Channel.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Metrics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">6.2.&#160 [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel-Web-Console.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel-Web-Console.html.in
new file mode 100644
index 0000000..171f009
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel-Web-Console.html.in
@@ -0,0 +1,48 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.2.&#160;Web Management Console</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Channel.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;6.&#160;Management Channels</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Channel-REST-API.html">Next</a></td></tr></table><hr  [...]
+        and Control of the Broker. From here, all aspects of the Broker can be controlled,
+        including: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>add, remove and monitor queues</p></li><li class="listitem"><p>inspect, move, copy or delete messages</p></li><li class="listitem"><p>add, remove and monitor virtualhosts</p></li><li class="listitem"><p>configure and control high availability</p></li></ul></div><p>
+    </p><p>The remainder of the section provides an introduction to the web management console and
+        its use.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Accessing" />6.2.1.&#160;Accessing the Console</h3></div></div></div><p>The Web Management Console is provided by the HTTP Management Plugin. Providing the
+            HTTP Management Plugin is in its default configuration, the Web Management Console can
+            be accessed by pointing a browser at the following URL:</p><p>
+            <code class="literal">http://myhost.mydomain.com:8080</code>
+        </p><p>The Console will prompt you to login using a username and password.</p><div class="figure"><a id="d0e1839" /><p class="title"><strong>Figure&#160;6.1.&#160;Web Management Console - Authentication</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Auth.png" height="360" alt="Web Console Authentication" />< [...]
+            of the screen are now explained.</p><div class="figure"><a id="d0e1853" /><p class="title"><strong>Figure&#160;6.2.&#160;Web Management Orientation - Console</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Console.png" height="360" alt="The Web Console" /></td></tr></table></div></div></div><br class="fig [...]
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>A</em></span> - Hierarchy view. Expandable/collapsible view
+                        showing all entities within the Broker. Double click on an entity name to
+                        cause its tab to be opened. </p></li><li class="listitem"><p><span class="emphasis"><em>B</em></span> - Tab. Shows the details of an entity including its
+                        attributes and its child entities. </p></li><li class="listitem"><p><span class="emphasis"><em>C</em></span> - Occluded tab. Click tab name to bring the tab to
+                        the front.</p></li><li class="listitem"><p><span class="emphasis"><em>D</em></span> - Auto restore check box. Checked tabs will be
+                        automatically restored on subsequent login.</p></li><li class="listitem"><p><span class="emphasis"><em>E</em></span> - Close. Click to close the tab.</p></li><li class="listitem"><p><span class="emphasis"><em>F</em></span> - User Menu. Access to Preferences, Logout and
+                        Help.</p></li></ul></div><p>
+        </p><div class="figure"><a id="Java-Broker-Management-Channel-Web-Console-Orientation-Tab" /><p class="title"><strong>Figure&#160;6.3.&#160;Web Management Orientation - Tab</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Tab.png" height="360" alt="A tab within the Web Consle" /></td></tr></table></div></div>< [...]
+                        entity. Click the panel title bar opens/closes the panel.</p></li><li class="listitem"><p><span class="emphasis"><em>2</em></span> - Child Panels. Panels containing a table listing
+                        the children of the entity. Click the panel title bar opens/closes the
+                        panel.</p></li><li class="listitem"><p><span class="emphasis"><em>3</em></span> - Child Row. Row summarizing a child entity. Double
+                        click to open the child tab.</p></li><li class="listitem"><p><span class="emphasis"><em>4</em></span> - Child Operations. Buttons to add a new child or
+                        perform operations on existing children.</p></li></ul></div><p>
+        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities" />6.2.3.&#160;Managing Entities</h3></div></div></div><p>All the Entities of the Broker of can be managed through the Web Console.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Add" />6.2.3.1.&#160;Adding Entities</h4></div></div></div> [...]
+                on the Child Panel on the Parent's tab. Clicking the Add button causes an add
+                dialogue to be displayed.</p><p>Add dialogues allow you to set the attributes of the new child, and set context
+                variables. Most fields on the add dialogue have field level help that give more
+                details about the attribute and any default value (which may be expressed in terms
+                of a context variable) that will take effect if you leave the attribute unset. An
+                example add dialogue is shown in the figure that follows.</p><div class="figure"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Add-Dialogue" /><p class="title"><strong>Figure&#160;6.4.&#160;Web Management Orientation - Add Dialogue</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web- [...]
+                button on the tab corresponding to the Entity itself. Editing an entity lets you
+                change some of its attributes and modify its context variables. Most fields on the
+                edit dialogue have field level help that give more details about the attribute and
+                any default value. An example edit dialogue is shown in the figure that
+                follows.</p><div class="figure"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Edit-Dialogue" /><p class="title"><strong>Figure&#160;6.5.&#160;Web Management Orientation - Edit Dialogue</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Edit-Dialogue.png" height="360" alt="Example ed [...]
+                    <code class="literal">Delete</code> button on the tab corresponding to the Entity itself.
+                For some child types, you can select many children from the parent's type and delete
+                many children at once.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Context-Variables" />6.2.3.4.&#160;Context Variables</h4></div></div></div><p>All Entities within the Broker have the ability to have <a class="link" href="Java-Broker-Management-Managing-Entities.html#Java-Broker-Management-Managing-Entities-General" title="7.1.&#160;General Description">context
+                    variables</a> associated with them.</p><p>Most add and edit dialogues have the ability to make context variable assignments.
+                To add/change/remove a context variable, click the Context Variable panel to expand
+                it.</p><div class="figure"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Context-Variables-Dialogue" /><p class="title"><strong>Figure&#160;6.6.&#160;Web Management Orientation - Context Variables</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-ContextVar.png" height="360" alt="E [...]
+                local context variables in bold, and any inherited from above in normal face.</p><p>Since context variables can be defined in terms of other context variables, the
+                display has two value columns: actual and effective. Actual shows the value truely
+                associated with the variable, where as effective shows the resulting value, after
+                variable expansion has taken place.</p><p>The <code class="literal">+</code> button allows new variables to be added. The
+                    <code class="literal">-</code> button removes existing ones.</p><p>You change an existing local variables defintion by clicking on the actual value.
+                You can also <span class="emphasis"><em>provide a local definition</em></span> for an inherited value
+                by clicking on the actual value and typing its new value.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Channel.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Management-Channel.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Channel-REST-API.html">N [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel.html.in
new file mode 100644
index 0000000..a6fe6d6
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Channel.html.in
@@ -0,0 +1,13 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;6.&#160;Management Channels</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Virtual-Host-Initial-Configuration.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Channel-Web-Console.html">Next</a></td></tr></table><hr /></div [...]
+        Console and a REST API.</p></li><li class="listitem"><p>AMQP - The AMQP protocols 0-8..0-10 allow for some management of Exchanges, Queue and
+        Bindings. This will be superseded by AMQP 1.0 Management. It is suggested that new users
+        favour the Management facilities provided by the Web Console/REST API.</p></li></ul></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Management-Channel-HTTP" />6.1.&#160;HTTP Management</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-HTTP-Introduction" />6.1.1.&#160;Introduction</h3></div></div></div><p>The HTTP Management plugin  [...]
+            Broker. The plugin actually provides two interfaces:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a class="link" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2.&#160;Web Management Console">Web Management
+                            Console</a> - rich web based interface for the management of the
+                        Broker.</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Management-Channel-REST-API.html" title="6.3.&#160;REST API">REST API</a> -
+                        REST API providing complete programmatic management of the Broker.</p></li></ul></div><p>The Web Management Console itself uses the REST API, so every function you can perform
+            through the Web Management Console can be also be scripted and integrated into other
+            systems. This provides a simple integration point allowing the Broker to monitored and
+            controlled from systems such as Naoios or BMC Control-M.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-HTTP-DefaultConfiguration" />6.1.2.&#160;Default Configuration</h3></div></div></div><p>By default, the Broker is shipped with HTTP enabled running port 8080. The HTTP plugin
+            is configured to require SASL authentication. The port is not SSL protected.</p><p>The settings can be changed by configuring the HTTP plugin and/or the port configured
+            to serve HTTP.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Virtual-Host-Initial-Configuration.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Channel-Web-Console.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.8.&#160;Virtualhost Ini [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Access-Control-Providers.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Access-Control-Providers.html.in
new file mode 100644
index 0000000..516848e
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Access-Control-Providers.html.in
@@ -0,0 +1,3 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.14.&#160;Access Control Providers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Group-Providers.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Plugin-HTTP.html">Next</a> [...]
+            Provider</a> governs who may do what within the Broker. It governs both messaging and
+        management.</p><p>See <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="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Group-Providers.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Manag [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Authentication-Providers.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Authentication-Providers.html.in
new file mode 100644
index 0000000..8052ee7
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Authentication-Providers.html.in
@@ -0,0 +1,20 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.10.&#160;Authentication Providers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Ports.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Keystores.html">Next</a></td></tr></ [...]
+        <a class="link" href="Java-Broker-Concepts-Authentication-Providers.html" title="4.9.&#160;Authentication Providers">Authentication
+            Providers</a> are used by <a class="link" href="Java-Broker-Concepts-Ports.html" title="4.8.&#160;Ports">Ports</a> to
+        authenticate connections.</p><p>See <a class="xref" href="Java-Broker-Security.html#Java-Broker-Security-Authentication-Providers" title="8.1.&#160;Authentication Providers">Section&#160;8.1, &#8220;Authentication Providers&#8221;</a></p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Authentication-Providers-Types" />7.10.1.&#160;Types</h3></div></div></div><p> The following authentication providers are supported:
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a class="link" href="Java-Broker-Security.html#Java-Broker-Security-Anonymous-Provider" title="8.1.5.&#160;Anonymous">Anonymous</a>: allows anonymous connections to the
+                    Broker</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Security.html#Java-Broker-Security-External-Provider" title="8.1.4.&#160;External (SSL Client Certificates)">External</a>: delegates to external mechanisms such as SSL Client
+                        Certificate Authentication</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Security.html#Java-Broker-Security-Kerberos-Provider" title="8.1.2.&#160;Kerberos">Kerberos</a>: uses Kerberos to authenticate connections via
+                        GSS-API.</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Security.html#Java-Broker-Security-LDAP-Provider" title="8.1.1.&#160;Simple LDAP">SimpleLDAP</a>: authenticate users against an LDAP
+                    server.</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Security.html#Java-Broker-Security-OAuth2-Provider" title="8.1.3.&#160;OAuth2">OAuth2</a>: authenticate users against a OAuth2 Authorization
+                    Server.</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Security.html#Java-Broker-Security-ScramSha-Providers" title="8.1.6.&#160;SCRAM SHA">ScramSha</a>: authenticate users against credentials stored in a
+                        local database</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Security.html#Java-Broker-Security-Plain-Provider" title="8.1.7.&#160;Plain">Plain</a>: authenticate users against credentials stored in a local
+                            database.</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Security.html#Java-Broker-Security-PlainPasswordFile-Provider" title="8.1.8.&#160;Plain Password File (Deprecated)">PlainPasswordFile</a>: authenticate users against credentials stored
+                        in plain text in a local file.</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Security.html#Java-Broker-Security-MD5-Provider" title="8.1.9.&#160;MD5 Provider">MD5</a>: authenticate users against credentials
+                        stored in a local database.</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Security.html#Java-Broker-Security-Base64MD5PasswordFile-Provider" title="8.1.10.&#160;Base64MD5 Password File (Deprecated)">Base64MD5PasswordFile</a>: authenticate users against credentials
+                        stored encoded in a local file.</p></li></ul></div><p>
+            </p><p>The last five providers offer user management facilities too, that is, users can
+                be created, deleted and passwords reset.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Authentication-Providers-Attributes" />7.10.2.&#160;Attributes</h3></div></div></div><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Name the authentication provider</em></span>.</p></li></ul></div><p>
+        </p><p>Other attributes are provider specific.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Authentication-Providers-Children" />7.10.3.&#160;Children</h3></div></div></div><p>None</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Authentication-Providers-Lifecycle" />7.10.4.&#160;Lifecycle</h3></div></div></div><p>Not supported</p><div  [...]
+                the Broker is restarted.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Ports.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Management-Managing-Entities.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Keystores.html">Next</a></td></ [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Broker.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Broker.html.in
new file mode 100644
index 0000000..ed9c396
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Broker.html.in
@@ -0,0 +1,28 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.2.&#160;Broker</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Entities.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html">Next</a></td></tr></table><h [...]
+    composed of a number of other entities that collaborate to provide message broker
+    facilities.</p><p>The Broker can only be managed via the HTTP management channel.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Broker-Attributes" />7.2.1.&#160;Attributes</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Name the Broker</em></span>. This helps distinguish between Brokers in
+            environments that have many.</p></li><li class="listitem"><p><span class="emphasis"><em>Shutdown timeout</em></span>. Broker shutdown timeout in seconds (disabled if 0). If clean
+            shutdown takes more than shutdown timeout, broker exits immediately.</p></li><li class="listitem"><p><span class="emphasis"><em>Confidential configuration encryption provider</em></span>. The name of the
+            provider used to encrypt passwords and other secrets within the configuration. See <a class="xref" href="Java-Broker-Security-Configuration-Encryption.html" title="8.4.&#160;Configuration Encryption">Section&#160;8.4, &#8220;Configuration Encryption&#8221;</a>.</p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Broker-Context" />7.2.2.&#160;Context</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>broker.flowToDiskThreshold</em></span> Controls the <a class="link" href="Java-Broker-Runtime-Flow-To-Disk.html" title="9.6.&#160;Flow to Disk">flow to disk</a> feature.</p></li><li class="listitem"><p><span class="emphasis"><em>broker.messageCompressionEnabled</em></span> Controls the <a class="link" href="Java-Broker-Runtime-Message-Compression [...]
+            that may be utilised on a filesystem hosting a virtualhost's message store before
+            producer flow control is automatically imposed.</p><p>This defaults to 90%.</p></li><li class="listitem"><p><a id="Java-Broker-Management-Managing-Broker-Context-BrokerDefaultSupportedProtocolVersionReply" /><span class="emphasis"><em>qpid.broker_default_supported_protocol_version_reply</em></span> Used
+            during protocol negotiation. If set, the Broker will offer this AMQP version to a client
+            requesting an AMQP protocol that is not supported by the Broker. If not set, the Broker
+            offers the highest protocol version it supports. </p></li><li class="listitem"><p>
+            <span class="emphasis"><em>qpid.broker_msg_auth</em></span> If set true, the Broker ensures that the user
+            id of each received message matches the user id of the producing connection. If this
+            check fails, the message is returned to the producer's connection with a 403 (Access
+            Refused) error code.</p><p>This value can be overridden for each Virtual Host by setting the context value on the Virtual Host or
+            Virtual Host Node.
+          </p><p>Defaults to false.</p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Broker-Children" />7.2.3.&#160;Children</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+            <a class="link" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html" title="7.3.&#160;Virtualhost Nodes">Virtualhost
+              nodes</a>
+          </p></li><li class="listitem"><p>
+            <a class="link" href="Java-Broker-Management-Managing-Ports.html" title="7.9.&#160;Ports">Ports</a>
+          </p></li><li class="listitem"><p>Authentication Providers</p></li><li class="listitem"><p>Key Stores / Trust Stores</p></li><li class="listitem"><p>Group Providers</p></li><li class="listitem"><p>Access Control Providers</p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Broker-Lifecycle" />7.2.4.&#160;Lifecycle</h3></div></div></div><p>Not supported</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Entities.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Manage [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Consumers.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Consumers.html.in
new file mode 100644
index 0000000..e013eaa
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Consumers.html.in
@@ -0,0 +1,8 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.8.&#160;Consumers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Queues.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Ports.html">Next</a></td></tr></table><hr /></div>< [...]
+    in the model indicates that an application is currently connected to the queue <span class="emphasis"><em>at this moment</em></span>.
+  </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Consumers-Context" />7.8.1.&#160;Context</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>consumer.suspendNotificationPeriod</em></span> Governs the length of
+           time that a consumer may remain suspended before the the Broker begins to
+           produce <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-SUB-1003">SUB-1003</a>
+            operational log messages.</p></li></ul></div><p>
+    </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Queues.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Management-Managing-Entities.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Ports.html">Next</a></td></tr><tr><td width="40%" align="left" valign="t [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Entities.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Entities.html.in
new file mode 100644
index 0000000..9bd05f3
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Entities.html.in
@@ -0,0 +1,22 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;7.&#160;Managing Entities</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Channel-AMQP-Intrinstic.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Broker.html">Next</a></td></tr></table><hr /></div><div  [...]
+    entity management are the same regardless of entity type. For this reason, this section begins
+    with a general description that applies to all.</p><p>Since not all channels support the management of all entity type, this section commences
+    with a table showing which entity type is supported by each channel.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Management-Managing-Entities-General" />7.1.&#160;General Description</h2></div></div></div><p>The following description applies to all entities within the Broker regardless of their
+      type.</p><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>All entities have a parent, and may have children. The parent of the Broker is
+            called the System Context. It has no parent.</p></li><li class="listitem"><p>Entities have one or more attributes. For example a <code class="literal">name</code>, an
+              <code class="literal">id</code> or a <code class="literal">maximumQueueDepth</code></p></li><li class="listitem"><p>Entities can be durable or non-durable. Durable entities survive a restart.
+            Non-durable entities will not.</p></li><li class="listitem"><p>Attributes may have a default value. If an attribute value is not specified the
+            default value is used.</p></li><li class="listitem"><p>Attributes values can be expressed as a simple value (e.g. <code class="literal">myName</code>
+            or <code class="literal">1234</code>), in terms of context variables
+              (e.g.<code class="literal">${foo}</code> or <code class="literal">/data/${foo}/</code>).</p></li><li class="listitem"><p>Each entity has zero or more context variables.</p></li><li class="listitem"><p>The System Context entity (the ultimate ancestor of all object) has a context too.
+            It is read only and is populated with all Java System Properties. Thus it can be
+            influenced from the Broker's external environment. See <a class="link" href="Java-Broker-Appendix-Environment-Variables.html#Java-Broker-Appendix-Environment-Variables-Qpid-Opts">QPID_OPTS </a>
+            environment variable.</p></li><li class="listitem"><p>When resolving an attribute's value, if the value contains a variable
+              (e.g.<code class="literal">${foo}</code>), the variable is first resolved using the entity's own
+            context variables. If the entity has no definition for the context variable, the
+            entity's parent is tried, then its grandparent and so forth, all the way until the
+            SystemContext is reached.</p></li><li class="listitem"><p>Some entities support state and have a lifecycle.</p></li></ul></div><p>
+    </p><p>What follows now is a section dedicated to each entity type. For each entity type key
+      features are described along with the entities key attributes, key context variables, details
+      of the entities lifecycle and any other operations.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Channel-AMQP-Intrinstic.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Broker.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">6.5. [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Exchanges.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Exchanges.html.in
new file mode 100644
index 0000000..2c99958
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Exchanges.html.in
@@ -0,0 +1,7 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.6.&#160;Exchanges</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-RemoteReplicationNodes.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Queues.html">Next</a></td></tr></ta [...]
+    HTTP or AMQP channels.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Exchanges-Types" />7.6.1.&#160;Types</h3></div></div></div><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>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Exchanges-Attributes" />7.6.2.&#160;Attributes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Name of the exchange</em></span>. Message producers refer to this name when
+            producing messages.</p></li><li class="listitem"><p><span class="emphasis"><em>Type of the exchange</em></span>. Can be either <a class="link" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-Types-Direct" title="4.6.2.1.&#160;Direct">direct</a>, <a class="link" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-Types-Topic" title="4.6.2.2.&#160;Topic">topic</a>, <a class="link" href="Java-Broker-Concepts-Exchanges.html#Java-Broke [...]
+              requested by the producer, may be used if a message arriving at this exchange cannot be routed to at least
+              one queue.</p></li><li class="listitem"><p><span class="emphasis"><em>unroutableMessageBehaviour</em></span>. (AMQP 1.0 only) Default behaviour to apply when a
+                message is not routed to any queues.</p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Exchanges-Lifecycle" />7.6.3.&#160;Lifecycle</h3></div></div></div><p>Not supported</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-RemoteReplicationNodes.html">Prev</a>&# [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Group-Providers.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Group-Providers.html.in
new file mode 100644
index 0000000..3d5d8ea
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Group-Providers.html.in
@@ -0,0 +1 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.13.&#160;Group Providers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Truststores.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Access-Control-Providers.html">Next</a> [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Keystores.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Keystores.html.in
new file mode 100644
index 0000000..322fb98
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Keystores.html.in
@@ -0,0 +1,46 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.11.&#160;Keystores</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Authentication-Providers.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Truststores.html">Next</a></td>< [...]
+        order to use SSL for messaging and/or management.</p><p>The Broker supports a number of different keystore types. These are described
+        below.</p><p>The key material may be held by the Broker itself (held inline within the configuration)
+        or you may use references to files on the server's file system. Whichever mechanism is
+        chosen it is imperative to ensure that private key material remains confidential.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Keystores-Types" />7.11.1.&#160;Types</h3></div></div></div><p>The following keystore types are supported. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>File Key Store</em></span>. This type accep [...]
+                        keystore format undertood by Java and Java tools such as <a class="link" href="http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html" target="_top">keytool</a>.</p><p>If the keystore contains multiple keys, it is possible to indicate which
+                        certificate is to be used by specifying an alias. If no alias is specified
+                        the first certificate found in the keystore will be used.</p></li><li class="listitem"><p><span class="emphasis"><em>Non Java Key Store</em></span>. A Non Java Keystore accepts key
+                        material in PEM and DER file formats. With this store type it is necessary
+                        to provide the private key, which must not be protected by password,
+                        certificate and optionally a file containing intermediate
+                        certificates.</p></li><li class="listitem"><p><span class="emphasis"><em>Auto Generated Self Signed</em></span> has the ability to
+                        generate a self signed certificate and produce a truststore
+                        suitable for use by an application using the Apache Qpid JMS and Apache Qpid JMS AMQP 0-x clients.</p><p>The use of self signed certficates is not recommended for production
+                        use.</p></li></ul></div><p>
+        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Keystores-Attributes" />7.11.2.&#160;Attributes</h3></div></div></div><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Name the keystore</em></span>. Used to identify the
+                        keystore.</p></li></ul></div><p>
+        </p><p>The following attributes apply to <span class="emphasis"><em>File Key Stores</em></span> only.</p><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Keystore path</em></span>. File Key Stores only. Path to keystore
+                        file</p></li><li class="listitem"><p><span class="emphasis"><em>Keystore password</em></span>. Password used to secure the keystore</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p> The password of the certificate used by the Broker <span class="bold"><strong>must</strong></span> match the password of the keystore
+                                itself. This is a restriction of the Broker implementation. If
+                                using the <a class="link" href="http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html" target="_top">keytool</a> utility, note
+                                that this means the argument to the <code class="option">-keypass</code> option
+                                must match the <code class="option">-storepass</code> option. </p></div></li><li class="listitem"><p><span class="emphasis"><em>Certificate Alias</em></span>. An optional way of specifying
+                        which certificate the broker should use if the keystore contains multiple
+                        entries.</p></li><li class="listitem"><p><span class="emphasis"><em>Manager Factory Algorithm</em></span>.In keystores the have more
+                        than one certificate, the alias identifies the certificate to be
+                        used.</p></li><li class="listitem"><p><span class="emphasis"><em>Key Store Type</em></span>. Type of Keystore.</p></li><li class="listitem"><p><span class="emphasis"><em>Use SNI host name matching</em></span>. If selected, SNI server name from
+                        an SSL handshake will be used to select the most appropriate certificate
+                        by matching an indicated hostname with the certificate hostname specified in subject or
+                        subject alternatives as CN or DC.</p></li></ul></div><p>
+        </p><p>The following attributes apply to <span class="emphasis"><em>Non Java Key Stores</em></span>
+            only.</p><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Private Key</em></span>. The private key in DER or PEM format.
+                        This file must not be password protected.</p></li><li class="listitem"><p><span class="emphasis"><em>Certificate</em></span>. The cerificate in DER or PEM
+                        format.</p></li><li class="listitem"><p><span class="emphasis"><em>Intermediates Certificates </em></span>. Optional. Intermediate
+                        cerificates in PEM or DER format.</p></li></ul></div><p>
+        </p><p>The following attributes apply to <span class="emphasis"><em>Auto Generated Self Signed</em></span>
+            only.</p><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Algorithm</em></span>. Optional. Algorithm used to generate the
+                        self-signed certificate.</p></li><li class="listitem"><p><span class="emphasis"><em>Signature Algorithm </em></span>. Optional. The name of signature
+                        algorithm.</p></li><li class="listitem"><p><span class="emphasis"><em>Key Length</em></span>. Optional. Length of the key in
+                        bits.</p></li><li class="listitem"><p><span class="emphasis"><em>Duration</em></span>. Optional. Validility period in
+                        months.</p></li></ul></div><p>
+        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Keystores-Children" />7.11.3.&#160;Children</h3></div></div></div><p>None</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Keystores-Lifecycle" />7.11.4.&#160;Lifecycle</h3></div></div></div><p>Not supported</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation  [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Plugin-HTTP.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Plugin-HTTP.html.in
new file mode 100644
index 0000000..cffdc67
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Plugin-HTTP.html.in
@@ -0,0 +1,10 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.15.&#160;HTTP Plugin</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Access-Control-Providers.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Security.html">Next</a></td></tr></table><hr /></d [...]
+        Management Console</a> and the <a class="link" href="Java-Broker-Management-Channel-REST-API.html" title="6.3.&#160;REST API">REST API</a>.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Plugin-HTTP-Attributes" />7.15.1.&#160;Attributes</h3></div></div></div><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Basic Authentication for HTTP</em></span>. It is set to false
+                        (disabled) by default.</p></li><li class="listitem"><p><span class="emphasis"><em>Basic Authentication for HTTPS</em></span>. It is set to true
+                        (enabled) by default.</p></li><li class="listitem"><p><span class="emphasis"><em>SASL Authentication for HTTP</em></span>. It is set to true
+                        (enabled) by default.</p></li><li class="listitem"><p><span class="emphasis"><em>SASL Authentication for HTTPS</em></span>. It is set to true
+                        (enabled) by default.</p></li><li class="listitem"><p><span class="emphasis"><em>Session timeout</em></span> is the timeout in seconds to close
+                        the HTTP session. It is set to 10 minutes by default.</p></li><li class="listitem"><p><span class="emphasis"><em>CORS Allow Origins</em></span> is a comma separated list of origins that are allowed to access the REST API. Set to '*' to allow all origins. Default is empty, meaning CORS is disabled.</p></li><li class="listitem"><p><span class="emphasis"><em>CORS Allow Methods</em></span> is a comma separated list of HTTP methods that are allowed to be used when doin [...]
+        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Plugin-HTTP-Children" />7.15.2.&#160;Children</h3></div></div></div><p>None</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Plugin-HTTP-Lifecycle" />7.15.3.&#160;Lifecycle</h3></div></div></div><p>Not supported</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 c [...]
+                    effect at broker restart. </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Access-Control-Providers.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Management-Managing-Entities.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Security.html">Next</a></t [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Ports.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Ports.html.in
new file mode 100644
index 0000000..402d599
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Ports.html.in
@@ -0,0 +1,36 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.9.&#160;Ports</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Consumers.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Authentication-Providers.html">Next</a></td></tr></t [...]
+        protocol. This can be an AMQP protocol for messaging or HTTP for management.</p><p>A port is defined to have one or more transports. A transport can either be plain (TCP) or
+        SSL (TLS). When SSL is in use, the port can be configured to accept or require client
+        authentication.</p><p>Any number of ports defined to use AMQP or HTTP protocols can be defined.</p><p>Ports can only be managed by the HTTP management channel.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Ports-Context" />7.9.1.&#160;Context</h3></div></div></div><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>qpid.port.max_open_connections</em></span>. The default maximum number
+                       of concurrent connections supported by an AMQP port.</p></li><li class="listitem"><p><span class="emphasis"><em>qpid.port.amqp.acceptBacklog</em></span>. The backlog is the maximum
+                        number of pending connections that may be queued by the AMQP port. Once the queue
+                        is full, further connections will be refused. This is a request to the operating system
+                        which may or may not be respected. The operating system itself may impose a ceiling.
+                        <a href="#ftn.d0e3649" class="footnote" id="d0e3649"><sup class="footnote">[8]</sup></a></p></li><li class="listitem"><p><span class="emphasis"><em>qpid.port.heartbeatDelay</em></span>. For AMQP 0-8..0-10 the default period with
+                        which Broker and client will exchange heartbeat messages (in seconds). Clients may negotiate a
+                        different heartbeat frequency or disable it altogether. For AMQP 1.0 this setting controls the
+                        incoming idle timeout only.  A value of 0 disables.</p></li></ul></div><p>
+        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Ports-Attributes" />7.9.2.&#160;Attributes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Name the port</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>Port number</em></span>.</p></li><li class="listitem"><p><span class="emphasis [...]
+                        single network interface.</p></li><li class="listitem"><p><span class="emphasis"><em>Authentication Provider</em></span>. The <a class="link" href="Java-Broker-Concepts-Authentication-Providers.html" title="4.9.&#160;Authentication Providers">authentication
+                            provider</a> used to authenticate incoming connections.</p></li><li class="listitem"><p><span class="emphasis"><em>Protocol(s)</em></span>. A list of protocols to be supported by
+                        the port. For messaging choose one or more AMQP protocols. For management
+                        choose HTTP.</p></li><li class="listitem"><p><span class="emphasis"><em>Transports</em></span>. A list of transports supported by the
+                        port. For messaging or HTTP management chose TCP, SSL or both.</p></li><li class="listitem"><p><span class="emphasis"><em>Enabled/Disabled Cipher Suites</em></span>. Allows cipher
+                        suites supported by the JVM to be enabled or disabled.  The cipher
+                        suite names are those understood by the JVM.
+                    </p><p>SSLv3 is disabled by default.</p></li><li class="listitem"><p><span class="emphasis"><em>Keystore</em></span>. <a class="link" href="Java-Broker-Management-Managing-Keystores.html" title="7.11.&#160;Keystores">Keystore</a>
+                        containing the Broker's private key. Required if SSL is in use.</p></li><li class="listitem"><p><span class="emphasis"><em>Want/Need Client Auth</em></span>. Client authentication can be
+                        either accepted if offered (want), or demanded (need). When Client
+                        Certificate Authentication is in use a Truststore must be configured. When
+                        using Client Certificate Authentication it may be desirable to use the <a class="link" href="Java-Broker-Security.html#Java-Broker-Security-External-Provider" title="8.1.4.&#160;External (SSL Client Certificates)">External Authentication
+                            Provider</a>.</p></li><li class="listitem"><p><span class="emphasis"><em>Truststore</em></span>. <a class="link" href="Java-Broker-Management-Managing-Truststores.html" title="7.12.&#160;Truststores">Trust store</a>
+                        contain an issuer certificate or the public keys of the clients themselves
+                        if peers only is desired.</p></li><li class="listitem"><p><span class="emphasis"><em>Maximum Open Connections</em></span>. AMQP ports only.  Limits
+                     the number of connections that may be open at any one time.</p></li><li class="listitem"><p><span class="emphasis"><em>Thread pool size</em></span>. AMQP ports only.  Number of worker threads
+                    used to process AMQP connections during connection negotiation phase.</p><p>Defaults to 8.</p></li><li class="listitem"><p><span class="emphasis"><em>Number of selectors</em></span>. AMQP ports only.  Number of worker threads
+                    used from the thread pool to dispatch I/O activity to the worker threads.</p><p>Defaults to one eighth of the thread pool size. Minimum 1.</p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Ports-Children" />7.9.3.&#160;Children</h3></div></div></div><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Connection</p></li></ul></div><p>
+        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Ports-Lifecycle" />7.9.4.&#160;Lifecycle</h3></div></div></div><p>Not supported</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>When updating an existing port, changes to SSL settings, binding address and port
+                numbers do not become effective until the Broker is restarted.</p></div></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.d0e3649" class="footnote"><p><a href="#d0e3649" class="para"><sup class="para">[8] </sup></a>Some Linux distributions govern the ceiling with a <code class="literal">sysctl</code>
+                            setting <code class="literal">net.core.somaxconn</code>.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Consumers.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Management-Managing-Entities.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Man [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Queues.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Queues.html.in
new file mode 100644
index 0000000..c663bd9
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Queues.html.in
@@ -0,0 +1,20 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.7.&#160;Queues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Exchanges.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Consumers.html">Next</a></td></tr></table><hr /></d [...]
+    hold/buffer messages for later delivery to consumer applications.</p><p>Queues can be managed using the HTTP or AMQP channels.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Queues-Types" />7.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="lis [...]
+            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><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Queues-Attributes" />7.7.2.&#160;Attributes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Name of the queue</em></span>. Message consumers and browsers refer to this
+            name when they wish to subscribe to queue to receive messages from it.</p></li><li class="listitem"><p><span class="emphasis"><em>Type of the queue</em></span>. Can be either <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 class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-Priority" title="4.7.1.2.&#160;Priority">priority</a>, <a class="link" h [...]
+            non durable queue do not survive a restart even if they are marked persistent.</p></li><li class="listitem"><p><span class="emphasis"><em>Maximum/Minimum TTL</em></span>. Defines a maximum and minimum time-to-live (TTL). Messages
+                arriving with TTL larger than the maximum (including those with no TTL at all, which are considered to
+                have a TTL of infinity) will be overridden by the maximum. Similarly, messages arriving with TTL less
+                than the minimum, will be overridden by the minimum.
+            </p><p>Changing these values affects only new arrivals, existing messages already on the
+            queue are not affected.</p></li><li class="listitem"><p><span class="emphasis"><em>Message persistent override</em></span>. Allow message persistent settings
+            of incoming messages to be overridden. Changing this value affects only new arrivals,
+            existing messages on the queue are not affected. </p></li><li class="listitem"><p><span class="emphasis"><em>Overflow policy</em></span>. Queues have the ability to limit the of the
+            cumulative size of all the messages contained within the store. This feature is
+            described in detail <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5.&#160;Controlling Queue Size">Section&#160;4.7.5, &#8220;Controlling Queue Size&#8221;</a>.</p></li><li class="listitem"><p><span class="emphasis"><em>Alerting Thresholds</em></span>. Queues have the ability to alert on a
+            variety of conditions: total queue depth exceeded a number or size, message age exceeded
+            a threshold, message size exceeded a threshold. These thresholds are soft. See <a class="xref" href="Java-Broker-Appendix-Queue-Alerts.html" title="Appendix&#160;E.&#160;Queue Alerts">Appendix&#160;E, <em>Queue Alerts</em></a></p></li><li class="listitem"><p><span class="emphasis"><em>Message Groups</em></span>. See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Message-Grouping" title="4.7.2.&#160;Messaging Grouping">Section&#160;4.7.2, &# [...]
+              number of delivery attempts exceeds the <span class="emphasis"><em>maximumDeliveryAttempts</em></span> configured on this
+              queue.  Messages are also routed to this destination if this queue is deleted.</p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Queue-Lifecycle" />7.7.3.&#160;Lifecycle</h3></div></div></div><p>Not supported</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Exc [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-RemoteReplicationNodes.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-RemoteReplicationNodes.html.in
new file mode 100644
index 0000000..35c102d
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-RemoteReplicationNodes.html.in
@@ -0,0 +1,24 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.5.&#160;Remote Replication Nodes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Virtualhosts.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Exchanges.html">Next</a></td>< [...]
+    in the group. Remote replication nodes are not created directly. Instead the system
+    automatically creates a remote replication node for every node in the group. It serves to
+    provide a view of the whole group from every node in the system.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-RemoteReplicationNodes-Attributes" />7.5.1.&#160;Attributes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Name the remote replication node</em></span>. This is the name of the
+            remote virtualhost node</p></li><li class="listitem"><p><span class="emphasis"><em>Role</em></span>. Indicates the role that the remote node is playing in the
+            group at this moment. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p><span class="emphasis"><em>MASTER</em></span> - Remote node is a master.</p></li><li class="listitem"><p><span class="emphasis"><em>REPLICA</em></span> - Remote node is a replica.</p></li><li class="listitem"><p><span class="emphasis"><em>UNREACHABLE</em></span> - Remote node unreachable from this node.
+                  This remote note may be down, or an network problem may prevent it from being
+                  contacted.</p></li></ul></div><p>
+          </p></li><li class="listitem"><p><span class="emphasis"><em>Join time</em></span>. Time when first contact was established with this
+            node.</p></li><li class="listitem"><p><span class="emphasis"><em>Last known transaction id</em></span>. Last transaction id reported
+            processed by node. This is an internal transaction counter and does not relate to any
+            value available to the messaging clients. This value can only be used to determine the
+            node is up to date relative to others in the group.</p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-RemoteReplicationNodes-Children" />7.5.2.&#160;Children</h3></div></div></div><p>None</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-RemoteReplicationNodes-Lifecycle" />7.5.3.&#160;Lifecycle</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Delete</em></span>. Causes the remote node to be permanently removed from
+            the group. This operation should be used when the virtualhost node cannot be deleted
+            from its own Broker, for instance, if a Broker has been destroyed by machine
+            failure.</p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-RemoteReplication-Nodes-Operations" />7.5.4.&#160;Operations</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Transfer Master</em></span>. Initiates a process where a master is moved to
+            anther node in the group. The transfer sequence is as follows. </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Group waits until the proposed master is reasonable up to date.</p></li><li class="listitem"><p>Any in-flight transactions on the current master are blocked.</p></li><li class="listitem"><p>The current master awaits the proposed master to become up to date.</p></li><li class="listitem"><p>The mastership is transferred. This will  [...]
+                  clients from the old master, and in-flight transactions are rolled back. Messaging
+                  clients reconnect to the new master.</p></li><li class="listitem"><p>The old master will rejoin as a replica.</p></li></ol></div><p>
+          </p></li></ul></div><p>
+    </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Virtualhosts.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Management-Managing-Entities.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Exchanges.html">Next</a></td></tr><tr><td width="40%" align="left" [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Truststores.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Truststores.html.in
new file mode 100644
index 0000000..f808640
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Truststores.html.in
@@ -0,0 +1,49 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.12.&#160;Truststores</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Keystores.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Group-Providers.html">Next</a></td></tr></tab [...]
+        <a class="link" href="Java-Broker-Concepts-Other-Services.html#Java-Broker-Concepts-Truststores" title="4.10.4.&#160;Truststores">Truststores</a>
+        have a number of roles within
+        the Broker.
+        </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>A truststore is required by a Port in order to support SSL client authentication.</p></li><li class="listitem"><p>Truststores have a optional role in end to end message encryption. The Broker acts as a
+                    <a class="link" href="https://en.wikipedia.org/wiki/Key_server_(cryptographic)" target="_top">
+                        Key Server
+                    </a>
+                    so that publishing applications have convenient access to recipient's public keys.
+                </p></li><li class="listitem"><p>Some authentication providers also use a truststore when connecting to authentication systems that
+                    are protected by a private issuer
+                    SSL certificate.
+                </p></li></ul></div><p>
+    </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Truststores-Types" />7.12.1.&#160;Types</h3></div></div></div><p>The following truststore types are supported. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>File Trust Store</em></span>. This type accepts the standard JKS
+                        truststore format understood by Java and Java tools such as <a class="link" href="http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html" target="_top">keytool</a>.</p></li><li class="listitem"><p><span class="emphasis"><em>Non Java Trust Store</em></span>. A non java trust store accepts key
+                        material in PEM and DER file formats. Either a path to the certificate on the server can be specified using the file:// protocol or the certificate can be uploaded with the data:// protocol</p></li><li class="listitem"><p><span class="emphasis"><em>Managed Certificate Store</em></span>. This type accepts key
+                        material in PEM and DER file formats. Contrary to the Non Java Trust Store this store allows the user to add multiple certificates and stores them in the broker configuration.</p></li><li class="listitem"><p><span class="emphasis"><em>Site Specific Trust Store</em></span>. This type will download a certificate from the provided SSL/TLS enabled URL. Note that you must specify both the protocol and the port. Example: https://example.com:443</p></li></ul></div><p>
+        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Truststores-Attributes" />7.12.2.&#160;Attributes</h3></div></div></div><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Name the truststore</em></span>. Used to identify the
+                        truststore.</p></li><li class="listitem"><p><span class="emphasis"><em>Exposed as Message Source</em></span>. If enabled, the Broker
+                        will distribute certificates contained within the truststore to clients.
+                        Used by the end to end message encryption feature.</p></li><li class="listitem"><p><span class="emphasis"><em>Trust Anchor Validity Enforced</em></span>. If enabled, authentications will
+                        fail if the trust anchor's validity date has not yet been reached or already expired.</p></li></ul></div><p>
+        </p><p>Revocation attributes.</p><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Enabled</em></span>. If set to true certificate revocation check is performed when
+                        client tries to connect.</p></li><li class="listitem"><p><span class="emphasis"><em>Only End Entity</em></span>. If enabled, check only the revocation status of
+                        end-entity certificates.</p></li><li class="listitem"><p><span class="emphasis"><em>Prefer CRLs</em></span>. If enabled, prefer CRL (specified in certificate
+                        distribution points) to OCSP, if disabled prefer OCSP to CRL.</p></li><li class="listitem"><p><span class="emphasis"><em>No Fallback</em></span>. If enabled, disable fallback to CRL/OCSP (if
+                        <span class="emphasis"><em>Prefer CRLs</em></span> set to true, disable fallback to OCSP,
+                        otherwise disable fallback to CRL in certificate distribution points).</p></li><li class="listitem"><p><span class="emphasis"><em>Ignore Soft Failures</em></span>. If enabled, revocation check will succeed
+                        if CRL/OCSP response cannot be obtained because of network error or OCSP responder returns
+                        internalError or tryLater.</p></li><li class="listitem"><p><span class="emphasis"><em>Server CRL Path Or Upload</em></span>. Path to Certificate Revocation List file.
+                        If set, certificate revocation check uses only set CRL file and ignores CRL Distribution Points
+                        in certificate.</p></li></ul></div><p>
+        </p><p>The following attributes apply to <span class="emphasis"><em>File Trust Stores</em></span> only.</p><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Path</em></span>. Path to truststore file</p></li><li class="listitem"><p><span class="emphasis"><em>Truststore password</em></span>. Password used to secure the truststore</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p> The password of the certificate used by the Broker <span c [...]
+                                itself. </p></div></li><li class="listitem"><p><span class="emphasis"><em>Certificate Alias</em></span>. An optional way of specifying
+                        which certificate the broker should use if the keystore contains multiple
+                        entries.</p></li><li class="listitem"><p><span class="emphasis"><em>Manager Factory Algorithm</em></span>. In keystores the have more
+                        than one certificate, the alias identifies the certificate to be
+                        used.</p></li><li class="listitem"><p><span class="emphasis"><em>Key Store Type</em></span>. Type of Keystore.</p></li><li class="listitem"><p><span class="emphasis"><em>Peers only</em></span>. When "Peers Only" option is selected for
+                        the Truststore it will allow authenticate only those clients that present a
+                        certificate exactly matching a certificate contained within the Truststore
+                        database.</p></li></ul></div><p>
+        </p><p>The following attributes apply to <span class="emphasis"><em>Non Java Trust Stores</em></span>
+            only.</p><p>
+            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Certificates</em></span>. The cerificate(s) in DER or PEM
+                        format.</p></li></ul></div><p>
+        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Truststores-Children" />7.12.3.&#160;Children</h3></div></div></div><p>None</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Truststores-Lifecycle" />7.12.4.&#160;Lifecycle</h3></div></div></div><p>Not supported</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigat [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Virtualhost-Nodes.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Virtualhost-Nodes.html.in
new file mode 100644
index 0000000..27fd634
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Virtualhost-Nodes.html.in
@@ -0,0 +1,33 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.3.&#160;Virtualhost Nodes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Broker.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Virtualhosts.html">Next</a></td></tr></tabl [...]
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes" />7.3.2.&#160;Attributes</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Name the virtualhost node</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>Default Virtual Host Node</em></span>. If true, messaging clients which do
+            not specify a virtualhost name will be connected to the virtualhost beneath this node.</p></li><li class="listitem"><p><span class="emphasis"><em>Store Path or JDBC URL.</em></span> Refers the location used to store the
+            configuration of the virtualhost.</p></li><li class="listitem"><p><span class="emphasis"><em>Role</em></span> (HA only). The role that this node is currently playing in
+            the group. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>MASTER - Virtualhost node is a master.</p></li><li class="listitem"><p>REPLICA - Virtualhost node is a replica.</p></li><li class="listitem"><p>WAITING - Virtualhost node is awaiting an election result, or may be awaiting
+                  more nodes to join in order that an election may be held.</p></li><li class="listitem"><p>DETACHED - Virtualhost node is disconnected from the group.</p></li></ul></div></li><li class="listitem"><p><span class="emphasis"><em>Priority</em></span> (HA only). The priority of this node when elections
+            occurs. The attribute can be used to make it more likely for a node to be elected than
+            other nodes, or disallow the node from never being elected at all. See <a class="xref" href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-NodePriority" title="10.4.3.&#160;Node Priority">Section&#160;10.4.3, &#8220;Node Priority&#8221;</a></p></li><li class="listitem"><p><span class="emphasis"><em>Minimum Number Of Nodes</em></span> (HA only - groups of three or more).
+            Allows the number of nodes required to hold an election to be reduced in order that
+            service can be restore when less than quorum nodes are present. See <a class="xref" href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-MinimumNumberOfNodes" title="10.4.4.&#160;Required Minimum Number Of Nodes">Section&#160;10.4.4, &#8220;Required Minimum Number Of Nodes&#8221;</a></p></li><li class="listitem"><p><span class="emphasis"><em>Allow this node to operate solo</em></span> (HA only - groups of two). Allows a single
+            node in a two node group to operate solo. See <a class="xref" href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-DesignatedPrimary" title="10.4.5.&#160;Allow to Operate Solo">Section&#160;10.4.5, &#8220;Allow to Operate Solo&#8221;</a></p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Virtualhost-Node-Children" />7.3.3.&#160;Children</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+            <a class="link" href="Java-Broker-Management-Managing-Virtualhosts.html" title="7.4.&#160;VirtualHosts">Virtualhost</a>
+          </p></li><li class="listitem"><p>
+            <a class="link" href="Java-Broker-Management-Managing-RemoteReplicationNodes.html" title="7.5.&#160;Remote Replication Nodes">Remote
+              Replication Nodes</a>
+          </p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Virtualhost-Node-Lifecycle" />7.3.4.&#160;Lifecycle</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Stop</em></span>. Stops the virtualhost node. This closes any existing
+            messaging connections to the virtualhost and prevents new ones. Any inflight
+            transactions are rolled back. Non durable queues and exchanges are lost. Transient
+            messages or persistent messages on non-durable queues are lost.</p><p>When HA is in use, stopping the virtualhost node stops the virtualhost node from
+            participating in the group. If the node was in the master role, the remaining nodes will
+            try to conduct an election and elect a new master. If the node was in the replica role,
+            the node will cease to keep up to date with later transactions. A stopped node does not
+            vote in elections. Other nodes in the group will report the stopped node as
+            unreachable.</p></li><li class="listitem"><p><span class="emphasis"><em>Start</em></span>. Activates the virtualhost node.</p></li><li class="listitem"><p><span class="emphasis"><em>Delete</em></span>. Deletes the virtualhost node and the virtualhost
+            contained within it. All exchanges and queues, any the messages contained within it are
+            removed. In the HA case, deleting the virtualhost node causes it be removed permanently
+            from the group.</p></li></ul></div><p>
+    </p></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.d0e3047" class="footnote"><p><a href="#d0e3047" class="para"><sup class="para">[5] </sup></a>JDBC 4.0 compatible drivers must be available. See <a class="xref" href="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html" title="F.2.&#160;Installing External JDBC Driver">Section&#160;F.2, &#8220;Installing External JDBC Driver&#8221;</a></p></div></div></div><div class= [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Virtualhosts.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Virtualhosts.html.in
new file mode 100644
index 0000000..c8a09c2
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Managing-Virtualhosts.html.in
@@ -0,0 +1,28 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.4.&#160;VirtualHosts</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Managing Entities</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-RemoteReplicationNodes.html">Next</a> [...]
+    responsible for the storage of message data.</p><p>Virtualhosts can only be managed by the HTTP management channel.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Virtualhosts-Types" />7.4.1.&#160;Types</h3></div></div></div><p>The following virtualhost types are supported. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>BDB - Virtualhost backed with Oracl [...]
+            node <a href="#ftn.d0e3195" class="footnote" id="d0e3195"><sup class="footnote">[7]</sup></a>.</p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Virtualhost-Context" />7.4.2.&#160;Context</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>use_async_message_store_recovery</em></span> Controls the <a class="link" href="Java-Broker-Runtime-Background-Recovery.html" title="9.8.&#160;Background Recovery">background recovery</a>
+            feature.</p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Virtualhost-Attributes" />7.4.3.&#160;Attributes</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Name the virtualhost</em></span>. This is the name the messaging clients
+            refer to when forming a connection to the Broker.</p></li><li class="listitem"><p><span class="emphasis"><em>Store Path/JDBC URL</em></span>. Refers the file system location or
+            database URL used to store the message data.</p></li><li class="listitem"><p><span class="emphasis"><em>Store overflow/underflow</em></span>. Some virtualhosts have the ability to
+            limit the of the cumulative size of all the messages contained within the store. This
+            feature is described in detail <a class="xref" href="Java-Broker-Runtime-Disk-Space-Management.html" title="9.2.&#160;Disk Space Management">Section&#160;9.2, &#8220;Disk Space Management&#8221;</a>.</p></li><li class="listitem"><p><span class="emphasis"><em>Connection thread pool size</em></span>. Number of worker threads
+            used to perform messaging with connected clients.  </p><p>Defaults to 64 or double the maximum number of available processors, whichever
+            is the larger.</p></li><li class="listitem"><p><span class="emphasis"><em>Number of selectors</em></span>. Number of worker threads
+            used from the thread pool to dispatch I/O activity to the worker threads.</p><p>Defaults to one eighth of the thread pool size. Minimum 1.</p></li><li class="listitem"><p><span class="emphasis"><em>Store transaction timeouts</em></span>. Warns of long running producer
+            transactions. See <a class="xref" href="Java-Broker-Runtime-Transaction-Timeout.html" title="9.3.&#160;Transaction Timeout">Section&#160;9.3, &#8220;Transaction Timeout&#8221;</a></p></li><li class="listitem"><p><span class="emphasis"><em>Synchronization policy</em></span>. HA only. See <a class="xref" href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-SynchronizationPolicy" title="10.4.2.&#160;Synchronization Policy">Section&#160;10.4. [...]
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Virtualhost-Children" />7.4.4.&#160;Children</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+            <a class="link" href="Java-Broker-Management-Managing-Exchanges.html" title="7.6.&#160;Exchanges">Exchange</a>
+          </p></li><li class="listitem"><p>
+            <a class="link" href="Java-Broker-Management-Managing-Queues.html" title="7.7.&#160;Queues">Queue</a>
+          </p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Managing-Virtualhost-Lifecycle" />7.4.5.&#160;Lifecycle</h3></div></div></div><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Stop</em></span>. Stops the virtualhost. This closes any existing messaging
+            connections to the virtualhost and prevents new ones. Any inflight transactions are
+            rolled back. Non durable queues and non durable exchanges are lost. Transient messages
+            or persistent messages on non-durable queues are lost.</p></li><li class="listitem"><p><span class="emphasis"><em>Start</em></span>. Activates the virtualhost.</p></li></ul></div><p>
+    </p></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.d0e3185" class="footnote"><p><a href="#d0e3185" class="para"><sup class="para">[6] </sup></a>JDBC 4.0 compatible drivers must be available. See <a class="xref" href="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html" title="F.2.&#160;Installing External JDBC Driver">Section&#160;F.2, &#8220;Installing External JDBC Driver&#8221;</a></p></div><div id="ftn.d0e3195" c [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Metrics.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Metrics.html.in
new file mode 100644
index 0000000..7768fb0
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Management-Metrics.html.in
@@ -0,0 +1,17 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.4.&#160;Prometheus Metrics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Channel-REST-API.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;6.&#160;Management Channels</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Channel-AMQP-Intrinstic.html">Next</a></td></tr> [...]
+      <a class="link" href="https://prometheus.io/" target="_top">Prometheus format</a>.
+      The metrics endpoint is intended for scraping by Prometheus server to collect the Broker telemetry.</p><p>The Prometheus metric endpoints are mapped under /metrics path and /metrics/*.
+      The latter allows to get the Virtual Host statistics by specify the path to the virtual host as
+      /metrics/&lt;virtual host node name&gt;/&lt; virtual host name&gt;.
+      The former allow to get all Broker statistics or Virtual Host statistics when called with HOST header
+      set to the Virtual Host name</p><p>
+      The metrics endpoints allow anonymous access by default. If required, an authentication can be enabled for the
+      metrics endpoints by setting http management context variable
+      <code class="literal">qpid.httpManagement.enableMetricContentAuthentication</code> to <code class="literal">true</code>.
+    </p><p>The Broker JVM statistics are disabled by default. The metrics endpoints can be called with parameter
+      <code class="literal">includeDisabled</code> set to <code class="literal">true</code> to include JVM  broker metrics into endpoint
+      output. If required, the JVM metrics could be enabled by setting context variable
+      <code class="literal">qpid.metrics.includeDisabled</code> to <code class="literal">true</code>.
+    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>For more information about Prometheus, check out the
+        <a class="link" href="https://prometheus.io/docs/introduction/overview/" target="_top">prometheus documentation</a>.
+      </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Channel-REST-API.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Management-Channel.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Channel-AMQP-Intrinstic.html">Next</a></td></tr><tr><td width="40%" align="left" valign= [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html.in
new file mode 100644
index 0000000..9c323fa
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html.in
@@ -0,0 +1,5 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">F.2.&#160;Installing External JDBC Driver</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Miscellaneous.html">Prev</a>&#160;</td><th width="60%" align="center">Appendix&#160;F.&#160;Miscellaneous</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-Queue-Declare-Arguments.html">Next</a></td></tr></table> [...]
+      Database's JDBC 4.0 compatible drivers available on the Broker's classpath. To do this copy
+      the driver's JAR file into the <code class="literal">${QPID_HOME}/lib</code> folder.</p><pre class="programlisting">Unix:
+cp <code class="literal">driver</code>.jar qpid-broker-8.0.5/lib</pre><pre class="programlisting">Windows:
+copy <code class="literal">driver</code>.jar qpid-broker-8.0.5\lib</pre></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Miscellaneous.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Miscellaneous.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-Queue-Declare-Arguments.html">Next</a></td></tr><tr>< [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Miscellaneous.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Miscellaneous.html.in
new file mode 100644
index 0000000..146e19e
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Miscellaneous.html.in
@@ -0,0 +1,9 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix&#160;F.&#160;Miscellaneous</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Queue-Alerts.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html">Next</a></td></tr></table><hr /></div><d [...]
+        following at the command prompt: </p><pre class="programlisting">echo %JAVA_HOME%</pre><p> If JAVA_HOME is set you will see something similar to the following: </p><pre class="screen">c:"\PROGRA~1"\Java\jdk1.8.0_121\
+      </pre><p> Then confirm that a Java installation (1.8 or higher) is available: </p><pre class="programlisting">java -version</pre><p> If java is available on the path, output similar to the following will be seen: </p><pre class="screen">java version "1.8.0_121-b13"
+Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
+Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)</pre></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Miscellaneous-JVM-Verification-Unix" />F.1.2.&#160;Verify JVM on Unix</h3></div></div></div><p> Firstly confirm that the JAVA_HOME environment variable is set correctly by typing the
+        following at the command prompt: </p><pre class="programlisting">echo $JAVA_HOME</pre><p> If JAVA_HOME is set you will see something similar to the following: </p><pre class="screen">/usr/java/jdk1.8.0_121
+      </pre><p> Then confirm that a Java installation (1.8 or higher) is available: </p><pre class="programlisting">java -version</pre><p> If java is available on the path, output similar to the following will be seen: </p><pre class="screen">java version "1.8.0_121-b13"
+        Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
+        Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)</pre></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Queue-Alerts.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html">Next</a></td></tr><tr><td width="40%" a [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Background-Recovery.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Background-Recovery.html.in
new file mode 100644
index 0000000..dab7c78
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Background-Recovery.html.in
@@ -0,0 +1,14 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.8.&#160;Background Recovery</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Consumers.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;9.&#160;Runtime</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Message-Compression.html">Next</a></td></tr></table><hr /></div><div cla [...]
+    queues and their messages from disk. In the Broker's default mode the Virtualhosts do not become
+    active until this recovery process completes. If queues have a large number of entries, this may
+    take considerable time. During this time no messaging can be performed.</p><p>The Broker has a background recovery feature allows the system to return to operation
+    sooner. If enabled the recovery process takes place in the background allow producers and
+    consumers to begin work earlier.</p><p>The feature respects the message delivery order requirements of standard queues, that is any
+    messages arriving whilst the background recovery is in flight won't overtake older messages
+    still to be recovered from disk. There is an exception for the out of order queue types whilst
+    background recovery is in flight. For instance, with priority queues older lower priority
+    messages may be delivered before newer, higher priority.</p><p>To activate the feature, set a <a class="link" href="Java-Broker-Management-Managing-Entities.html#Java-Broker-Management-Managing-Entities-General" title="7.1.&#160;General Description">context variable</a>
+    <code class="literal">use_async_message_store_recovery</code> at the desired Virtualhost, or at Broker or
+    higher to enable the feature broker-wide.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The background recovery feature does not write operational log messages to indicate its
+      progress. This means messages <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-MST-1004">MST-1004</a> and <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-MST-1005">MST-1005</a> will not
+      be seen.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Consumers.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Message-Compression.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">9.7.&#160;Cons [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Close-Connection-When-No-Route.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Close-Connection-When-No-Route.html.in
new file mode 100644
index 0000000..2b21533
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Close-Connection-When-No-Route.html.in
@@ -0,0 +1,28 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.5.&#160;Closing client connections on unroutable mandatory messages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Handling-Undeliverable-Messages.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;9.&#160;Runtime</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Flow-To-Di [...]
+        Due to asynchronous nature of AMQP 0-8/0-9/0-9-1 protocols sending a message with a routing key for which no queue binding exist results
+        in either message being bounced back (if it is mandatory or immediate) or discarded on broker side otherwise.
+    </p><p>
+        When a 'mandatory' message is returned, the Apache Qpid JMS AMQP 0-x clients conveys this by delivering
+        an <span class="emphasis"><em>AMQNoRouteException</em></span> through the configured ExceptionListener on the Connection.
+        This does not cause channel or connection closure, however it requires a special exception handling
+        on client side in order to deal with <span class="emphasis"><em>AMQNoRouteExceptions</em></span>.
+        This could potentially be a problem when using various messaging frameworks (e.g. Mule)
+        as they usually close the connection on receiving any JMSException.
+    </p><p>
+        In order to simplify application handling of scenarios where 'mandatory' messages
+        are being sent to queues which do not actually exist, the Apache Qpid Broker-J can be configured such that
+        it will respond to this situation by closing the connection
+        rather than returning the unroutable message to the client as it normally should.
+        From the application perspective, this will result in failure of synchronous operations in progress such as a session commit() call.
+    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>This feature affects only transacted sessions.</p><p>
+           By default, the Apache Qpid JMS AMQP 0-x produces mandatory messages when using queue destinations.  Topic
+           destinations produce 'non-mandatory' messages.
+        </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Close-Connection-When-No-Route-Configuration" />9.5.2.&#160;Configuring
+        <span class="emphasis"><em>closeWhenNoRoute</em></span>
+    </h3></div></div></div><p>
+        The Port attribute <span class="emphasis"><em>closeWhenNoRoute</em></span> can be set to specify this feature on broker side.
+        By default, it is turned on. Setting <span class="emphasis"><em>closeWhenNoRoute</em></span> to <span class="emphasis"><em>false</em></span> switches
+        it off.
+    </p><p>See the <a class="link" href="../../jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html" target="_top">Qpid JMS AMQP 0-x client
+          documentation</a> for details of enabling this feature client side.
+      </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Handling-Undeliverable-Messages.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Flow-To-Disk.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">9.4.&#1 [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Connection-Limit.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Connection-Limit.html.in
new file mode 100644
index 0000000..49bc3c0
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Connection-Limit.html.in
@@ -0,0 +1,24 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.10.&#160;Connection Limits</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Message-Compression.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;9.&#160;Runtime</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Memory.html">Next</a></td></tr></table><hr /></div><div class=" [...]
+     Each connection to the Broker consumes resources while it is connected. In order to protect
+     the Broker against malfunctioning (or malicious) client processes, it is possible to limit the
+     number of connections that can be active on any given port.
+   </p><p>
+       Connection limits on AMQP ports are controlled by an attribute "maxOpenConnections" on
+       the port. By default this takes the value of the context variable
+       <code class="literal">qpid.port.max_open_connections</code> which in itself is defaulted to the
+       value <code class="literal">-1</code> meaning there is no limit.
+   </p><p>
+       If the interpolated value of <code class="literal">maxOpenConnections</code> on an AMQP port is a
+       positive integer, then when that many active connections have been established no new
+       connections will be allowed (until an existing connection has been closed). Any such
+       rejection of a connection will be accompanied by the operational log message
+       <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-PRT-1005">PRT-1005</a>.
+   </p><p>
+       The context variable <code class="literal">qpid.port.open_connections_warn_percent</code> can be
+       used to control when a warning log message is generated as the number of open connections
+       approaches the limit for the port. The default value of this variable is
+       <code class="literal">80</code> meaning that if more the number of open connections to the port
+       has exceeded 80% of the given limit then the operatinal log message
+       <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-PRT-1004">PRT-1004</a>
+       will be generated.
+   </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Message-Compression.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Memory.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">9.9.&#160;Message Compression&#160 [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Consumers.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Consumers.html.in
new file mode 100644
index 0000000..4b0dc8d
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Consumers.html.in
@@ -0,0 +1,32 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.7.&#160;Consumers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Flow-To-Disk.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;9.&#160;Runtime</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Background-Recovery.html">Next</a></td></tr></table><hr /></div><div class="sec [...]
+    Queue).  The standard behaviours of consumers are defined by the respective AMQP specification, however in addition
+    to the standard behaviours a number of Qpid specific enhancements are available</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Consumers-Prioirty" />9.7.1.&#160;Priority</h3></div></div></div><p>By default, when there are multiple competing consumers attached to the same message source, the Broker
+      attempts to distribute messages from the queue in a "fair" manner. Some use cases require allocation of messages
+      to consumers to be based on the "priority" of the consumer. Where there are multiple consumers having differing
+      priorities, the Broker will always attempt to deliver a message to a higher priority consumer before attempting
+      delivery to a lower priority consumer. That is, a lower priority consumer will only receive a message if no
+      higher priority consumers currently have credit available to consume the message, or those consumers have declined
+      to accept the message (for instance because it does not meet the criteria of any selectors associated with the
+      consumer).</p><p>Where a consumer is created with no explicit priority provided, the consumer is given the highest possible
+      priority.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6250" />9.7.1.1.&#160;Creating a Consumer with a non-standard priority</h4></div></div></div><p>
+        In AMQP 0-9 and 0-9-1 the priority of the consumer can be set by adding an entry into the table provided as the
+        <code class="literal">arguments</code> field (known as the <code class="literal">filter</code> field on AMQP 0-9) of the
+        <code class="literal">basic.consume</code> method. The key for the entry must be the literal short string
+        <code class="literal">x-priority</code>, and the value of the entry must be an integral number in the range
+        -2<sup>31</sup> to 2<sup>31</sup>-1.
+      </p><p>
+        In AMQP 0-10 the priority of the consumer can be set in the map provided as the <code class="literal">arguments</code>
+        field of the <code class="literal">message.subscribe</code> method. The key for the entry must be the literal string
+        <code class="literal">x-priority</code>, and the value of the entry must be an integral number in the range
+        -2<sup>31</sup> to 2<sup>31</sup>-1.
+      </p><p>
+        In AMQP 1.0 the priority of the consumer is set in the <code class="literal">properties</code> map of the
+        <code class="literal">attach</code> frame where the broker side of the link represents the sending side of the link.
+        The key for the entry must be the literal string <code class="literal">priority</code>, and the value of the entry must
+        be an integral number in the range -2<sup>31</sup> to 2<sup>31</sup>-1.
+      </p><p>
+        When using the Qpid JMS client for AMQP 0-9/0-9-1/0-10 the consumer priority can be set in the address being
+        used for the Destination object.
+
+        </p><div class="table"><a id="d0e6309" /><p class="title"><strong>Table&#160;9.1.&#160;Setting the consumer priority</strong></p><div class="table-contents"><table summary="Setting the consumer priority" border="1"><colgroup><col class="syntax" /><col class="example" /></colgroup><thead><tr><th>Syntax</th><th>Example</th></tr></thead><tbody><tr><td>Addressing</td><td>myqueue : { link : { x-subscribe: { arguments : { x-priority : '10' } } } }</td></tr><tr><td>Binding URL</td><td>d [...]
+      </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Flow-To-Disk.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Background-Recovery.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">9.6.&#160;Flo [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Disk-Space-Management.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Disk-Space-Management.html.in
new file mode 100644
index 0000000..223f50e
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Disk-Space-Management.html.in
@@ -0,0 +1,41 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.2.&#160;Disk Space Management</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;9.&#160;Runtime</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Transaction-Timeout.html">Next</a></td></tr></table><hr /></div><div class="sect [...]
+        The Apache Qpid Broker-J supports a flow control mechanism which is triggered when a configured
+        disk quota is exceeded. This is supported by the BDB and Derby virtualhosts.
+    </p><p>
+        This functionality blocks all producers on reaching the disk overflow limit. When consumers consume the
+        messages, causing disk space usage to falls below the underflow limit, the producers are unblocked and continue
+        working as normal.
+    </p><p>
+        Two limits can be configured:
+    </p><p>
+        overfull limit - the maximum space on disk (in bytes).
+    </p><p>
+        underfull limit - when the space on disk drops below this limit, producers are allowed to resume publishing.
+    </p><p>
+        The overfull and underful limit can be specified when a new virtualhost is created or an exiting virtualhost is
+        edited. This can be done using the Store Overflow and Store Underfull settings within the virtual host creation
+        and edit dialogue. If editing an existing virtualhost, the virtualhost must be restarted for the new values to
+        take effect.
+    </p><p>
+        The disk quota functionality is based on "best effort" principle. This means the broker cannot guarantee that
+        the disk space limit will not be exceeded. If several concurrent transactions are started before the limit is
+        reached, which collectively cause the limit to be exceeded, the broker may allow all of them to be committed.
+    </p><p>
+        The Broker will also impose flow control if the filesystem hosting a virtualhost exceeds a <a class="link" href="Java-Broker-Management-Managing-Broker.html#Java-Broker-Management-Managing-Broker-Context-StoreFilesystemMaxUsagePercent">configured
+        percentage.</a>.
+    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+            The <span class="emphasis"><em>Producer Flow Control</em></span> can be configured on individual queue using
+            <span class="emphasis"><em>Producer Flow Control</em></span> overflow policy.
+            For more details, please read<a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5.&#160;Controlling Queue Size">Section&#160;4.7.5, &#8220;Controlling Queue Size&#8221;</a>.
+        </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6012" />9.2.1.1.&#160;Broker Log Messages for quota flow control</h4></div></div></div><p>
+            There are two broker log messages that may occur if flow control through disk quota limits is enabled. When
+            the virtual host is blocked due to exceeding of the disk quota limit the following message appears in the
+            broker log
+            </p><pre class="programlisting">
+                [vh(/test)/ms(BDBMessageStore)] MST-1008 : Store overfull, flow control will be enforced
+            </pre><p>
+            When virtual host is unblocked after cleaning the disk space the following message appears in the broker log
+            </p><pre class="programlisting">
+                [vh(/test)/ms(BDBMessageStore)] MST-1009 : Store overfull condition cleared
+            </pre><p>
+        </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Transaction-Timeout.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&#160;9.&#160;Run [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Flow-To-Disk.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Flow-To-Disk.html.in
new file mode 100644
index 0000000..096d98c
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Flow-To-Disk.html.in
@@ -0,0 +1,14 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.6.&#160;Flow to Disk</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Close-Connection-When-No-Route.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;9.&#160;Runtime</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Consumers.html">Next</a></td></tr></table><hr /></div><div [...]
+    that can be occupied by messages. Once this
+    limit is reached any new transient messages and all existing transient messages will be
+    transferred to disk. Newly arriving transient messages will continue to go to the disk until the
+    cumulative size of all messages falls below the limit once again.</p><p>By default the Broker makes 75% of the max direct available memory for messages. This memory is
+    divided between all the queues across all virtual hosts defined on the Broker with a percentage
+    calculated according to their current queue size. These calculations are refreshed periodically
+    by the housekeeping cycle.</p><p>For example if there are two queues, one containing 75MB and the second 100MB messages
+    respectively and the Broker has 1GB direct memory with the default of 75% available for messages.
+    The first queue will have a target size of 320MB and the second 430MB. Once 750MB is taken by
+    messages, messages will begin to flow to disk. New messages will cease to flow to disk when
+    their cumulative size falls beneath 750MB.</p><p>Flow to disk is configured by Broker context variable
+      <code class="literal">broker.flowToDiskThreshold</code>. It is expressed as a size in bytes and defaults
+    to 75% of the JVM maximum heap size.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Close-Connection-When-No-Route.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Consumers.html">Next</a></td></tr><tr><td width="40%" align="le [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Handling-Undeliverable-Messages.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Handling-Undeliverable-Messages.html.in
new file mode 100644
index 0000000..a8424bb
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Handling-Undeliverable-Messages.html.in
@@ -0,0 +1,52 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.4.&#160;Handing Undeliverable Messages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Transaction-Timeout.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;9.&#160;Runtime</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Close-Connection-When-No-Route.html">Next</a></td>< [...]
+   client is using a transacted session and rolls-back the transaction) can be made available on
+   the queue again and then subsequently be redelivered, depending on the precise session
+   acknowledgement mode and messaging model used by the application. This is normally desirable
+   behaviour that contributes to the ability of a system to withstand unexpected errors. However, it
+   leaves open the possibility for a message to be repeatedly redelivered (potentially indefinitely),
+   consuming system resources and preventing the delivery of other messages. Such undeliverable
+   messages are sometimes known as poison messages.</p><p>For an example, consider a stock ticker application that has been designed to consume prices
+   contained within JMS TextMessages. What if inadvertently a BytesMessage is placed onto the queue?
+   As the ticker application does not expect the BytesMessage, its processing might fail and cause it
+   to roll-back the transaction, however the default behavior of the Broker would mean that the
+   BytesMessage would be delivered over and over again, preventing the delivery of other legitimate
+   messages, until an operator intervenes and removes the erroneous message from the queue. </p><p>Qpid has maximum delivery count and dead-letter queue (DLQ) features which can be used in
+   concert to construct a system that automatically handles such a condition. These features are
+   described in the following sections.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count" />9.4.2.&#160;Maximum Delivery Count</h3></div></div></div><p> Maximum delivery count is an attribute of a queue. If a consumer application is unable to
+   process a message more than the specified number of times, then the Broker will either route the
+   message via the queue's <span class="emphasis"><em>alternate binding</em></span> (if one has been defined), or will
+   discard the message.</p><p>When using AMQP 1.0 the current delivery count of a message is available to the consuming
+   application via the <code class="literal">message-count</code> message header (exposed via the
+   <code class="literal">JMSXDeliveryCount</code> JMS message property when using JMS).  When using the
+   AMQP 0-8..0-10 protocols this information is not available.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> When using AMQP 0-8..0-10, in order for a maximum delivery count to be enforced, the consuming application
+    <span class="emphasis"><em>must</em></span> call <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#rollback()" target="_top">Session#rollback()</a> (or <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#recover()" target="_top">Session#recover()</a> if the session is not transacted). It is during the Broker's
+    processing of Session#rollback() (or Session#recover()) that if a message has been seen
+    at least the maximum number of times then it will move the message to the DLQ or discard the
+    message. If the consuming application fails in another manner, for instance, closes the connection, the
+    message will not be re-routed and consumer application will see the same poison message again
+    once it reconnects.</p><p> If the consuming application is using Qpid JMS Client 0-x and using AMQP 0-8, 0-9, or 0-9-1
+    protocols, it is necessary to set the client system property <code class="varname">qpid.reject.behaviour</code> or
+    connection or binding URL option <code class="varname">rejectbehaviour</code> to the value <code class="literal">server</code>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Handling-Undeliverable-Messages-Dead-Letter-Queues" />9.4.3.&#160;Alternate Binding</h3></div></div></div><p>Once the maximum delivery count is exceeded, if the queue has an <code class="literal">alternateBinding</code>
+    specified, the Broker automatically routes the message via the alternate binding.  The alternate binding
+    would normally specify a queue designated for that purpose of receiving the undeliverable messages.
+    By convention such queues are known as dead-letter queues or simply DLQs.</p><p>It is possible to configure the broker to automatically default a DLQ for every queue created.  To do this
+    one can set the context variable <code class="varname">queue.defaultAlternateBinding</code> at the Virtual Host (or above)
+    level.  For example, by setting the value to <code class="literal">{\"destination\": \"$${this:name}_DLQ\"}</code>
+    a new queue <span class="emphasis"><em>exampleQueue</em></span> will default to having an alternate binding to
+    <span class="emphasis"><em>exampleQueue_DLQ</em></span>.  To avoid error this should be combined with setting a node auto creation
+    policy on the VirtualHost, so that such DLQs are automatically created, e.g. </p><pre class="screen">
+   "nodeAutoCreationPolicies" : [ {
+   "pattern" : ".*_DLQ",
+   "nodeType" : "Queue",
+   "attributes" : {
+   "alternateBinding" : ""
+   },
+   "createdOnPublish" : true,
+   "createdOnConsume" : true
+   } ]
+  </pre><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>For the autocreated DLQs it is important to override the default alternate binding, as above, else the creation of an
+    infinite chain of DLQs for DLQs will be attempted.</div><div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Avoid excessive queue depth</h3><p>Applications making use of DLQs <span class="emphasis"><em>should</em></span> make provision for the frequent
+    examination of messages arriving on DLQs so that both corrective actions can be taken to resolve
+    the underlying cause and organise for their timely removal from the DLQ. Messages on DLQs
+    consume system resources in the same manner as messages on normal queues so excessive queue
+    depths should not be permitted to develop.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Transaction-Timeout.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Close-Connection-When-No-Route.html">Next</a></td></tr>< [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Memory.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Memory.html.in
new file mode 100644
index 0000000..c71b152
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Memory.html.in
@@ -0,0 +1,138 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.11.&#160;Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Connection-Limit.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;9.&#160;Runtime</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability.html">Next</a></td></tr></table><hr /></div><div class="section"><d [...]
+      Understanding how the Qpid broker uses memory is essential to running a high performing and reliable service.
+      A wrongly configured broker can exhibit poor performance or even crash with an <code class="literal">OutOfMemoryError</code>.
+      Unfortunately, memory usage is not a simple topic and thus requires some in depth explanations.
+      This page should give the required background information to make informed decisions on how to configure your broker.
+    </p><p>
+      <a class="xref" href="Java-Broker-Runtime-Memory.html#Java-Broker-Runtime-Memory-Types" title="9.11.2.&#160;Types of Memory">Section&#160;9.11.2, &#8220;Types of Memory&#8221;</a> explains the two different kinds of Java memory most relevant to the broker.
+      <a class="xref" href="Java-Broker-Runtime-Memory.html#Java-Broker-Runtime-Memory-Usage" title="9.11.3.&#160;Memory Usage in the Broker">Section&#160;9.11.3, &#8220;Memory Usage in the Broker&#8221;</a> goes on to explain which parts of the broker use what kind of memory.
+      <a class="xref" href="Java-Broker-Runtime-Memory.html#Java-Broker-Runtime-Memory-Low-Memory" title="9.11.4.&#160;Low Memory Conditions">Section&#160;9.11.4, &#8220;Low Memory Conditions&#8221;</a> explains what happens when the system runs low on memory.
+      <a class="xref" href="Java-Broker-Runtime-Memory.html#Java-Broker-Runtime-Memory-Defaults" title="9.11.5.&#160;Defaults">Section&#160;9.11.5, &#8220;Defaults&#8221;</a> lays out the default settings of the Qpid broker.
+      Finally, <a class="xref" href="Java-Broker-Runtime-Memory.html#Java-Broker-Runtime-Memory-Tuning" title="9.11.6.&#160;Memory Tuning the Broker">Section&#160;9.11.6, &#8220;Memory Tuning the Broker&#8221;</a> gives some advice on tuning your broker.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Memory-Types" />9.11.2.&#160;Types of Memory</h3></div></div></div><p>
+      While Java has a couple of different internal memory types we will focus on the two types that are relevant to the Qpid broker.
+      Both of these memory types are taken from the same physical memory (RAM).
+    </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6458" />9.11.2.1.&#160;Heap</h4></div></div></div><p>
+        Normally, all objects are allocated from Java's heap memory.
+        Once, nothing references an object it is cleaned up by the Java Garbage Collector and it's memory returned to the heap.
+        This works fine for most use cases.
+        However, when interacting with other parts of the operating system using Java's heap is not ideal.
+        This is where the so called direct memory comes into play.
+      </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6463" />9.11.2.2.&#160;Direct</h4></div></div></div><p>
+        The world outside of the JVM, in particular the operating system (OS), does not know about Java heap memory and uses other structures like C arrays.
+        In order to interact with these systems Java needs to copy data between its own heap memory and these native structures.
+        This can become a bottle neck when there is a lot of exchange between Java and the OS like in I/O (both disk and network) heavy applications.
+        Java's solution to this is to allow programmers to request <code class="literal">ByteBuffer</code>s from so called direct memory.
+        This is an opaque structure that <span class="emphasis"><em>might</em></span> have an underlying implementation that makes it efficient to interact with the OS.
+        Unfortunately, the GC is not good at tracking direct memory and in general it is inadvisable to use direct memory for regular objects.
+      </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Memory-Usage" />9.11.3.&#160;Memory Usage in the Broker</h3></div></div></div><p>
+      This section lists some note worthy users of memory within the broker and where possible lists their usage of heap and direct memory.
+      Note that to ensure smooth performance some heap memory should remain unused by the application and be reserved for the JVM to do house keeping and garbage collection.
+      <a class="link" href="https://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/util/DbCacheSize.html" target="_top">Some guides</a> advise to reserve up to 30% of heap memory for the JVM.
+    </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6482" />9.11.3.1.&#160;Broker</h4></div></div></div><p>
+        The broker itself uses a moderate amount of heap memory (&#8776;15 MB).
+        However, each connection and session comes with a heap overhead of about 17 kB and 15 kB respectively.
+        In addition, each connection reserves 512 kB direct memory for network I/O.
+      </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6487" />9.11.3.2.&#160;Virtual Hosts</h4></div></div></div><p>
+        The amount of memory a Virtual Host uses depends on its type.
+        For a JSON Virtual Host Node with a BDB Virtual Host the heap memory usage is approximately 2 MB.
+        However, each BDB Virtual Hosts has a mandatory cache in heap memory which has an impact on performance.
+        See <a class="link" href="Java-Broker-Runtime-Memory.html#Java-Broker-Runtime-Memory-Usage-BDB" title="9.11.3.4.&#160;Message Store">below</a> for more information.
+      </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6495" />9.11.3.3.&#160;Messages</h4></div></div></div><p>
+        Messages and their headers are kept in direct memory and have an additional overhead of approximately 1 kB heap memory each.
+        This means that most brokers will want to have more direct memory than heap memory.
+        When many small messages accumulate on the broker the 1 kB heap memory overhead can become a <a class="link" href="Java-Broker-Runtime-Memory.html#Java-Broker-Runtime-Memory-Low-Memory-Heap" title="9.11.4.1.&#160;Low on Heap Memory">limiting factor</a>.
+      </p><p>
+        When the broker is <a class="link" href="Java-Broker-Runtime-Memory.html#Java-Broker-Runtime-Memory-Low-Memory-Direct" title="9.11.4.2.&#160;Low on Direct Memory">running low on direct memory</a>
+        it will evict enqueued messages from memory and <a class="link" href="Java-Broker-Runtime-Flow-To-Disk.html" title="9.6.&#160;Flow to Disk">flow them to disk</a>.
+        For persistent messages this only means freeing the direct memory representation because they always have an on-disk representation to guard against unexpected failure (e.g., a power cut).
+        For transient messages this implies additional disk I/O.
+        After being flowed to disk messages need to be re-read from disk before delivery.
+      </p><p>Please, note that messages from uncommitted transactions are not
+        <a class="link" href="Java-Broker-Runtime-Flow-To-Disk.html" title="9.6.&#160;Flow to Disk">flowed to disk</a> as part of
+        <a class="link" href="Java-Broker-Runtime-Memory.html#Java-Broker-Runtime-Memory-Low-Memory-Direct" title="9.11.4.2.&#160;Low on Direct Memory">running into low direct memory conditions</a>,
+        as they are not enqueued yet. The <code class="literal">Connection</code> has its own threshold for
+        keeping messages from uncommitted transactions in memory. Only when <code class="literal">Connection</code> threshold
+        is breached, the uncommitted messages on the connection are
+        <a class="link" href="Java-Broker-Runtime-Flow-To-Disk.html" title="9.6.&#160;Flow to Disk">flowed to disk</a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Runtime-Memory-Usage-BDB" />9.11.3.4.&#160;Message Store</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="d0e6531" />Berkeley DB (BDB)</h5></div></div></div><p>
+          The broker can use Oracle's BDB JE (BDB) as a message store to persist messages by writing them to a database.
+          BDB uses a mandatory cache for navigating and organising its database structure.
+          Sizing and tuning this cache is a topic of its own and would go beyond the scope of this guide.
+          Suffice to say that by default Qpid uses 5% of heap memory for BDB caches (each Virtual Host uses a separate cache) or 10 MB per BDB store, whichever is greater.
+          See the <a class="link" href="http://www.oracle.com/us/products/database/berkeley-db/je" target="_top">official webpage</a> especially <a class="link" href="http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/util/DbCacheSize.html" target="_top">this page</a> for more information.
+          For those interested, Qpid uses <a class="link" href="http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/CacheMode.html#EVICT_LN" target="_top">EVICT_LN</a> as its default JE cacheMode.
+        </p><p>
+          Note that due to licensing concerns Qpid does not ship the BDB JE jar files.
+        </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="d0e6547" />Derby</h5></div></div></div><p>
+          TODO
+        </p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6552" />9.11.3.5.&#160;HTTP Management</h4></div></div></div><p>
+        Qpid uses Jetty for the HTTP Management (both REST and Web Management Console).
+        When the management plugin is loaded it will allocate the memory it needs and should not require more memory during operation and can thus be largely ignored.
+      </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Memory-Low-Memory" />9.11.4.&#160;Low Memory Conditions</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Runtime-Memory-Low-Memory-Heap" />9.11.4.1.&#160;Low on Heap Memory</h4></div></div></div><p>
+        When the broker runs low on heap memory performance will degrade because the JVM will trigger full garbage collection (GC) events in a struggle to free memory.
+        These full GC events are also called stop-the-world events as they completely halt the execution of the Java application.
+        Stop-the-world-events may take any where from a couple of milliseconds up to several minutes.
+        Should the heap memory demands rise even further the JVM will eventually throw an OutOfMemoryError which will cause the broker to shut down.
+      </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Runtime-Memory-Low-Memory-Direct" />9.11.4.2.&#160;Low on Direct Memory</h4></div></div></div><p>
+        When the broker detects that it uses 75% of available direct memory it will start flowing incoming transient messages to disk and reading them back before delivery.
+        This will prevent the broker from running out of direct memory but may degrade performance by requiring disk I/O.
+      </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Memory-Defaults" />9.11.5.&#160;Defaults</h3></div></div></div><p>
+      By default Qpid uses these settings:
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+          0.5 GB heap memory
+        </li><li class="listitem">
+          1.5 GB direct memory
+        </li><li class="listitem">
+          5% of heap reserved for the BDB JE cache.
+        </li><li class="listitem">
+          Start flow-to-disk at 75% direct memory utilisation.
+        </li></ul></div><p>
+      As an example, this would accommodate a broker with 50 connections, each serving 5 sessions, and each session having 1000 messages of 1 kB on queues in the broker.
+      This means a total of 250 concurrent sessions and a total of 250000 messages without flowing messages to disk.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Memory-Tuning" />9.11.6.&#160;Memory Tuning the Broker</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6588" />9.11.6.1.&#160;Java Tuning</h4></div></div></div><p>
+        Most of these options are implementation specific. It is assumed you are using Oracle Java 1.8.
+        </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+            Heap and direct memory can be configured through the <a class="link" href="Java-Broker-Appendix-Environment-Variables.html#Java-Broker-Appendix-Environment-Variables-Qpid-Java-Mem"><code class="literal">QPID_JAVA_MEM</code> environment variable</a>.
+          </li></ul></div><p>
+      </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6602" />9.11.6.2.&#160;Qpid Tuning</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+          The system property <code class="literal">qpid.broker.bdbTotalCacheSize</code> sets the total amount of heap memory (in bytes) allocated to BDB caches.
+        </li><li class="listitem">
+          The system property <code class="literal">broker.flowToDiskThreshold</code> sets the threshold (in bytes) for flowing transient messages to disk.
+          Should the broker use more than direct memory it will flow incoming messages to disk.
+          Should utilisation fall beneath the threshold it will stop flowing messages to disk.
+        </li><li class="listitem">
+          The system property <code class="literal">connection.maxUncommittedInMemorySize</code> sets the threshold (in bytes)
+          for total messages sizes (in bytes) from connection uncommitted transactions when messages are hold in memory.
+          If threshold is exceeded, all messages from connection in-flight transactions are flowed to disk including
+          those arriving after breaching the threshold.
+        </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6621" />9.11.6.3.&#160;Formulae</h4></div></div></div><p>
+        We developed a simple formula which estimates the <span class="emphasis"><em>minimum</em></span> memory usage of the broker under certain usage.
+        These are rough estimate so we strongly recommend testing your configuration extensively.
+        Also, if your machine has more memory available by all means use more memory as it can only improve the performance and stability of your broker.
+        However, remember that both heap and direct memory are served from your computer's physical memory so their sum should never exceed the physically available RAM (minus what other processes use).
+      </p><p>
+        </p><div class="informalequation"><span class="mathphrase">
+            memory<sub>heap</sub> = 15 MB + 20 kB * N<sub>sessions</sub> + (1.7 kB + (120 + averageSize<sub>headerNameAndValue</sub> ) * averageNumber<sub>headers</sub>)* N<sub>messages</sub> + 100 kB * N<sub>connections</sub>
+          </span></div><p>
+      </p><p>
+        </p><div class="informalequation"><span class="mathphrase">
+            memory<sub>direct</sub> = 2 MB + (200 B + averageSize<sub>msg</sub> *2)*  N<sub>messages</sub> + 1MB * N<sub>connections</sub>
+          </span></div><p>
+      </p><p>
+        Where <span class="mathphrase">N</span> denotes the total number of connections/sessions/messages on the broker. Furthermore, for direct memory only the messages that have not been flowed to disk are relevant.
+      </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The formulae assume the worst case in terms of memory usage: persistent messages and TLS connections. Transient messages consume less heap memory than persistent and plain connections consume less direct memory than TLS
+          connections.
+        </p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e6679" />9.11.6.4.&#160;Things to Consider</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="d0e6682" />Performance</h5></div></div></div><p>
+          Choosing a smaller direct memory size will lower the threshold for flowing transient messages to disk when messages accumulate on a queue.
+          This can have impact on performance in the transient case where otherwise no disk I/O would be involved.
+        </p><p>
+          Having too little heap memory will result in poor performance due to frequent garbage collection events. See <a class="xref" href="Java-Broker-Runtime-Memory.html#Java-Broker-Runtime-Memory-Low-Memory" title="9.11.4.&#160;Low Memory Conditions">Section&#160;9.11.4, &#8220;Low Memory Conditions&#8221;</a> for more details.
+        </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="d0e6691" />OutOfMemoryError</h5></div></div></div><p>
+          Choosing too low heap memory can cause an OutOfMemoryError which will force the broker to shut down.
+          In this sense the available heap memory puts a hard limit on the number of messages you can have in the broker at the same time.
+        </p><p>
+          If the Java runs out of direct memory it also throws a OutOfMemoryError resulting the a broker shutdown.
+          Under normal circumstances this should not happen but needs to be considered when deviating from the default configuration, especially when changing the flowToDiskThreshold.
+        </p><p>
+          If you are sending very large messages you should accommodate for this by making sure you have enough direct memory.
+        </p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Connection-Limit.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-High-Availability.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">9.10.&#160; [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Message-Compression.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Message-Compression.html.in
new file mode 100644
index 0000000..309e988
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Message-Compression.html.in
@@ -0,0 +1,15 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.9.&#160;Message Compression</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Background-Recovery.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;9.&#160;Runtime</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Connection-Limit.html">Next</a></td></tr></table><hr /></div>< [...]
+  Clients implementing the same feature.</p><p>Once the feature is enabled (using Broker context variable
+   <span class="emphasis"><em>broker.messageCompressionEnabled</em></span>), the Broker will advertise support for the
+  message compression feature to the client at connection time. This allows clients to opt to turn
+  on message compression, allowing message payload sizes to be reduced.</p><p>If the Broker has connections from clients who have message compression enabled and others who
+  do not, it will internally, on-the-fly, decompress compressed messages when sending to clients
+  without support and conversely, compress uncomressed messages when sending to clients who do.</p><p>The Broker has a threshold below which it will not consider compressing a message, this is
+  controlled by Broker content variable
+   (<code class="literal">connection.messageCompressionThresholdSize</code>) and expresses a size in bytes.</p><p>This feature <span class="emphasis"><em>may</em></span> have a beneficial effect on performance by:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Reducing the number of bytes transmitted over the wire, both between Client and Broker, and
+    in the HA case, Broker to Broker, for replication purposes.</p></li><li class="listitem"><p>Reducing storage space when data is at rest within the Broker, both on disk and in
+    memory.</p></li></ul></div><p>Of course, compression and decompression is computationally expensive. Turning on the feature
+  may have a negative impact on CPU utilization on Broker and/or Client. Also for small messages
+  payloads, message compression may increase the message size. It is recommended to test the feature
+  with representative data.</p><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.d0e6366" class="footnote"><p><a href="#d0e6366" class="para"><sup class="para">[10] </sup></a>Message compression is not yet supported for the 1.0
+    protocol.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Background-Recovery.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Connection-Limit.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">9. [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Transaction-Timeout.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Transaction-Timeout.html.in
new file mode 100644
index 0000000..4ed8a00
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime-Transaction-Timeout.html.in
@@ -0,0 +1,43 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.3.&#160;Transaction Timeout</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Disk-Space-Management.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;9.&#160;Runtime</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Handling-Undeliverable-Messages.html">Next</a></td></tr></ta [...]
+   using transactions hang, become unresponsive, or simply (due to programming error)
+   begin a transaction and keep using it without ever calling committing or rolling back.</p><p>Users can choose to configure an idleWarn or openWarn threshold, after which the identified
+   transaction should be logged as a WARN level alert as well as (more importantly) an idleClose or
+   openClose threshold after which the transaction and the connection it applies to will be
+   closed.</p><p>This feature is particularly useful in environments where the owner of the broker does not
+   have full control over the implementation of clients, such as in a shared services
+   deployment.</p><p>The following section provide more details on this feature and its use.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Transaction-Timeout-Purpose" />9.3.2.&#160;Purpose</h3></div></div></div><p> This feature has been introduced to address the scenario where an open transaction on the
+   broker holds an open transaction on the persistent store. This can have undesirable consequences
+   if the store does not time out or close long-running transactions, such as with BDB. This can can
+   result in a rapid increase in disk usage size, bounded only by available space, due to growth of
+   the transaction log. </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Transaction-Timeout-Effect" />9.3.3.&#160;Effect</h3></div></div></div><p>Full details of configuration options are provided in the sections that follow. This section
+   gives a brief overview of what the Transaction Timeout feature can do.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Runtime-Transaction-Timeout-Effect-Broker-Side" />9.3.3.1.&#160;Broker Logging and Connection Close</h4></div></div></div><p>When the openWarn or idleWarn specified threshold is exceeded, the broker will log a WARN
+    level alert with details of the connection on which the threshold has been exceeded,
+    along with the age of the transaction.</p><p>When the openClose or idleClose specified threshold value is exceeded, the broker will
+    throw an exception back to the client connection via the <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html" target="_top">ExceptionListener</a>, log the
+    action and then close the connection.</p><p>The example broker log output shown below is where the idleWarn threshold specified is
+    lower than the idleClose threshold and the broker therefore logs the idle transaction 3 times
+    before the close threshold is triggered and the connection closed out.</p><pre class="screen">
+CON-1011 : Idle Transaction : 13,116 ms
+CON-1011 : Idle Transaction : 14,116 ms
+CON-1011 : Idle Transaction : 15,118 ms
+CON-1002 : Close : Idle transaction timed out
+   </pre><p>The second example broker log output shown below illustrates the same mechanism operating
+    on an open transaction.</p><pre class="screen">
+CON-1010 : Open Transaction : 12,406 ms
+CON-1010 : Open Transaction : 13,406 ms
+CON-1010 : Open Transaction : 14,406 ms
+CON-1002 : Close : Open transaction timed out
+   </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Runtime-Transaction-Timeout-Effect-Client-Side" />9.3.3.2.&#160;Client Side Effect</h4></div></div></div><p>After a Close threshold has been exceeded, the Broker will close the client's connection.
+    The application must reconnect itself in order to continue work.  If the
+    client is a JMS client, the application will be notified by the
+    <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html" target="_top">exception
+     listener.</a></p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Transaction-Timeout-Configuration" />9.3.4.&#160;Configuration</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Runtime-Transaction-Timeout-Configuration-Overview" />9.3.4.1.&#160;Configuration</h4></div></div></div><p>The transaction timeouts can be specified when a new virtualhost is created  [...]
+    virtualhost is edited.</p><p>We would recommend that only warnings are configured at first, which should allow broker
+    administrators to obtain an idea of the distribution of transaction lengths on their systems,
+    and configure production settings appropriately for both warning and closure. Ideally
+    establishing thresholds should be achieved in a representative UAT environment, with clients and
+    broker running, prior to any production deployment.</p><p>It is impossible to give suggested values, due to the large variation in usage depending on
+    the applications using a broker. However, clearly transactions should not span the expected
+    lifetime of any client application as this would indicate a hung client.</p><p>When configuring closure timeouts, it should be noted that a timeout on any producer
+    or consumer will cause the connection to be closed - this disconnecting all producers and consumers
+    created on that connection.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Disk-Space-Management.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Handling-Undeliverable-Messages.html">Next</a></td></tr><tr><td width [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime.html.in
new file mode 100644
index 0000000..56524ff
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Runtime.html.in
@@ -0,0 +1,97 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;9.&#160;Runtime</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Security-Configuration-Encryption.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Disk-Space-Management.html">Next</a></td></tr></table><hr /></div><div class="c [...]
+        <span class="emphasis"><em>closeWhenNoRoute</em></span>
+    </a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Runtime-Flow-To-Disk.html">9.6. Flow to Disk</a></span></dt><dt><span class="section"><a href="Java-Broker-Runtime-Consumers.html">9.7. Consumers</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Runtime-Consumers.html#Java-Broker-Runtime-Consumers-Prioirty">9.7.1. Priority</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Runtime-Background-Recovery.html">9.8. Backgroun [...]
+    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>The Broker is capable of sending logging events to a variety of destinations including
+          plain files, remote syslog daemons, and an in-memory buffer (viewable from Management).
+          The system is also open for extension meaning it is possible to produce a plugin to log to
+          a bespoke destination.</p></li><li class="listitem"><p>Logging can be dynamically configured at runtime. For instance, it is possible to
+          temporarily increase the logging verbosity of the system whilst a problem is investigated
+          and then revert later, all without the need to restart the Broker.</p></li><li class="listitem"><p>Virtualhosts can be configured to generate their own separate log, and the Broker is
+          capable of generating a log either inclusive or exclusive of virtualhost events.</p></li><li class="listitem"><p>Logs are accessible over Management, removing the need for those operating the Broker
+          to have shell level access.</p></li></ul></div><p>
+  </p><p>In the remainder of this section you will first find a description of the concepts used in
+    the logging subsystem. Next, you find a description of the default configuration. The section
+    then concludes with a in-depth description of the loggers themselves and how they may be
+    configured.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Logging-Concepts" />9.1.1.&#160;Concepts</h3></div></div></div><p>The logging subsystem uses two concepts:</p><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>A <span class="emphasis"><em>Logger</em></span> is responsible for production of a log. The Broker
+            ships a variety of loggers, for instance, a file logger, which is capable of writing a
+            log file to the file system, a Syslog Logger capable of writing to a remote syslog
+            daemon and console logger capable of writing to stdout or stderr.</p><p>Loggers are attached at two points within the Broker Model; the Broker itself and
+            the virtualhosts. Loggers attached at the Broker can capture log events for the system
+            as a whole, or can exclude events related to virtualhosts.</p><p>Loggers attached to a virtualhost capture log events relating to that virtualhost
+            only.</p><p>The Broker and virtualhosts can have zero or more Loggers. If no loggers are
+            configured, no logging is generated at all.</p></li><li class="listitem"><p><span class="emphasis"><em>Inclusion rules</em></span> govern what appears within a log. Inclusion
+            rules are associated with Loggers. This means it is possible for different Loggers to
+            have different contents.</p><p>A Logger with no inclusion rules will produce an empty log.</p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Logging-Default-Configuration" />9.1.2.&#160;Default Configuration</h3></div></div></div><p>The default configuration is designed to be suitable for use without change in small
+      production environments. It has the following characteristics:</p><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>The Broker generates a single log file <code class="literal">qpid.log</code>. This logfile is
+            rolled automatically when the file reaches 100MB. A maximum history of one file is
+            retained. On restart the the log will be appended to.</p><p>The log contains: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>All operational logging events. See <a class="xref" href="Java-Broker-Appendix-Operation-Logging.html" title="Appendix&#160;C.&#160;Operational Logging">Appendix&#160;C, <em>Operational Logging</em></a>.</p></li><li class="listitem"><p>Log events from Qpid itself deemed informational or
+                higher.</p></li><li class="listitem"><p>Log events from Qpid's dependencies (such as Derby or Jetty) that are
+                  deemed warning or higher.</p></li></ul></div><p>
+          </p><p>The default location for the log file is
+              <code class="literal">${QPID_WORK}/log/qpid.log</code>.</p></li><li class="listitem"><p>The Broker also caches the last 4096 log events in a memory cache. By default, the
+            memory logger logs the same things the file logger does.</p></li></ul></div><p>
+    </p><p>The configuration can be customised at runtime using Management. This makes it possible to
+      investigate unusual conditions <span class="emphasis"><em>without</em></span> the need to restart the Broker.
+      For instance, you may alter the logging level so that a verbose log is produced whilst an
+      investigation is in progress and revert the setting later, all without the need to restart the
+      Broker.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Logging-Loggers" />9.1.3.&#160;Loggers</h3></div></div></div><p>Loggers are responsible for the writing of a log. The log includes log events that match a
+      Logger's inclusion rules.</p><p>Loggers are associated with either the Broker or a virtualhost. Virtualhost loggers write
+      only log events related to that virtualhost. Broker Loggers write log events from the Broker
+      as a whole. Optionally a Broker Logger can be configured to exclude log events coming from
+      virtualhosts. These abilities can be usefully exploited together in managed service scenarios
+      to produce separate logs for separate user groups.</p><p>Loggers can be added or removed at runtime, without restarting the Broker. However changes
+      to a Logger's configuration such as filenames and rolling options don't take effect until the
+      next restart. Changes to a Logger's inclusion rules take effect immediately.</p><p>All loggers allow the log event layout to be customised. Loggers understand <a class="link" href="http://logback.qos.ch/manual/layouts.html#ClassicPatternLayout" target="_top"> Logback Classic
+        Pattern Layouts</a>. </p><p>The following sections describes each Logger implementation in detail.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Runtime-Logging-Loggers-FileLogger" />9.1.3.1.&#160;FileLogger</h4></div></div></div><p>A <span class="emphasis"><em>FileLogger</em></span> - writes a log file to the filesystem. The name and
+        location of the log file, the rolling configuration, and compression options can be
+        configured.</p><p>The <span class="emphasis"><em>roll daily</em></span> option, if enabled, will cause the log file will be
+        rolled at midnight local time. The rolled over file will have a suffix in the form
+          <code class="literal">yyyy-mm-dd</code>. In roll daily mode, <span class="emphasis"><em>maximum number of rolled
+          files</em></span> controls the maximum number of <span class="emphasis"><em>days</em></span> to be retained.
+        Older files will be deleted.</p><p>The <span class="emphasis"><em>maximum file size</em></span> option limits the size of any one log file.
+        Once a log file reaches the given size, it will be rolled. The rolled over file will have
+        the numeric suffix, beginning at <code class="literal">1</code>. If the log file rolls again, first
+        the existing file with the suffix <code class="literal">.1</code> is renamed to <code class="literal">.2</code>
+        and so forth. If roll daily is not in use, <span class="emphasis"><em>maximum number of rolled
+          files</em></span> governs the number of rolled <span class="emphasis"><em>files</em></span> that will be
+        retained.</p><p><span class="emphasis"><em>Roll on restart</em></span> governs whether the log file is rolled when the
+        Broker is restarted. If not ticked, the Broker will append to the existing log file until it
+        needs to be rolled.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Runtime-Logging-Loggers-ConsoleLogger" />9.1.3.2.&#160;ConsoleLogger</h4></div></div></div><p><span class="emphasis"><em>ConsoleLogger</em></span> - writes a log file standard out or standard
+        error.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Runtime-Logging-Loggers-SyslogLogger" />9.1.3.3.&#160;SyslogLogger</h4></div></div></div><p><span class="emphasis"><em>SyslogLogger</em></span> - writes a log file to a syslog daemon using the
+          <code class="literal">USER</code> facility. The hostname and port number of the syslog daemon can be
+        configured.</p><p>Log entries can be prefixed with a string. This string defaults to include the word
+          <code class="literal">Qpid</code> and the name of the Broker or virtualhost. This serves to
+        distinguish the logging generated by this Qpid instance, from other Qpid instances, or other
+        applications using the <code class="literal">USER</code>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Runtime-Logging-Loggers-MemoryLogger" />9.1.3.4.&#160;MemoryLogger</h4></div></div></div><p><span class="emphasis"><em>MemoryLogger</em></span> - writes a log file to a circular in-memory buffer. By
+        default the circular buffer holds the last 4096 log events. The contents of the buffer can
+        be viewed via Management. See <a class="xref" href="Java-Broker-Runtime.html#Java-Broker-Runtime-Logging-Management-MemoryLogger" title="Figure&#160;9.3.&#160;Viewing a memory logger">Figure&#160;9.3, &#8220;Viewing a memory logger&#8221;</a></p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Logging-InclusionRules" />9.1.4.&#160;Inclusion Rules</h3></div></div></div><p>A <span class="emphasis"><em>Logger</em></span>  [...]
+      govern what appears in the log. A Logger with no inclusion rules will log nothing.</p><p>Inclusion rules can be added, removed or changed at runtime. Changes take place
+      immediately.</p><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>The <span class="emphasis"><em>Name And Level</em></span> inclusion rule accepts log events that match
+            a given <span class="emphasis"><em>log event source name</em></span> and have a level that equals or
+            exceeds the specified value.</p><p>The log event source name refers to the fully qualified class name from which the
+            event originates. These names permit a trailing wild card <code class="literal">.*</code>. For
+            instance a source name of <code class="literal">org.apache.qpid.*</code> will match all events
+            from classes in the package <code class="literal">org.apache.qpid</code> and any sub packages
+            beneath.</p><p>The <span class="emphasis"><em>Level</em></span> governs the level of the events that will be included
+            in the log. It may take one of the following values: ERROR, WARN, INFO, DEBUG, TRACE
+            where ERROR is considered the highest and TRACE the lowest. In addition, there are two
+            special values: OFF and ALL, the former excludes all log events whereas the latter will
+            include everything. When considering whether a logging event should be included in the
+            log, the logging event must have a level that matches that of the inclusion rule or be
+            higher, otherwise the log event will not appear in the log.</p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Runtime-Logging-Management" />9.1.5.&#160;Logging Management</h3></div></div></div><p>The logging subsystem can be completely managed from the Web Management Console or the
+      REST API. You can: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Add, remove, or change the configuration of Loggers.</p></li><li class="listitem"><p>Add, remove, or change the Inclusion Rules.</p></li><li class="listitem"><p>For FileLoggers, download the log file and rolled log files associated with
+            the Logger.</p></li><li class="listitem"><p>For MemoryLoggers, view the last <code class="literal">n</code> log
+          events</p></li></ul></div><p>
+    </p><p> The figure that follows shows a FileLogger. The attributes area shows the configuration
+      of the Logger. The inclusion rule table shows the rules that are associated with the Logger.
+      The area towards the bottom of the tab allows the log files to be downloaded to the browser.
+        </p><div class="figure"><a id="Java-Broker-Runtime-Logging-Management-FileLogger" /><p class="title"><strong>Figure&#160;9.1.&#160;Viewing a file logger</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Logging-FileLogger.png" height="360" alt="Viewing a file logger" /></td></tr></table></div></div></div><p><br [...]
+    </p><p> The figure below shows the editing of the level of an inclusion rule. </p><div class="figure"><a id="Java-Broker-Runtime-Logging-Management-InclusionRule" /><p class="title"><strong>Figure&#160;9.2.&#160;Editing an inclusion rule</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Logging-InclusionRule.png" h [...]
+    </p><p> The figure below shows a Memory Logger. Note that the Memory Logger provides access to
+      the cached message via the viewer towards the bottom on the tab. </p><div class="figure"><a id="Java-Broker-Runtime-Logging-Management-MemoryLogger" /><p class="title"><strong>Figure&#160;9.3.&#160;Viewing a memory logger</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Logging-MemoryLogger.png" height="360" alt [...]
+    </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Security-Configuration-Encryption.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime-Disk-Space-Management.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">8.4.&#160;Configuration Encryption&#160;</td><td  [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security-AccessControlProviders.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security-AccessControlProviders.html.in
new file mode 100644
index 0000000..cba38a0
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security-AccessControlProviders.html.in
@@ -0,0 +1,256 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.3.&#160;Access Control Providers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Security-Group-Providers.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;8.&#160;Security</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Security-Configuration-Encryption.html">Next</a></td></tr></table>< [...]
+    The Access Control Provider governs the actions that a user may perform.
+  </p><p>There are two points within the hierarchy that enforce access control: the Broker itself and at each Virtual
+    Host. When an access decision needs to be made, the nearest control point configured with a provider is consulted
+    for a decision.  The example, when making a decision about the ability to say, consume from, a Queue, if the
+    Virtual Host is configured with Access Control Provider it is consulted.  Unless a decision is made, the decision
+    is delegated to the Access Control Provider configured at the Broker.
+  </p><p>Access Control Providers are configured with a list of ACL rules. The rules determine to which objects
+    the user has access and what actions the user may perform on those objects.  Rules are ordered and are considered
+    top to bottom.  The first matching rule makes the access decision.
+  </p><p>
+    ACL rules may be written in terms of user or group names. A rule written in terms of a group name applies to the
+    user if he is a member of that group. Groups information is obtained from the
+    <a class="link" href="Java-Broker-Security.html#Java-Broker-Security-Authentication-Providers" title="8.1.&#160;Authentication Providers">Authentication Providers</a>
+    and
+    <a class="link" href="Java-Broker-Security-Group-Providers.html" title="8.2.&#160;Group Providers">Group Providers</a>.  Writing ACL in terms of groups is
+    recommended.
+  </p><p>
+    The Access Control Providers can be configured using
+    <a class="link" href="Java-Broker-Management-Channel-REST-API.html" title="6.3.&#160;REST API">REST Management interfaces</a>
+    and <a class="link" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2.&#160;Web Management Console">Web Management Console</a>.
+  </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-AccessControlProviders-Types" />8.3.1.&#160;Types</h3></div></div></div><p>There are currently two types of Access Control Provider implementing ACL rules.
+      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>RulesBased</em></span> - a provider that stores the rules-set within
+           the Broker's or VirtualHost's configuration.  When used with HA, the Virtualhost
+           rules automatically propagated to all nodes participating within the HA group.</p></li><li class="listitem"><p>
+            </p><p><span class="emphasis"><em>ACLFile</em></span> - an older provider that references an externally provided
+              ACL file (or data url).  This provider is deprecated.</p><p>
+          </p></li></ul></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-AccessControlProviders-ACLRules" />8.3.2.&#160;
+       ACL Rules
+    </h3></div></div></div><p>
+      An ACL rule-set is an ordered list of ACL rules.</p><p>An ACL rule comprises matching criteria that determines if a rule applies to a situation and a decision
+      outcome. The rule produces an outcome only if the all matching criteria are satisfied.
+    </p><p>Matching criteria is composed of an ACL object type (e.g. <code class="literal">QUEUE</code>), an ACL action
+      (e.g. <code class="literal">UPDATE</code>) and other properties that further refine if a match is made. These properties
+      restrict the match based on additional criteria such as name or IP address. ACL Object type <code class="literal">ALL</code>
+      matches any object.  Likewise ACL Action <code class="literal">ALL</code> matches any action.
+    </p><p>Let's look at some examples.</p><pre class="programlisting">
+      ACL ALLOW alice CREATE QUEUE              # Grants alice permission to create all queues.
+      ACL DENY bob CREATE QUEUE name="myqueue"  # Denies bob permission to create a queue called "myqueue"
+    </pre><p>
+      As discussed, the ACL rule-set is considered in order with the first matching rule taking precedence over all those
+      that follow. In the following example, if the user bob tries to create an exchange "myexch", the action
+      will be allowed by the first rule. The second rule will never be considered.
+    </p><pre class="programlisting">
+      ACL ALLOW bob ALL EXCHANGE
+      ACL DENY bob CREATE EXCHANGE name="myexch"  # Dead rule
+    </pre><p>
+      If the desire is to allow bob to create all exchanges except "myexch", order of the rules must be reversed:
+    </p><pre class="programlisting">
+      ACL DENY bob CREATE EXCHANGE name="myexch"
+      ACL ALLOW bob ALL EXCHANGE
+    </pre><p>
+      If a rule-set fails to make a decision, the result is configurable. By default, the <code class="literal">RuleBased</code>
+      provider defers the decision allowing another provider further up the hierarchy to make a decision (i.e. allowing
+      the VirtualHost control point to delegate to the Broker). In the case of the ACLFile provider, by default, its
+      rule-set implicit have a rule denying all operations to all users. It is as if the rule-set ends with
+      <code class="literal">ACL DENY ALL ALL</code>.   If no access control provider makes a decision the default is to
+      deny the action.
+    </p><p>
+      When writing a new ACL, a useful approach is to begin with an rule-set containing only
+      </p><pre class="programlisting">ACL DENY-LOG ALL ALL</pre><p> at the Broker control point which will cause the Broker to
+      deny all operations with details of the denial logged. Build up the ACL rule by rule, gradually working through
+      the use-cases of your system. Once the ACL is complete, consider switching the DENY-LOG actions to DENY.
+    </p><p>
+      ACL rules are very powerful: it is possible to write very granular rules specifying many broker objects and their
+      properties.  Most projects probably won't need this degree of flexibility.  A reasonable approach is to choose to apply permissions
+      at a certain level of abstractions and apply them consistently across the whole system.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-AccessControlProviders-Syntax" />8.3.3.&#160;
+       Syntax
+    </h3></div></div></div><p>
+       ACL rules follow this syntax:
+    </p><pre class="programlisting">
+     ACL {permission} {&lt;group-name&gt;|&lt;user-name&gt;|ALL} {action|ALL} [object|ALL] [property="&lt;property-value&gt;"]
+    </pre><p>
+       Comments may be introduced with the hash (#) character and are ignored.  Long lines can be broken with the slash (\) character.
+    </p><pre class="programlisting">
+      # A comment
+      ACL ALLOW admin CREATE ALL # Also a comment
+      ACL DENY guest \
+      ALL ALL   # A broken line
+    </pre></div><div class="table"><a id="table-Java-Broker-Security-AccessControlProviders-Syntax_permissions" /><p class="title"><strong>Table&#160;8.1.&#160;List of ACL permission</strong></p><div class="table-contents"><table summary="List of ACL permission" border="1"><colgroup><col class="command" /><col class="action" /></colgroup><tbody><tr><td><span class="command"><strong>ALLOW</strong></span></td><td><p>Allow the action</p></td></tr><tr><td><span class="command"><strong>ALLOW- [...]
+          <p>Applied when the contents of a queue is purged</p> </td><td><p>QUEUE</p></td><td><p> </p></td></tr><tr><td> <span class="command"><strong>UPDATE</strong></span> </td><td> <p> Applied when an object is updated </p> </td><td><p>VIRTUALHOSTNODE, VIRTUALHOST, EXCHANGE, QUEUE, USER, GROUP</p></td><td><p>see EXCHANGE and QUEUE properties</p></td></tr><tr><td> <span class="command"><strong>CONFIGURE</strong></span> </td><td> <p> Applied when a Broker/Port/Authentication Provider/Ac [...]
+            <p>
+              Comma-separated strings representing IPv4 address ranges.
+            </p>
+            <p>
+              Intended for use in ACCESS VIRTUALHOST rules to apply firewall-like restrictions.
+            </p>
+            <p>
+              The rule matches if any of the address ranges match the IPv4 address of the messaging client.
+              The address ranges are specified using either Classless Inter-Domain Routing notation
+              (e.g. 192.168.1.0/24; see <a class="link" href="http://tools.ietf.org/html/rfc4632" target="_top">RFC 4632</a>)
+              or wildcards (e.g. 192.169.1.*).
+            </p>
+          </td></tr><tr><td> <span class="command"><strong>from_hostname</strong></span> </td><td>
+            <p>
+              Comma-separated strings representing hostnames, specified using Perl-style regular
+              expressions, e.g. .*\.example\.company\.com
+            </p>
+            <p>
+              Intended for use in ACCESS VIRTUALHOST rules to apply firewall-like restrictions.
+            </p>
+            <p>
+              The rule matches if any of the patterns match the hostname of the messaging client.
+            </p>
+            <p>
+              To look up the client's hostname, Qpid uses Java's DNS support, which internally caches its results.
+            </p>
+            <p>
+              You can modify the time-to-live of cached results using the *.ttl properties described on the
+              Java <a class="link" href="http://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html" target="_top">Networking
+              Properties</a> page.
+            </p>
+            <p>
+              For example, you can either set system property sun.net.inetaddr.ttl from the command line
+              (e.g. export QPID_OPTS="-Dsun.net.inetaddr.ttl=0") or networkaddress.cache.ttl in
+              $JAVA_HOME/lib/security/java.security. The latter is preferred because it is JVM
+              vendor-independent.
+            </p>
+          </td></tr><tr><td><span class="command"><strong>connection_limit</strong></span></td><td>
+            <p>
+              A maximum number of connections the users belonging to the given identity can establish to the Virtual Host
+            </p>
+            <p>
+              Intended for use in ACCESS VIRTUALHOST rules to restrict the number of connections which can be made
+              by the messaging user.
+            </p>
+          </td></tr><tr><td><span class="command"><strong>connection_frequency_limit</strong></span></td><td>
+            <p>
+              A maximum number of connections the user belonging to the given identity can establish to the Virtual Host
+              within pre-defined period of time, which is 1 minute by default.
+            </p>
+            <p>
+              Intended for use in ACCESS VIRTUALHOST rules to restrict the frequency of connections which can be made
+              by the messaging user.
+            </p>
+            <p>If required, the frequency period can be changed using context variable
+              <span class="emphasis"><em>qpid.virtualhost.connectionFrequencyPeriodInMillis</em></span>. As name suggests, its value needs
+              to be specified in milliseconds. Setting it to zero or negative value turns off the
+              <span class="command"><strong>connection_frequency</strong></span> evaluation.
+            </p>
+          </td></tr><tr><td><span class="command"><strong>virtualhost_name</strong></span></td><td>
+            <p>
+              String. A name of virtual host to which the rule is applied.
+            </p>
+          </td></tr><tr><td><span class="command"><strong>method_name</strong></span></td><td>
+            <p>
+              String. The name of the method. A trailing wildcard (*) is permitted.  Used with INVOKE ACL action.
+            </p>
+          </td></tr><tr><td><span class="command"><strong>attribute_names</strong></span></td><td>
+            <p>
+              Specifies attribute name criteria.  Used by UPDATE ACL actions only.  Rules with this criteria will match
+              if and only if the set of attributes being updated Comma separated list of attribute names .  This criteria
+              will match if all attributes included within the update appear in the set described by
+              <code class="literal">attribute_names</code>.
+            </p>
+          </td></tr></tbody></table></div></div><br class="table-break" /><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-AccessControlProviders-WorkedExamples" />8.3.4.&#160;
+      Worked Examples
+    </h3></div></div></div><p>
+      Here are some example ACLs illustrating common use cases.
+    </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Security-AccessControlProviders-WorkedExample1" />8.3.4.1.&#160;
+        Worked example 1 - Management rights
+      </h4></div></div></div><p>
+        Suppose you wish to permission two users: a user <code class="literal">operator</code> must be able to perform all
+        Management operations, and a user 'readonly' must be enable to perform only read-only actions. Neither
+        <code class="literal">operator</code> nor <code class="literal">readonly</code> should be allowed to connect clients for
+        messaging.
+      </p><div class="example"><a id="d0e5554" /><p class="title"><strong>Example&#160;8.1.&#160;Worked example 1 - Management rights</strong></p><div class="example-contents"><pre class="programlisting">
+          # Deny operator/readonly permission to connect for messaging.
+          ACL DENY-LOG operator ACCESS VIRTUALHOST
+          ACL DENY-LOG readonly ACCESS VIRTUALHOST
+          # Give operator permission to perfom all actions
+          ACL ALLOW operator ALL ALL
+          # Give readonly access permission to virtualhost. (Read permission for all objects implicit)
+          ACL ALLOW readonly ACCESS MANAGEMENT
+          ...
+          ... rules for other users
+          ...
+        </pre></div></div><br class="example-break" /></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Security-AccessControlProviders-ResourceRestrictions" />8.3.4.2.&#160;
+        Resource restrictions
+      </h4></div></div></div><p>
+        The number of Virtual Host connections and frequency of connections can be restricted with
+        <span class="emphasis"><em>ACCESS</em></span> rule.
+      </p><div class="example"><a id="d0e5567" /><p class="title"><strong>Example&#160;8.2.&#160;Restricting user connections to virtual host</strong></p><div class="example-contents"><pre class="programlisting">
+          ACL ALLOW-LOG guest ACCESS VIRTUALHOST connection_limit=1
+          ACL ALLOW-LOG messaging-users ACCESS VIRTUALHOST connection_frequency_limit=100
+          ...
+        </pre></div></div><br class="example-break" /><p>In the example above the maximum number of connections allowed to establish to the Virtual Host by user
+        <span class="emphasis"><em>guest</em></span> is set to <span class="emphasis"><em>1</em></span>. The maximum connection frequency for every user
+        belonging to the user group <span class="emphasis"><em>messaging-users</em></span> is set to <span class="emphasis"><em>100</em></span> (per minute,
+        by default).
+      </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Security-AccessControlProviders-WorkedExample2" />8.3.4.3.&#160;
+        Worked example 2 - Simple Messaging
+      </h4></div></div></div><p>
+        Suppose you wish to permission a system for application messaging.  User <code class="literal">publisher</code>
+        needs permission to publish to <code class="literal">appqueue</code> and consumer needs permission to consume
+        from the same queue object. We also want <code class="literal">operator</code> to be able to inspect messages
+        and delete messages in case of the need to intervene.  This example assumes that the queue exists on
+        the Broker.
+      </p><p>
+        We use this ACL to illustrate separate Broker and Virtualhost access control providers.
+      </p><p>
+        The following ACL rules are given to the Broker.
+      </p><div class="example"><a id="d0e5604" /><p class="title"><strong>Example&#160;8.3.&#160;Worked example 2 - Simple Messaging - Broker ACL rules</strong></p><div class="example-contents"><pre class="programlisting">
+# This gives the operate permission to delete messages on all queues on all virtualhost
+ACL ALLOW operator ACCESS MANAGEMENT
+ACL ALLOW operator INVOKE QUEUE method_name="deleteMessages"
+ACL ALLOW operator INVOKE QUEUE method_name="getMessage*"
+        </pre></div></div><br class="example-break" /><p>
+        And the following ACL rule-set is applied to the Virtualhost.  The default outcome of the
+        Access Control Provider must be <code class="literal">DEFERED</code>.  This means that if a request for
+        access is made for which there are no matching rules, the decision will be deferred to the
+        Broker so it can make a decision instead.
+      </p><div class="example"><a id="d0e5614" /><p class="title"><strong>Example&#160;8.4.&#160;Worked example 2 - Simple Messaging - Virtualhost ACL rules</strong></p><div class="example-contents"><pre class="programlisting">
+# Configure the rule-set to DEFER decisions that have no matching rules.
+CONFIG DEFAULTDEFER=TRUE
+# Allow client and server to connect to the virtual host.
+ACL ALLOW publisher ACCESS VIRTUALHOST
+ACL ALLOW consumer ACCESS VIRTUALHOST
+
+ACL ALLOW publisher PUBLISH EXCHANGE name="" routingKey="appqueue"
+ACL ALLOW consumer CONSUME QUEUE name="appqueue"
+# In some addressing configurations, the Qpid JMS AMQP 0-x client, will declare the queue as a side effect of creating the consumer.
+# The following line allows for this.  For the Qpid JMS AMQP 1.0 client, this is not required.
+ACL ALLOW consumer CREATE QUEUE name="appqueue"
+        </pre></div></div><br class="example-break" /></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Security-AccessControlProviders-WorkedExample3" />8.3.4.4.&#160;
+        Worked example 3 - firewall-like access control
+      </h4></div></div></div><p>
+        This example illustrates how to set up an ACL that restricts the IP addresses and hostnames
+        of messaging clients that can access a virtual host.
+      </p><div class="example"><a id="d0e5624" /><p class="title"><strong>Example&#160;8.5.&#160;Worked example 3 - firewall-like access control</strong></p><div class="example-contents"><pre class="programlisting">
+          ################
+          # Hostname rules
+          ################
+
+          # Allow messaging clients from company1.com and company1.co.uk to connect
+          ACL ALLOW all ACCESS VIRTUALHOST from_hostname=".*\.company1\.com,.*\.company1\.co\.uk"
+
+          # Deny messaging clients from hosts within the dev subdomain
+          ACL DENY-LOG all ACCESS VIRTUALHOST from_hostname=".*\.dev\.company1\.com"
+
+          ##################
+          # IP address rules
+          ##################
+
+          # Deny access to all users in the IP ranges 192.168.1.0-192.168.1.255 and 192.168.2.0-192.168.2.255,
+          # using the notation specified in RFC 4632, "Classless Inter-domain Routing (CIDR)"
+          ACL DENY-LOG messaging-users ACCESS VIRTUALHOST \
+          from_network="192.168.1.0/24,192.168.2.0/24"
+
+          # Deny access to all users in the IP ranges 192.169.1.0-192.169.1.255 and 192.169.2.0-192.169.2.255,
+          # using wildcard notation.
+          ACL DENY-LOG messaging-users ACCESS VIRTUALHOST \
+          from_network="192.169.1.*,192.169.2.*"
+        </pre></div></div><br class="example-break" /></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Security-Group-Providers.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Security.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Security-Configuration-Encryption.html">Next</a></td></tr><tr> [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security-Configuration-Encryption.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security-Configuration-Encryption.html.in
new file mode 100644
index 0000000..7e61973
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security-Configuration-Encryption.html.in
@@ -0,0 +1,20 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.4.&#160;Configuration Encryption</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Security-AccessControlProviders.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;8.&#160;Security</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime.html">Next</a></td></tr></table><hr /></div><div cla [...]
+    Broker's configuration. This is means that items such as keystore/truststore passwords, JDBC
+    passwords, and LDAP passwords can be stored in the configure in a form that is difficult to
+    read.</p><p>The Broker ships with an encryptor implementation called <code class="literal">AESKeyFile</code>. This
+    uses a securely generated random key of 256bit<a href="#ftn.d0e5640" class="footnote" id="d0e5640"><sup class="footnote">[9]</sup></a> to encrypt the secrets stored within a key
+    file. Of course, the key itself must be guarded carefully, otherwise the passwords encrypted
+    with it may be compromised. For this reason, the Broker ensures that the file's permissions
+    allow the file to be read exclusively by the user account used for running the Broker.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>If the keyfile is lost or corrupted, the secrets will be irrecoverable.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-Configuration-Encryption-Configuration" />8.4.1.&#160;Configuration</h3></div></div></div><p>The <code class=" [...]
+      Web Management Console.  On enabling the provider, any existing passwords within the
+      configuration will be automatically rewritten in the encrypted form.</p><p>Note that passwords stored by the Authentication Providers <a class="link" href="Java-Broker-Security.html#Java-Broker-Security-PlainPasswordFile-Provider" title="8.1.8.&#160;Plain Password File (Deprecated)">PlainPasswordFile</a> and.
+        <a class="link" href="Java-Broker-Security.html#Java-Broker-Security-Base64MD5PasswordFile-Provider" title="8.1.10.&#160;Base64MD5 Password File (Deprecated)">PlainPasswordFile</a>
+      with the external password files are <span class="emphasis"><em>not</em></span> encrypted by the key. Use the
+      Scram Authentication Managers instead; these make use of the Configuration Encryption when
+      storing the users' passwords. </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-Configuration-Encryption-Alternate-Implementations" />8.4.2.&#160;Alternate Implementations</h3></div></div></div><p>If the <code class="literal">AESKeyFile</code> encryptor implementation does not meet the needs of
+      the user, perhaps owing to the security standards of their institution, the
+        <code class="literal">ConfigurationSecretEncrypter</code> interface is designed as an extension point.
+      Users may implement their own implementation of ConfigurationSecretEncrypter perhaps to employ
+      stronger encryption or delegating the storage of the key to an Enterprise Password
+      Safe.</p></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.d0e5640" class="footnote"><p><a href="#d0e5640" class="para"><sup class="para">[9] </sup></a>Java Cryptography Extension (JCE)
+        Unlimited Strength required</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Security-AccessControlProviders.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Security.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Runtime.html">Next</a></td></tr><tr><td width="40%" align="left" valig [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security-Group-Providers.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security-Group-Providers.html.in
new file mode 100644
index 0000000..bb0ea32
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security-Group-Providers.html.in
@@ -0,0 +1,36 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.2.&#160;Group Providers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Security.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;8.&#160;Security</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Security-AccessControlProviders.html">Next</a></td></tr></table><hr /></div><div class="sect [...]
+    The Apache Qpid Broker-J utilises GroupProviders to allow assigning users to groups for use in <a class="link" href="Java-Broker-Security-AccessControlProviders.html" title="8.3.&#160;Access Control Providers">ACLs</a>.
+    Following authentication by a given <a class="link" href="Java-Broker-Security.html#Java-Broker-Security-Authentication-Providers" title="8.1.&#160;Authentication Providers">Authentication Provider</a>,
+    the configured Group Providers are consulted allowing the assignment of GroupPrincipals for a given authenticated user. Any number of
+    Group Providers can be added into the Broker. All of them will be checked for the presence of the groups for a given authenticated user.
+  </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="File-Group-Manager" />8.2.1.&#160;GroupFile Provider</h3></div></div></div><p>
+      The <span class="emphasis"><em>GroupFile</em></span> Provider allows specifying group membership in a flat file on disk.
+      On adding a new GroupFile Provider the path to the groups file is required to be specified.
+      If file does not exist an empty file is created automatically. On deletion of GroupFile Provider
+      the groups file is deleted as well. Only one instance of "GroupFile" Provider per groups file location can be created.
+      On attempt to create another GroupFile Provider pointing to the same location the error will be displayed and
+      the creation will be aborted.
+    </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="File-Group-Manager-FileFormat" />8.2.1.1.&#160;File Format</h4></div></div></div><p>
+            The groups file has the following format:
+          </p><pre class="programlisting">
+    # &lt;GroupName&gt;.users = &lt;comma delimited user list&gt;
+    # For example:
+
+    administrators.users = admin,manager
+</pre><p>
+            Only users can be added to a group currently, not other groups. Usernames can't contain commas.
+          </p><p>
+            Lines starting with a '#' are treated as comments when opening the file, but these are not preserved when the broker updates the file due to changes made through the management interface.
+          </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-Group-Providers-ManagedGroupProvider" />8.2.2.&#160;ManagedGroupProvider</h3></div></div></div><p>
+            The <span class="emphasis"><em>ManagedGroupProvider</em></span> allows specifying group membership as part of broker configuration.
+            In future version of Brokers GroupFile Provider will be replaced by this one.
+        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-Group-Providers-CloudFoundry" />8.2.3.&#160;CloudFoundryDashboardManagementGroupProvider</h3></div></div></div><p>
+            The <span class="emphasis"><em>CloudFoundryDashboardManagementGroupProvider</em></span>
+            allows mapping of service instance ids to qpid management groups.
+        </p><p>
+            One use case is restricting management capabilities of a OAuth2 authenticated user to certain virtual
+            hosts. For this, one would associate a cloudfoundry service id with each virtual host and have an ACL with a
+            separate management group for each virtual host. Given the correct service instance id to
+            management group mapping the GroupProvider will then associate the user with each management group the user
+            is provisioned to manage the associated service instance in the <a class="link" href="http://docs.cloudfoundry.org/services/dashboard-sso.html#checking-user-permissions" target="_top">CloudFoundry dashboard</a>.
+        </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Security.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Security.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Security-AccessControlProviders.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&#160;8.&#160;Sec [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security.html.in
new file mode 100644
index 0000000..7867015
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Security.html.in
@@ -0,0 +1,190 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;8.&#160;Security</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Plugin-HTTP.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Security-Group-Providers.html">Next</a></td></tr></table><hr /></div><div class="chapter [...]
+       ACL Rules
+    </a></span></dt><dt><span class="section"><a href="Java-Broker-Security-AccessControlProviders.html#Java-Broker-Security-AccessControlProviders-Syntax">8.3.3. 
+       Syntax
+    </a></span></dt><dt><span class="section"><a href="Java-Broker-Security-AccessControlProviders.html#Java-Broker-Security-AccessControlProviders-WorkedExamples">8.3.4. 
+      Worked Examples
+    </a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html">8.4. Configuration Encryption</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html#Java-Broker-Security-Configuration-Encryption-Configuration">8.4.1. Configuration</a></span></dt><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html#Java-Broker-Security-Configuration-Encryption-Alterna [...]
+    authenticated. The Broker supports a number of different authentication schemes, each with
+    its own "authentication provider". Any number of Authentication Providers can be configured on
+    the Broker at the same time. </p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p> Only unused Authentication Provider can be deleted. For delete requests attempting to
+      delete Authentication Provider associated with the Ports, the errors will be returned and
+      delete operations will be aborted. It is possible to change the Authentication Provider on
+      Port at runtime. However, the Broker restart is required for changes on Port to take effect.
+    </p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+      Authentication Providers may choose to selectively disable certain authentication mechanisms
+      depending on whether an encrypted transport is being used or not. This is to avoid insecure
+      configurations. Notably, by default the PLAIN mechanism will be disabled on non-SSL
+      connections. This security feature can be overwritten by setting
+      </p><pre class="programlisting">secureOnlyMechanisms = []</pre><p> in the authentication provider
+      section of the config.json.
+      </p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p>
+          Changing the secureOnlyMechanism is a breach of security and might cause passwords to be
+          transfered in the clear. Use at your own risk!
+        </p></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-LDAP-Provider" />8.1.1.&#160;Simple LDAP</h3></div></div></div><p> The Simple LDAP authenticates connections against a Directory (LDAP). </p><p> To create a SimpleLDAPAuthenticationProvider the following mandatory fields are required: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>LDAP  [...]
+                <code class="literal">ldaps://example.com:636</code></p></li><li class="listitem"><p><span class="emphasis"><em>Search context</em></span> is the distinguished name of the search base
+                object. It defines the location from which the search for users begins, for example,
+                <code class="literal">dc=users,dc=example,dc=com</code></p></li><li class="listitem"><p><span class="emphasis"><em>Search filter</em></span> is a DN template to find an LDAP user entry by
+                provided user name, for example, <code class="literal">(uid={0})</code></p></li></ul></div><p> Additionally, the following optional fields can be specified: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>LDAP context factory</em></span> is a fully qualified class name for the
+                JNDI LDAP context factory. This class must implement the <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/InitialContextFactory.html" target="_top">InitialContextFactory</a> interface and produce instances of <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/directory/DirContext.html" target="_top">DirContext</a>. If
+                not specified a default value of <code class="literal">com.sun.jndi.ldap.LdapCtxFactory</code> is
+                used.</p></li><li class="listitem"><p><span class="emphasis"><em>LDAP authentication URL</em></span> is the URL of LDAP server for
+                performing "ldap bind". If not specified, the <span class="emphasis"><em>LDAP server URL</em></span> will
+                be used for both searches and authentications.</p></li><li class="listitem"><p><span class="emphasis"><em>Truststore name</em></span> is a name of <a class="link" href="Java-Broker-Management-Managing-Truststores.html#Java-Broker-Management-Managing-Truststores-Attributes" title="7.12.2.&#160;Attributes">configured
+                truststore</a>. Use this if connecting to a Directory over SSL (i.e. ldaps://)
+                which is protected by a certificate signed by a private CA (or utilising a self-signed
+                certificate).</p></li><li class="listitem"><p><span class="emphasis"><em>Authentication method</em></span> is a method of authentication to use on binding into LDAP
+                when <code class="literal">bind without search</code> mode is not selected.
+                Supported methods are NONE, SIMPLE, GSSAPI. The latter requires setting of <span class="emphasis"><em>Login Config Scope</em></span>
+                which is a name of JAAS login module from JASS login configuration file specified using JVM system
+                property <span class="emphasis"><em>java.security.auth.login.config</em></span> or Java security properties file. If
+                <span class="emphasis"><em>Login Config Scope</em></span> is not specified with <code class="literal">GSSAPI</code>
+                <span class="emphasis"><em>Authentication method</em></span>, the scope <span class="emphasis"><em>qpid-broker-j</em></span> will be used.
+            </p></li><li class="listitem"><p>Additional group information can be obtained from LDAP.
+                There are two common ways of representing group membership in LDAP.
+                </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
+                        User entries can hold membership information as attribute.
+                        To use this the <span class="emphasis"><em>attribute name</em></span> that holds the group information must be specified.
+                    </li><li class="listitem">
+                        Group entries can hold a list of their members as attribute.
+                        This can be used by specifying a <span class="emphasis"><em>search context</em></span> and <span class="emphasis"><em>search filter</em></span> to find all groups that the user should be considered a member of.
+                        Typically this involves filtering groups by looking for the user's DN on a group attribute.
+                        The <span class="emphasis"><em>subtree search scope</em></span> determines whether the search should include the subtree extending from the <span class="emphasis"><em>search context</em></span>.
+                    </li></ul></div><p>
+            </p></li></ul></div><p>
+    </p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>In order to protect the security of the user's password, when using LDAP authentication,
+            you must: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Use SSL on the broker's AMQP and HTTP ports to protect the password during
+                    transmission to the Broker. The Broker enforces this restriction automatically on AMQP
+                    and HTTP ports.</p></li><li class="listitem"><p>Authenticate to the Directory using SSL (i.e. ldaps://) to protect the password
+                    during transmission from the Broker to the Directory.</p></li></ul></div></div><p> The LDAP Authentication Provider works in the following manner. If not in <code class="literal">bind
+        without search</code> mode, it first connects to the Directory and searches for the ldap
+        entity which is identified by the username. The search begins at the distinguished name
+        identified by <code class="literal">Search Context</code> and uses the username as a filter. The search
+        scope is sub-tree meaning the search will include the base object and the subtree extending
+        beneath it. </p><p> If the search returns a match, or is configured in <code class="literal">bind without search</code>
+        mode, the Authentication Provider then attempts to bind to the LDAP server with the given name
+        and the password. Note that <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/Context.html#SECURITY_AUTHENTICATION" target="_top">simple security
+            authentication</a> is used so the Directory receives the password in the clear.
+    </p><p>
+        By default, this authentication provider caches the result of an authentication for a short period of time. This
+        reduces the load on the Directory service if the same credentials are presented frequently within a short
+        period of time.  The length of time a result will be cached is defined by context variable
+        <code class="literal">qpid.auth.cache.expiration_time</code> (default to 600 seconds).  The cache can be disabled by
+        setting the context variable <code class="literal">qpid.auth.cache.size</code> to 0.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-Kerberos-Provider" />8.1.2.&#160;Kerberos</h3></div></div></div><p> Kereberos Authentication Provider uses java GSS-API SASL mechanism to authenticate the
+        connections. </p><p> Configuration of kerberos is done through system properties (there doesn't seem to be a
+        way around this unfortunately). </p><pre class="programlisting">
+    export JAVA_OPTS=-Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.auth.login.config=qpid.conf
+    ${QPID_HOME}/bin/qpid-server
+  </pre><p>Where qpid.conf would look something like this:</p><pre class="programlisting">
+com.sun.security.jgss.accept {
+    com.sun.security.auth.module.Krb5LoginModule required
+    useKeyTab=true
+    storeKey=true
+    doNotPrompt=true
+    realm="EXAMPLE.COM"
+    useSubjectCredsOnly=false
+    kdc="kerberos.example.com"
+    keyTab="/path/to/keytab-file"
+    principal="&lt;name&gt;/&lt;host&gt;";
+};</pre><p> Where realm, kdc, keyTab and principal should obviously be set correctly for the
+        environment where you are running (see the existing documentation for the C++ broker about
+        creating a keytab file). </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Security-Kerberos-Provider-Spnego" />8.1.2.1.&#160;SPNEGO Authentication</h4></div></div></div><p>
+            SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism) based authentication can be configured
+            for Web Management Console and REST API.
+        </p><p>A special JAAS login configuration needs to be provided for
+            Service Principal Name (SPN) <span class="emphasis"><em>HTTP/{FQDN}@REALM</em></span> in addition to configuration
+            provided for broker service principal in scope <span class="emphasis"><em>com.sun.security.jgss.accept</em></span>.
+            An example of such SPNEGO configuration is provided below, </p><pre class="programlisting">
+spnego {
+    com.sun.security.auth.module.Krb5LoginModule required
+    useKeyTab=true
+    storeKey=true
+    doNotPrompt=true
+    realm="EXAMPLE.COM"
+    useSubjectCredsOnly=false
+    kdc="kerberos.example.com"
+    keyTab="/path/to/keytab-file-for-HTTP-principal"
+    principal="HTTP/broker.org";
+};</pre><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Please, note that in the example above a principal name is specified as
+            <span class="emphasis"><em>HTTP/broker.org</em></span> where <span class="emphasis"><em>broker.org</em></span> is supposed to be
+            a fully qualified name of the host where broker is running. The FQDN used to access the Broker
+            must match the host name in the SPN exactly otherwise the authentication will fail.</p></div><p>
+            A name of configuration module in the example above is <span class="emphasis"><em>spnego</em></span>. It can be
+            communicated to the Kerberos authentication provider via context variable or JVM system property
+            <span class="emphasis"><em>qpid.auth.gssapi.spnegoConfigScope</em></span>. For example,
+
+    </p><pre class="programlisting">
+        export QPID_OPTS=-Dqpid.auth.gssapi.spnegoConfigScope=spnego -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.auth.login.config=qpid.conf
+    </pre><p>
+        </p><p>
+            The RELM part in name of authenticated principal logged with SPNEGO mechanism can be stripped by
+            setting context variable <span class="emphasis"><em>qpid.auth.gssapi.spnegoStripRealmFromPrincipalName</em></span> to
+            <span class="emphasis"><em>true</em></span>.
+        </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-OAuth2-Provider" />8.1.3.&#160;OAuth2</h3></div></div></div><p> This authentication provider allows users to login to the broker using credentials from a different service supporting OAuth2.
+        Unfortunately, the <a class="link" href="https://www.rfc-editor.org/rfc/rfc6749.txt" target="_top">OAuth2 specification</a> does not define a standard why to get the identity of a subject from an access token.
+        However, most OAuth2 implementations provide such functionality, although in different ways. Qpid handles this by providing so called IdentityResolvers.
+        Currently the following services are supported:
+        </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>CloudFoundry</p></li><li class="listitem"><p>Facebook</p></li><li class="listitem"><p>GitHub</p></li><li class="listitem"><p>Google</p></li><li class="listitem"><p>Microsoft Live</p></li></ul></div><p>
+        Since all of these, with the exception of CloudFoundry, are tied to a specific service they come with defaults for the Scope, Authorization-, Token-, and IdentityResolverEndpoint.
+    </p><p>
+        By default, this authentication provider caches the result of an authentication for a short period of time. This
+        reduces the load on the OAuth2 service if the same token is presented frequently within a short
+        period of time.  The length of time a result will be cached is defined by context variable
+        <code class="literal">qpid.auth.cache.expiration_time</code> (default to 600 seconds).  The cache can be disabled by
+        setting the context variable <code class="literal">qpid.auth.cache.size</code> to 0.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-External-Provider" />8.1.4.&#160;External (SSL Client Certificates)</h3></div></div></div><p> When <a class="link" href="Java-Broker-Management-Managing-Truststores.html" title="7.12.&#160;Truststores"> requiring SSL Client
+        Certificates</a> be presented the External Authentication Provider can be used, such that
+        the user is authenticated based on trust of their certificate alone, and the X500Principal
+        from the SSL session is then used as the username for the connection, instead of also
+        requiring the user to present a valid username and password. </p><p>
+        <span class="bold"><strong>Note:</strong></span> The External Authentication Provider should typically
+        only be used on the AMQP/HTTP ports, in conjunction with <a class="link" href="Java-Broker-Management-Managing-Ports.html" title="7.9.&#160;Ports">SSL client certificate
+            authentication</a>. It is not intended for other uses and
+        will treat any non-sasl authentication processes on these ports as successful with the given
+        username.</p><p>On creation of External Provider the use of full DN or username CN as a principal name can
+        be configured. If attribute "Use the full DN as the Username" is set to "true" the full DN is
+        used as an authenticated principal name. If attribute "Use the full DN as the Username" is set
+        to "false" the user name CN part is used as the authenticated principal name. Setting the
+        field to "false" is particular useful when <a class="link" href="Java-Broker-Security-AccessControlProviders.html" title="8.3.&#160;Access Control Providers">ACL</a> is required, as at the moment, ACL does not support commas in the user name.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-Anonymous-Provider" />8.1.5.&#160;Anonymous</h3></div></div></div><p> The Anonymous Authentication Provider will allow users to connect with or without
+    credentials and result in their identification on the broker as the user ANONYMOUS. This
+    Provider does not require specification of any additional attributes on creation. </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-ScramSha-Providers" />8.1.6.&#160;SCRAM SHA</h3></div></div></div><p>The SCRAM SHA Providers uses the Broker configuration itself to store the database of
+        users. The users'
+        passwords are stored as salted SHA digested password. This can be further encrypted using the
+        facilities described in <a class="xref" href="Java-Broker-Security-Configuration-Encryption.html" title="8.4.&#160;Configuration Encryption">Section&#160;8.4, &#8220;Configuration Encryption&#8221;</a>.</p><p>There are two variants of this provider, SHA1 and SHA256. SHA256 is recommended whenever
+        possible. SHA1 is provided with compatibility with clients utilising JDK 1.6 (which does not
+        support SHA256).</p><p>For these providers user credentials can be added, removed or changed using
+        Management.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-Plain-Provider" />8.1.7.&#160;Plain</h3></div></div></div><p>The Plain Provider uses the Broker configuration itself to store the database of users
+        (unlike the <a class="link" href="Java-Broker-Security.html#Java-Broker-Security-PlainPasswordFile-Provider" title="8.1.8.&#160;Plain Password File (Deprecated)">PlainPasswordFile</a>, there is no separate password file). As the name suggests,
+        the user data (including password) is not hashed in any way. In order to provide encryption,
+        the facilities described in <a class="xref" href="Java-Broker-Security-Configuration-Encryption.html" title="8.4.&#160;Configuration Encryption">Section&#160;8.4, &#8220;Configuration Encryption&#8221;</a>
+        must be used.</p><p>For this provider user credentials can be added, removed or changed using
+        Management.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-PlainPasswordFile-Provider" />8.1.8.&#160;Plain Password File <span class="emphasis"><em>(Deprecated)</em></span></h3></div></div></div><p><span class="emphasis"><em>This provider is deprecated and will be removed in a future release. The <a class="link" href="Java-Broker-Security.html#Java-Broker-Security-Plain-Provider" title="8.1.7.&#160;Plain">Plain</a> pro [...]
+            instead.</em></span></p><p> The PlainPasswordFile Provider uses local file to store and manage user credentials. When
+        creating an authentication provider the path to the file needs to be specified. If specified
+        file does not exist an empty file is created automatically on Authentication Provider
+        creation. On Provider deletion the password file is deleted as well.</p><p>For this provider user credentials can be added, removed or changed using
+        Management.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e4656" />8.1.8.1.&#160;Plain Password File Format</h4></div></div></div><p> The user credentials are stored on the single file line as user name and user
+            password pairs separated by colon character. This file must not be modified externally
+            whilst the Broker is running.</p><pre class="programlisting">
+# password file format
+# &lt;user name&gt;: &lt;user password&gt;
+guest:guest
+        </pre></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-MD5-Provider" />8.1.9.&#160;MD5 Provider</h3></div></div></div><p> MD5 Provider  uses the Broker configuration itself to store the database of
+        users (unlike the <a class="link" href="Java-Broker-Security.html#Java-Broker-Security-Base64MD5PasswordFile-Provider" title="8.1.10.&#160;Base64MD5 Password File (Deprecated)">Base64MD5 Password File</a>, there is no separate password file). Rather than store the
+        unencrypted user password (as the Plain provider does) it instead stores the MD5 password
+        digest.  This can be further encrypted using the
+        facilities described in <a class="xref" href="Java-Broker-Security-Configuration-Encryption.html" title="8.4.&#160;Configuration Encryption">Section&#160;8.4, &#8220;Configuration Encryption&#8221;</a>.</p><p>For this provider user credentials can be added, removed or changed using
+        Management.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Security-Base64MD5PasswordFile-Provider" />8.1.10.&#160;Base64MD5 Password File <span class="emphasis"><em>(Deprecated)</em></span></h3></div></div></div><p><span class="emphasis"><em>This provider is deprecated and will be removed in a future release.  The
+        <a class="link" href="Java-Broker-Security.html#Java-Broker-Security-MD5-Provider" title="8.1.9.&#160;MD5 Provider">MD5</a> provider should be used
+        instead.</em></span></p><p> Base64MD5PasswordFile Provider uses local file to store and manage user credentials
+        similar to PlainPasswordFile but instead of storing a password the MD5 password digest encoded
+        with Base64 encoding is stored in the file. When creating an authentication provider the path
+        to the file needs to be specified. If specified file does not exist an empty file is created
+        automatically on Authentication Provider creation. On Base64MD5PasswordFile Provider deletion
+        the password file is deleted as well.</p><p>For this provider user credentials can be added, removed or changed using
+        Management.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e4692" />8.1.10.1.&#160;Base64MD5 File Format</h4></div></div></div><p> The user credentials are stored on the single file line as user name and user password
+            pairs separated by colon character. The password is stored MD5 digest/Base64 encoded. This
+            file must not be modified externally whilst the Broker is running.</p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Managing-Plugin-HTTP.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Security-Group-Providers.html">Next</a></td></tr><tr><td width="40%" al [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Virtual-Host-Initial-Configuration.html.in b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Virtual-Host-Initial-Configuration.html.in
new file mode 100644
index 0000000..c32c510
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/Java-Broker-Virtual-Host-Initial-Configuration.html.in
@@ -0,0 +1,21 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.8.&#160;Virtualhost Initial Configuration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Example.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;5.&#160;Initial Configuration</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Management-Channel.html">Next</a></td></ [...]
+            <span class="emphasis"><em>Virtualhost</em></span> initial configuration can be specified in <span class="emphasis"><em>Virtualhost node</em></span>
+            attribute <span class="emphasis"><em>virtualHostInitialConfiguration</em></span>. On first startup,
+            the <span class="emphasis"><em>virtualhost</em></span> is created based on provided initial configuration.
+            You can define there manageable <span class="emphasis"><em>Virtualhost</em></span> attributes and children like exchanges, queues, etc.
+        </p><p>
+            The attribute <code class="varname">virtualHostInitialConfiguration</code> can have a value of <span class="emphasis"><em>URL</em></span>
+            to an external resource where <span class="emphasis"><em>virtualhost</em></span> initial configuration is provided in json format, or,
+            it can hold a string value with initial configuration in stringified json format. If required, you can
+            specify initial configuration as context variable which can be resolved as <span class="emphasis"><em>URL</em></span>
+            to external resource or stringified json.
+        </p><div class="example"><a id="d0e1748" /><p class="title"><strong>Example&#160;5.2.&#160;Example of virtual host initial configuration provided as stringified JSON</strong></p><div class="example-contents"><pre class="programlisting">
+            ...
+            "virtualhostnodes" : [ {
+            "name" : "default",
+            "type" : "JSON",
+            "defaultVirtualHostNode" : "true",
+            "virtualHostInitialConfiguration" : "{\"type\":\"BDB\",\"nodeAutoCreationPolicies\":[{\"patterns\":\".*\",\"createdOnPublish\":\"true\",\"createdOnConsume\":\"true\",\"nodeType\":\"queue\"}]}"
+            } ]
+            ...</pre></div></div><br class="example-break" /><p>After creation of <span class="emphasis"><em>virtualhost</em></span> the value of
+            <code class="varname">virtualHostInitialConfiguration</code> is set to an empty string.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Initial-Configuration-Example.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Initial-Configuration.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Managem [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/apds02.html.in b/input/releases/qpid-broker-j-8.0.5/book/apds02.html.in
new file mode 100644
index 0000000..42385f0
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/apds02.html.in
@@ -0,0 +1,17 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">D.2.&#160;Statistic Report Patterns</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Statistics-Reporting.html">Prev</a>&#160;</td><th width="60%" align="center">Appendix&#160;D.&#160;Statistics Reporting</th><td width="20%" align="right">&#160;<a accesskey="n" href="apds03.html">Next</a></td></tr></table><hr /></div><div clas [...]
+      content variables</a>.  The place where the context variable is defined governs the scope i.e. the entities to
+      which the pattern will be applied.</p><p>For instance, to define a statistics reporting pattern for a single queue,
+      <a class="link" href="Java-Broker-Management-Channel-Web-Console.html#Java-Broker-Management-Channel-Web-Console-Managing-Context-Variables" title="6.2.3.4.&#160;Context Variables">set the contextvariable
+      </a> on the queue itself.  If you want the same statistics report pattern for apply to all queues, set the pattern on a
+       suitable ancestor of the queue.  For instance, if set on virtualhost, the pattern will applied to all queues defined
+       on that virtualhost.  If set on Broker, the pattern will be applied to all queues on the Broker.</p><p>The context variable name is formed as follows:
+      <code class="literal">qpid.&lt;category-name&gt;.statisticsReportPattern</code>.</p><p>For instance, for queue: <code class="literal">qpid.queue.statisticsReportPattern</code> and virtualhost:
+      <code class="literal">qpid.virtualhost.statisticsReportPattern</code></p><p>The value of the context variable is a free text string containing reference(s) to the statistic names that
+      are to appear in the report. References are made by surrounding the name of the statistic with '$' and curly braces,
+      thus <code class="literal">${&lt;statistic-name&gt;}</code>.</p><p>Statistics references allow an optional formatters. The supported formatters are: <code class="literal">:byteunit</code>
+      (produces a human readable byte value e.g. 3 MiB), <code class="literal">:duration</code> (produces a ISO-8601 duration)and
+      <code class="literal">:datetime</code> (produces a ISO-8601 date/time).</p><p>For example, a statistic report pattern for the <code class="literal">queue</code> category specifying two queue
+      statistic values: <code class="literal">queueDepthMessages=${queueDepthMessages},queueDepthBytes=${queueDepthBytes:byteunit}</code></p><p>Like all context variables, the statistic report pattern can also reference the attributes of the entity
+      or even its ancestors.  This feature can be exploited to include things like the name of the entity within the
+      report.</p><p>These points are illustrated in the examples in the next section.</p><p>A catalogue of statistics names and descriptions is available from the REST API documentation available
+      through the <a class="link" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2.&#160;Web Management Console">Web Management Console</a>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Statistics-Reporting.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Appendix-Statistics-Reporting.html">Up</a></td><td width="4 [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/apds03.html.in b/input/releases/qpid-broker-j-8.0.5/book/apds03.html.in
new file mode 100644
index 0000000..645f24b
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/apds03.html.in
@@ -0,0 +1,16 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">D.3.&#160;Examples</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apds02.html">Prev</a>&#160;</td><th width="60%" align="center">Appendix&#160;D.&#160;Statistics Reporting</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-Queue-Alerts.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="t [...]
+      cURL.  This example uses <code class="literal">ancestor</code> references to include entity names:</p><div class="example"><a id="d0e9933" /><p class="title"><strong>Example&#160;D.1.&#160;Enabling statistics for a single queue using the REST API and cURL</strong></p><div class="example-contents"><pre class="screen">curl --user admin --data '{"name" : "qpid.queue.statisticsReportPattern",
+"value" : "${ancestor:virtualhost:name}/${ancestor:queue:name}: queueDepthMessages=${queueDepthMessages},
+queueDepthBytes=${queueDepthBytes:byteunit}"}' https://localhost:8080/api/latest/queue/default/default/myqueue/setContextVariable</pre></div></div><br class="example-break" /><p>
+      Once enabled, an example statistic report output written to the log might look like this:
+      </p><pre class="screen">INFO  [virtualhost-default-pool-0] (q.s.Queue)- Statistics: default/myqueue: queueDepthMessages=0, queueDepthBytes=0 B
+ INFO  [virtualhost-default-pool-2] (q.s.Queue)- Statistics: default/myqueue: queueDepthMessages=3, queueDepthBytes=345 B
+ INFO  [virtualhost-default-pool-2] (q.s.Queue)- Statistics: default/myqueue: queueDepthMessages=3, queueDepthBytes=345 B</pre><p>
+    </p><p>Removing a statistic report pattern from the same queue:</p><div class="example"><a id="d0e9945" /><p class="title"><strong>Example&#160;D.2.&#160;Disabling statistics for a single queue using the REST API and cURL</strong></p><div class="example-contents"><pre class="screen">
+curl --user admin --data '{"name" : "qpid.queue.statisticsReportPattern"}' https://localhost:8080/api/latest/queue/default/default/myqueue/setContextVariable</pre></div></div><br class="example-break" /><p>Adding a statistic reporting pattern to all queues:</p><div class="example"><a id="d0e9952" /><p class="title"><strong>Example&#160;D.3.&#160;Enabling statistics for all queues using the REST API and cURL</strong></p><div class="example-contents"><pre class="screen">curl --user admin - [...]
+"value" : "${ancestor:virtualhost:name}/${ancestor:queue:name}:
+oldestMessageAge=${oldestMessageAge:duration}"}' https://localhost:8080/api/latest/virtualhost/default/default/setContextVariable</pre></div></div><br class="example-break" /><p>
+      Once enabled, an  example statistic report for a virtualhost with two queues might look like this:
+      </p><pre class="screen">INFO  [virtualhost-default-pool-1] (q.s.Queue)- Statistics: default/myqueue1: oldestMessageAge=PT1M24S
+      INFO  [virtualhost-default-pool-1] (q.s.Queue)- Statistics: default/myqueue2: oldestMessageAge=PT0S</pre><p>
+    </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apds02.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Appendix-Statistics-Reporting.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="Java-Broker-Appendix-Queue-Alerts.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">D.2.&#160;Statistic Report Patterns&# [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/book/css/style.css b/input/releases/qpid-broker-j-8.0.5/book/css/style.css
new file mode 100644
index 0000000..8179bf4
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/css/style.css
@@ -0,0 +1,131 @@
+/*
+ *
+ * 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.
+ *
+ */
+ul {
+    list-style-type:square;
+}
+
+th {
+    font-weight: bold;
+}
+
+.navfooter td {
+    font-size:10pt;
+}
+
+.navheader td {
+    font-size:10pt;
+}
+
+body {
+    margin:0;
+    background:#FFFFFF;
+    font-family:"Verdana", sans-serif;
+    font-size:10pt;
+}
+
+.container {
+    width:950px;
+    margin:0 auto;
+}
+
+body a {
+    color:#000000;
+}
+
+
+div.book {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.preface {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.chapter {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.section {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.titlepage {
+    margin-left:-10pt;
+    margin-right:-10pt;
+}
+
+.calloutlist td {
+    font-size:10pt;
+}
+
+.table-contents table {
+    border-spacing: 0px;
+}
+
+.table-contents td {
+    font-size:10pt;
+    padding-left:6px;
+    padding-right:6px;
+}
+
+.chapter h2.title {
+    font-size:20pt;
+    color:#0c3b82;
+}
+
+.chapter .section h2.title {
+    font-size:18pt;
+    color:#0c3b82;
+}
+
+.section h2.title {
+    font-size:16pt;
+    color:#0c3b82;
+}
+
+.section h3.title {
+    font-size:14pt;
+    color:#0c3b82;
+}
+
+.section h4.title {
+    font-size:12pt;
+    color:#0c3b82;
+}
+
+.section h5.title {
+    font-size:12pt;
+    color:#0c3b82;
+}
+
+.section h6.title {
+    font-size:12pt;
+    color:#0c3b82;
+}
+
+.toc a {
+    font-size:9pt;
+}
+
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Broker-MessageFlow.png b/input/releases/qpid-broker-j-8.0.5/book/images/Broker-MessageFlow.png
new file mode 100644
index 0000000..4902c46
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Broker-MessageFlow.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Broker-Model.png b/input/releases/qpid-broker-j-8.0.5/book/images/Broker-Model.png
new file mode 100644
index 0000000..a254565
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Broker-Model.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Broker-PortAuthFlow.png b/input/releases/qpid-broker-j-8.0.5/book/images/Broker-PortAuthFlow.png
new file mode 100644
index 0000000..4df2fa1
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Broker-PortAuthFlow.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Direct.png b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Direct.png
new file mode 100644
index 0000000..184fb80
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Direct.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Direct.svg b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Direct.svg
new file mode 100644
index 0000000..76d25fa
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Direct.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ 
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+ 
+   http://www.apache.org/licenses/LICENSE-2.0
+ 
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ 
+-->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="17 70 436 355" width="436pt" height="355pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2013-10-01 22:37Z</dc:date><!-- Produced by OmniGraffle Professional 5.4.4 --></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="3.488"/><feOffset in="blur" result="offset" dx="0" dy="4"/><feFlood flood-col [...]
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Fanout.png b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Fanout.png
new file mode 100644
index 0000000..1e7f8ca
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Fanout.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Fanout.svg b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Fanout.svg
new file mode 100644
index 0000000..2768886
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Fanout.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ 
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+ 
+   http://www.apache.org/licenses/LICENSE-2.0
+ 
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ 
+-->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="139 112 321 304" width="321pt" height="304pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2013-10-01 22:37Z</dc:date><!-- Produced by OmniGraffle Professional 5.4.4 --></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="3.488"/><feOffset in="blur" result="offset" dx="0" dy="4"/><feFlood flood-c [...]
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-Hierarchical.png b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-Hierarchical.png
new file mode 100644
index 0000000..faa7507
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-Hierarchical.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-Hierarchical.svg b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-Hierarchical.svg
new file mode 100644
index 0000000..28ac5a0
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-Hierarchical.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ 
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+ 
+   http://www.apache.org/licenses/LICENSE-2.0
+ 
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ 
+-->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="52 209 464 364" width="464pt" height="364pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2013-10-01 22:37Z</dc:date><!-- Produced by OmniGraffle Professional 5.4.4 --></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="3.488"/><feOffset in="blur" result="offset" dx="0" dy="4"/><feFlood flood-co [...]
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-JMSSelector.png b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-JMSSelector.png
new file mode 100644
index 0000000..7272949
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-JMSSelector.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-JMSSelector.svg b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-JMSSelector.svg
new file mode 100644
index 0000000..568761a
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic-JMSSelector.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ 
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+ 
+   http://www.apache.org/licenses/LICENSE-2.0
+ 
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ 
+-->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="100 43 404 422" width="404pt" height="422pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2013-10-01 22:37Z</dc:date><!-- Produced by OmniGraffle Professional 5.4.4 --></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="3.488"/><feOffset in="blur" result="offset" dx="0" dy="4"/><feFlood flood-co [...]
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic.png b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic.png
new file mode 100644
index 0000000..f631d73
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic.svg b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic.svg
new file mode 100644
index 0000000..4240be5
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/images/Exchange-Topic.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ 
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+ 
+   http://www.apache.org/licenses/LICENSE-2.0
+ 
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ 
+-->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="123 62 277 368" width="277pt" height="368pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2013-10-01 22:37Z</dc:date><!-- Produced by OmniGraffle Professional 5.4.4 --></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="3.488"/><feOffset in="blur" result="offset" dx="0" dy="4"/><feFlood flood-co [...]
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/HA-BDBHAMessageStore-MBean-jconsole.png b/input/releases/qpid-broker-j-8.0.5/book/images/HA-BDBHAMessageStore-MBean-jconsole.png
new file mode 100644
index 0000000..29d5494
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/HA-BDBHAMessageStore-MBean-jconsole.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/HA-Create-1.png b/input/releases/qpid-broker-j-8.0.5/book/images/HA-Create-1.png
new file mode 100644
index 0000000..4976609
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/HA-Create-1.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/HA-Create-2.png b/input/releases/qpid-broker-j-8.0.5/book/images/HA-Create-2.png
new file mode 100644
index 0000000..bd44226
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/HA-Create-2.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/HA-Create-3.png b/input/releases/qpid-broker-j-8.0.5/book/images/HA-Create-3.png
new file mode 100644
index 0000000..5457f21
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/HA-Create-3.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/HA-Overview.png b/input/releases/qpid-broker-j-8.0.5/book/images/HA-Overview.png
new file mode 100644
index 0000000..3419a19
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/HA-Overview.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Add-Dialogue.png b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Add-Dialogue.png
new file mode 100644
index 0000000..293ee26
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Add-Dialogue.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Auth.png b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Auth.png
new file mode 100644
index 0000000..df28ef3
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Auth.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Console.png b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Console.png
new file mode 100644
index 0000000..953a572
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Console.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-ContextVar.png b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-ContextVar.png
new file mode 100644
index 0000000..e5952b0
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-ContextVar.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Edit-Dialogue.png b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Edit-Dialogue.png
new file mode 100644
index 0000000..5ac7e20
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Edit-Dialogue.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Logging-FileLogger.png b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Logging-FileLogger.png
new file mode 100644
index 0000000..b1b69ce
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Logging-FileLogger.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Logging-InclusionRule.png b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Logging-InclusionRule.png
new file mode 100644
index 0000000..af27dad
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Logging-InclusionRule.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Logging-MemoryLogger.png b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Logging-MemoryLogger.png
new file mode 100644
index 0000000..2d4ecb9
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Logging-MemoryLogger.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Tab.png b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Tab.png
new file mode 100644
index 0000000..f095847
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/Management-Web-Tab.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/images/VirtualHost-Model.png b/input/releases/qpid-broker-j-8.0.5/book/images/VirtualHost-Model.png
new file mode 100644
index 0000000..0e2654d
Binary files /dev/null and b/input/releases/qpid-broker-j-8.0.5/book/images/VirtualHost-Model.png differ
diff --git a/input/releases/qpid-broker-j-8.0.5/book/index.html.in b/input/releases/qpid-broker-j-8.0.5/book/index.html.in
new file mode 100644
index 0000000..6f77954
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/book/index.html.in
@@ -0,0 +1,10 @@
+<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Apache Qpid Broker-J</th></tr><tr><td width="20%" align="left">&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="Java-Broker-Introduction.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="d0e2" />Apache Qpid Broker-J</h1></div></div> [...]
+       ACL Rules
+    </a></span></dt><dt><span class="section"><a href="Java-Broker-Security-AccessControlProviders.html#Java-Broker-Security-AccessControlProviders-Syntax">8.3.3. 
+       Syntax
+    </a></span></dt><dt><span class="section"><a href="Java-Broker-Security-AccessControlProviders.html#Java-Broker-Security-AccessControlProviders-WorkedExamples">8.3.4. 
+      Worked Examples
+    </a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html">8.4. Configuration Encryption</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html#Java-Broker-Security-Configuration-Encryption-Configuration">8.4.1. Configuration</a></span></dt><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html#Java-Broker-Security-Configuration-Encryption-Alterna [...]
+        <span class="emphasis"><em>closeWhenNoRoute</em></span>
+    </a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Runtime-Flow-To-Disk.html">9.6. Flow to Disk</a></span></dt><dt><span class="section"><a href="Java-Broker-Runtime-Consumers.html">9.7. Consumers</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Runtime-Consumers.html#Java-Broker-Runtime-Consumers-Prioirty">9.7.1. Priority</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Runtime-Background-Recovery.html">9.8. Backgroun [...]
+          directly</a></dt><dt>D.1. <a href="apds03.html#d0e9933">Enabling statistics for a single queue using the REST API and cURL</a></dt><dt>D.2. <a href="apds03.html#d0e9945">Disabling statistics for a single queue using the REST API and cURL</a></dt><dt>D.3. <a href="apds03.html#d0e9952">Enabling statistics for all queues using the REST API and cURL</a></dt><dt>H.1. <a href="Java-Broker-Appendix-BDB-HA-initial-configuration.html#d0e10449">BDB HA 'Initial configuration'</a></dt></dl [...]
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/index.md b/input/releases/qpid-broker-j-8.0.5/index.md
new file mode 100644
index 0000000..dad8f9e
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/index.md
@@ -0,0 +1,69 @@
+;;
+;; 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.
+;;
+
+# Qpid Broker-J 8.0.5
+
+[Qpid Broker-J]({{site_url}}/components/broker-j/index.html) is a message broker written in Java that stores, routes,
+and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8.  More about
+[Qpid]({{site_url}}/index.html).
+
+For a detailed list of the changes in this release, see the [release
+notes](release-notes.html).
+
+It's important to [verify the
+integrity]({{site_url}}/download.html#verify-what-you-download) of the
+files you download.
+
+## Source archives
+
+| Content | Download | Verify |
+|---------|----------|--------|
+| Qpid Broker-J | [apache-qpid-broker-j-8.0.5-src.tar.gz](https://archive.apache.org/dist/qpid/broker-j/8.0.5/apache-qpid-broker-j-8.0.5-src.tar.gz) | [ASC](https://archive.apache.org/dist/qpid/broker-j/8.0.5/apache-qpid-broker-j-8.0.5-src.tar.gz.asc), [SHA512](https://archive.apache.org/dist/qpid/broker-j/8.0.5/apache-qpid-broker-j-8.0.5-src.tar.gz.sha512) |
+
+## Binaries
+
+| Content | Download | Verify |
+|---------|----------|--------|
+| Qpid Broker-J | [apache-qpid-broker-j-8.0.5-bin.tar.gz](https://archive.apache.org/dist/qpid/broker-j/8.0.5/binaries/apache-qpid-broker-j-8.0.5-bin.tar.gz) | [ASC](https://archive.apache.org/dist/qpid/broker-j/8.0.5/binaries/apache-qpid-broker-j-8.0.5-bin.tar.gz.asc), [SHA512](https://archive.apache.org/dist/qpid/broker-j/8.0.5/binaries/apache-qpid-broker-j-8.0.5-bin.tar.gz.sha512) |
+| Qpid Broker-J | [apache-qpid-broker-j-8.0.5-bin.zip](https://archive.apache.org/dist/qpid/broker-j/8.0.5/binaries/apache-qpid-broker-j-8.0.5-bin.zip) | [ASC](https://archive.apache.org/dist/qpid/broker-j/8.0.5/binaries/apache-qpid-broker-j-8.0.5-bin.zip.asc), [SHA512](https://archive.apache.org/dist/qpid/broker-j/8.0.5/binaries/apache-qpid-broker-j-8.0.5-bin.zip.sha512) |
+
+## Documentation
+
+
+<div class="two-column" markdown="1">
+
+ - [Installing Qpid Broker-J](book/Java-Broker-Installation.html)
+ - [Broker book](book/index.html)
+
+</div>
+
+
+## More information
+
+ - [All release artefacts](https://archive.apache.org/dist/qpid/broker-j/8.0.5)
+ - [Resolved issues in JIRA](https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-8.0.5%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC)
+ - [Source repository tag](https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/8.0.5)
+
+<script type="text/javascript">
+  _deferredFunctions.push(function() {
+      if ("8.0.5" === "{{current_broker_j_release}}" || "8.0.5" === "{{other_broker_j_release}}") {
+          _modifyCurrentReleaseLinks();
+      }
+  });
+</script>
\ No newline at end of file
diff --git a/input/releases/qpid-broker-j-8.0.5/release-notes.md b/input/releases/qpid-broker-j-8.0.5/release-notes.md
new file mode 100644
index 0000000..e822ae3
--- /dev/null
+++ b/input/releases/qpid-broker-j-8.0.5/release-notes.md
@@ -0,0 +1,50 @@
+;;
+;; 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.
+;;
+
+# Qpid Broker-J 8.0.5 Release Notes
+
+Qpid Broker-J is a message broker written in Java that stores, routes,
+and forwards messages using AMQP.
+
+For more information about this release, including download links and
+documentation, see the [release overview](index.html).
+
+
+## New features and improvements
+
+ - [QPID-8483](https://issues.apache.org/jira/browse/QPID-8483) - [Broker-J] Change session operational log subject to have a session name in it
+ - [QPID-8511](https://issues.apache.org/jira/browse/QPID-8511) - [Broker-J] Upgrade dojotoolkit to version 1.16.3
+ - [QPID-8515](https://issues.apache.org/jira/browse/QPID-8515) - [Broker-J] Improve operational logging and log every change to the broker state
+ - [QPID-8535](https://issues.apache.org/jira/browse/QPID-8535) - [Broker-J] Add a switch to ignore SNI host errors
+ - [QPID-8539](https://issues.apache.org/jira/browse/QPID-8539) - [Broker-J] Upgrade Jackson version to 2.12.3
+
+## Bugs fixed
+
+ - [QPID-8509](https://issues.apache.org/jira/browse/QPID-8509) - [Broker-J] java.util.NoSuchElementException in AMQPConnection_1_0Impl.next()
+ - [QPID-8510](https://issues.apache.org/jira/browse/QPID-8510) - [Broker-J] Incorect use of volatile modifier for array
+ - [QPID-8514](https://issues.apache.org/jira/browse/QPID-8514) - [Broker-J] High CPU usage and stucked connections
+ - [QPID-8518](https://issues.apache.org/jira/browse/QPID-8518) - [Broker-J] Message transfer freezes when session runs out of transfer frames
+ - [QPID-8520](https://issues.apache.org/jira/browse/QPID-8520) - [Broker-J] ReadPendingException thrown by Broker-J intermittently
+ - [QPID-8525](https://issues.apache.org/jira/browse/QPID-8525) - [Broker-J] An attempt to add a duplicate member or group into group provider of type GroupFile results in a removal of existing member or group from a file where data is stored
+ - [QPID-8526](https://issues.apache.org/jira/browse/QPID-8526) - [Broker-J] Connection looping in NonBlockingConnectionTLSDelegate.doWrite()
+ - [QPID-8529](https://issues.apache.org/jira/browse/QPID-8529) - [Broker-J] NPE when trying to access digestCrecentials in the cached mode
+
+## Tasks
+
+ - [QPID-8537](https://issues.apache.org/jira/browse/QPID-8537) - [Broker-J] Replace use of constructors marked deprecated for-removal
\ No newline at end of file

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