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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

orudyy
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 faf6df9  Update site content for Qpid Broker-J release 8.0.3
faf6df9 is described below

commit faf6df941457c61658dc9538ee10cd0b80cf41b1
Author: Alex Rudyy <[hidden email]>
AuthorDate: Fri Jan 15 23:18:35 2021 +0000

    Update site content for Qpid Broker-J release 8.0.3
---
 content/components/broker-j/index.html             |   14 +-
 content/dashboard.html                             |    2 +-
 content/documentation.html                         |    2 +-
 content/download.html                              |    6 +-
 content/releases/index.html                        |    5 +-
 content/releases/qpid-broker-j-7.0.0/index.html    |    2 +-
 content/releases/qpid-broker-j-7.0.1/index.html    |    2 +-
 content/releases/qpid-broker-j-7.0.2/index.html    |    2 +-
 content/releases/qpid-broker-j-7.0.3/index.html    |    2 +-
 content/releases/qpid-broker-j-7.0.4/index.html    |    2 +-
 content/releases/qpid-broker-j-7.0.5/index.html    |    2 +-
 content/releases/qpid-broker-j-7.0.6/index.html    |    2 +-
 content/releases/qpid-broker-j-7.0.7/index.html    |    2 +-
 content/releases/qpid-broker-j-7.0.8/index.html    |    2 +-
 content/releases/qpid-broker-j-7.0.9/index.html    |    2 +-
 content/releases/qpid-broker-j-7.1.0/index.html    |    2 +-
 content/releases/qpid-broker-j-7.1.1/index.html    |    2 +-
 content/releases/qpid-broker-j-7.1.10/index.html   |    2 +-
 content/releases/qpid-broker-j-7.1.11/index.html   |    2 +-
 content/releases/qpid-broker-j-7.1.2/index.html    |    2 +-
 content/releases/qpid-broker-j-7.1.3/index.html    |    2 +-
 content/releases/qpid-broker-j-7.1.4/index.html    |    2 +-
 content/releases/qpid-broker-j-7.1.5/index.html    |    2 +-
 content/releases/qpid-broker-j-7.1.6/index.html    |    2 +-
 content/releases/qpid-broker-j-7.1.7/index.html    |    2 +-
 content/releases/qpid-broker-j-7.1.8/index.html    |    2 +-
 content/releases/qpid-broker-j-7.1.9/index.html    |    2 +-
 content/releases/qpid-broker-j-8.0.0/index.html    |    2 +-
 content/releases/qpid-broker-j-8.0.1/index.html    |    2 +-
 content/releases/qpid-broker-j-8.0.2/index.html    |    2 +-
 .../book/Apache-Qpid-Broker-J-Book.fo              | 3360 ++++++++++++++++++++
 .../book/Apache-Qpid-Broker-J-Book.html            |  153 +
 .../book/Apache-Qpid-Broker-J-Book.pdf             |  Bin 0 -> 621406 bytes
 ...ndix-BDB-HA-initial-configuration-creation.html |  184 ++
 ...oker-Appendix-BDB-HA-initial-configuration.html |  255 ++
 ...Java-Broker-Appendix-Environment-Variables.html |  197 ++
 .../Java-Broker-Appendix-Operation-Logging.html    |  560 ++++
 .../book/Java-Broker-Appendix-Queue-Alerts.html}   |  113 +-
 ...va-Broker-Appendix-Queue-Declare-Arguments.html |  233 ++
 ...Java-Broker-Appendix-Statistics-Reporting.html} |   95 +-
 .../Java-Broker-Appendix-System-Properties.html}   |   97 +-
 ...oker-Backup-And-Recovery-Virtualhost-Node.html} |  100 +-
 ...va-Broker-Backup-And-Recovery-Virtualhost.html} |   97 +-
 .../book/Java-Broker-Backup-And-Recovery.html}     |   91 +-
 ...-Broker-Concepts-Authentication-Providers.html} |   40 +-
 .../book/Java-Broker-Concepts-Broker.html}         |   36 +-
 .../book/Java-Broker-Concepts-Exchanges.html       |  205 ++
 .../book/Java-Broker-Concepts-Other-Services.html} |   95 +-
 .../book/Java-Broker-Concepts-Ports.html}          |   99 +-
 .../book/Java-Broker-Concepts-Queues.html          |  322 ++
 ...va-Broker-Concepts-RemoteReplicationNodes.html} |   37 +-
 .../Java-Broker-Concepts-Virtualhost-Nodes.html}   |   46 +-
 .../book/Java-Broker-Concepts-Virtualhosts.html}   |  103 +-
 .../book/Java-Broker-Concepts.html                 |  177 ++
 .../Java-Broker-Getting-Started-CommandLine.html   |  201 ++
 .../book/Java-Broker-Getting-Started-Logging.html} |   39 +-
 ...er-Getting-Started-Starting-Stopping-Unix.html} |  100 +-
 ...Getting-Started-Starting-Stopping-Windows.html} |  100 +-
 .../book/Java-Broker-Getting-Started.html}         |   95 +-
 .../Java-Broker-High-Availability-Backup.html}     |   37 +-
 .../Java-Broker-High-Availability-Behaviour.html   |  239 ++
 ...a-Broker-High-Availability-ClientFailover.html} |   40 +-
 ...ava-Broker-High-Availability-CreatingGroup.html |  185 ++
 .../Java-Broker-High-Availability-DiskSpace.html}  |   39 +-
 ...er-High-Availability-Network-Requirements.html} |   40 +-
 ...a-Broker-High-Availability-NodeOperations.html} |  108 +-
 ...Java-Broker-High-Availability-OverviewOfHA.html |  168 +
 ...igh-Availability-Reset-Group-Infomational.html} |   95 +-
 .../Java-Broker-High-Availability-Security.html}   |   38 +-
 .../book/Java-Broker-High-Availability.html}       |   97 +-
 ...al-Configuration-Configuration-Properties.html} |  110 +-
 ...itial-Configuration-Create-Initial-Config.html} |  103 +-
 ...Java-Broker-Initial-Configuration-Example.html} |  187 +-
 ...ial-Configuration-Initial-Config-Location.html} |   45 +-
 ...ava-Broker-Initial-Configuration-Location.html} |   43 +-
 .../Java-Broker-Initial-Configuration-Type.html}   |  105 +-
 .../book/Java-Broker-Initial-Configuration.html}   |   97 +-
 .../book/Java-Broker-Installation-Download.html}   |   38 +-
 ...Java-Broker-Installation-InstallationUnix.html} |  112 +-
 ...a-Broker-Installation-InstallationWindows.html} |  113 +-
 ...-Broker-Installation-OptionalDependencies.html} |   38 +-
 .../Java-Broker-Installation-Prerequistes.html}    |  107 +-
 .../book/Java-Broker-Installation.html}            |   89 +-
 .../book/Java-Broker-Introduction.html}            |   97 +-
 ...Broker-Management-Channel-AMQP-Intrinstic.html} |   38 +-
 .../Java-Broker-Management-Channel-REST-API.html   |  394 +++
 ...Java-Broker-Management-Channel-Web-Console.html |  191 ++
 .../book/Java-Broker-Management-Channel.html       |  156 +
 ...agement-Managing-Access-Control-Providers.html} |   38 +-
 ...nagement-Managing-Authentication-Providers.html |  163 +
 .../Java-Broker-Management-Managing-Broker.html    |  171 +
 ...Java-Broker-Management-Managing-Consumers.html} |   43 +-
 .../Java-Broker-Management-Managing-Entities.html  |  165 +
 ...Java-Broker-Management-Managing-Exchanges.html} |   94 +-
 ...roker-Management-Managing-Group-Providers.html} |   36 +-
 .../Java-Broker-Management-Managing-Keystores.html |  189 ++
 ...va-Broker-Management-Managing-Plugin-HTTP.html} |   97 +-
 .../Java-Broker-Management-Managing-Ports.html     |  179 ++
 .../Java-Broker-Management-Managing-Queues.html    |  163 +
 ...Management-Managing-RemoteReplicationNodes.html |  167 +
 ...ava-Broker-Management-Managing-Truststores.html |  192 ++
 ...oker-Management-Managing-Virtualhost-Nodes.html |  176 +
 ...va-Broker-Management-Managing-Virtualhosts.html |  171 +
 .../book/Java-Broker-Management-Metrics.html}      |  104 +-
 ...ellaneous-Installing-External-JDBC-Driver.html} |   40 +-
 .../book/Java-Broker-Miscellaneous.html}           |   96 +-
 .../Java-Broker-Runtime-Background-Recovery.html}  |  101 +-
 ...er-Runtime-Close-Connection-When-No-Route.html} |  115 +-
 .../Java-Broker-Runtime-Connection-Limit.html}     |  111 +-
 .../book/Java-Broker-Runtime-Consumers.html}       |  119 +-
 ...Java-Broker-Runtime-Disk-Space-Management.html} |  128 +-
 .../book/Java-Broker-Runtime-Flow-To-Disk.html}    |   49 +-
 ...er-Runtime-Handling-Undeliverable-Messages.html |  195 ++
 .../book/Java-Broker-Runtime-Memory.html           |  281 ++
 .../Java-Broker-Runtime-Message-Compression.html}  |  102 +-
 .../Java-Broker-Runtime-Transaction-Timeout.html   |  186 ++
 .../book/Java-Broker-Runtime.html                  |  240 ++
 ...ava-Broker-Security-AccessControlProviders.html |  399 +++
 ...-Broker-Security-Configuration-Encryption.html} |  111 +-
 .../Java-Broker-Security-Group-Providers.html}     |  123 +-
 .../book/Java-Broker-Security.html                 |  333 ++
 ...Broker-Virtual-Host-Initial-Configuration.html} |  108 +-
 .../book/apds02.html}                              |  104 +-
 .../book/apds03.html}                              |  103 +-
 .../qpid-broker-j-8.0.3/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
 .../releases/qpid-broker-j-8.0.3/book/index.html   |  153 +
 .../index.html                                     |   26 +-
 .../release-notes.html}                            |   37 +-
 content/releases/qpid-broker-j-master/index.html   |    2 +-
 input/_transom_config.py                           |    2 +-
 input/releases/index.md                            |    5 +-
 .../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 -> 621406 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.3/book/apds02.html.in        |   17 +
 .../qpid-broker-j-8.0.3/book/apds03.html.in        |   16 +
 .../qpid-broker-j-8.0.3/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.3/book/index.html.in         |   10 +
 input/releases/qpid-broker-j-8.0.3/index.md        |   69 +
 .../releases/qpid-broker-j-8.0.3/release-notes.md  |   39 +
 285 files changed, 19154 insertions(+), 4142 deletions(-)

diff --git a/content/components/broker-j/index.html b/content/components/broker-j/index.html
index 334ca5a..839db85 100644
--- a/content/components/broker-j/index.html
+++ b/content/components/broker-j/index.html
@@ -133,22 +133,22 @@ that stores, routes, and forwards messages using AMQP.</p>
 <li>Speaks and translates among all versions of AMQP</li>
 <li>AMQP over WebSockets</li>
 <li>Management via REST, AMQP Management, and web console</li>
-<li><a href="/releases/qpid-broker-j-8.0.2/book/Java-Broker-Security-AccessControlProviders.html">Access control lists</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.3/book/Java-Broker-Security-AccessControlProviders.html">Access control lists</a></li>
 <li>Flexible logging</li>
 <li>Flow to disk</li>
 <li>Header-based routing</li>
 <li>Heartbeats</li>
-<li><a href="/releases/qpid-broker-j-8.0.2/book/Java-Broker-High-Availability.html">High availability</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.3/book/Java-Broker-High-Availability.html">High availability</a></li>
 <li>Message groups</li>
 <li>Pluggable persistence supporting Derby, SQL, and BDB stores</li>
-<li><a href="/releases/qpid-broker-j-8.0.2/book/Java-Broker-Security.html#Java-Broker-Security-Authentication-Providers">Pluggable authentication</a> supporting LDAP, Kerberos, OAUTH2 and SSL client certificates</li>
-<li><a href="/releases/qpid-broker-j-8.0.2/book/Java-Broker-Runtime-Disk-Space-Management.html#Qpid-Producer-Flow-Control">Producer flow control</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.3/book/Java-Broker-Security.html#Java-Broker-Security-Authentication-Providers">Pluggable authentication</a> supporting LDAP, Kerberos, OAUTH2 and SSL client certificates</li>
+<li><a href="/releases/qpid-broker-j-8.0.3/book/Java-Broker-Runtime-Disk-Space-Management.html#Qpid-Producer-Flow-Control">Producer flow control</a></li>
 <li>Secure connection via SSL</li>
 <li>Server-side selectors</li>
 <li>Specialized queuing with last value queue, priority queue, and sorted queue</li>
 <li>Threshold alerts</li>
 <li>Transactions</li>
-<li><a href="/releases/qpid-broker-j-8.0.2/book/Java-Broker-Runtime-Handling-Undeliverable-Messages.html">Undeliverable message handling</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.3/book/Java-Broker-Runtime-Handling-Undeliverable-Messages.html">Undeliverable message handling</a></li>
 <li>Virtual hosts</li>
 <li>Support for message compression</li>
 </ul>
@@ -158,7 +158,7 @@ that stores, routes, and forwards messages using AMQP.</p>
 <h2 id="documentation">Documentation</h2>
 
 <ul>
-<li><a href="/releases/qpid-broker-j-8.0.2/book/index.html">Broker book</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.3/book/index.html">Broker book</a></li>
 <li><a href="https://github.com/apache/qpid-broker-j/blob/master/README.md">How to build Apache Qpid Broker-J</a></li>
 </ul>
 
@@ -169,7 +169,7 @@ that stores, routes, and forwards messages using AMQP.</p>
 <h2 id="releases">Releases</h2>
 
 <ul>
-<li><a href="/releases/qpid-broker-j-8.0.2">Qpid Broker-J 8.0.2</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.3">Qpid Broker-J 8.0.3</a></li>
 <li><a href="/releases/index.html#past-releases">Past releases</a></li>
 </ul>
 
diff --git a/content/dashboard.html b/content/dashboard.html
index 1fa568f..54b3fec 100644
--- a/content/dashboard.html
+++ b/content/dashboard.html
@@ -141,7 +141,7 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
 <tbody>
 <tr>
   <td><a href="/components/broker-j/index.html">Qpid Broker-J</a></td>
-  <td><a href="/releases/qpid-broker-j-8.0.2">8.0.2</a></td>
+  <td><a href="/releases/qpid-broker-j-8.0.3">8.0.3</a></td>
   <td><a href="https://issues.apache.org/jira/projects/QPID">Summary</a> &#x2022; <a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+and+resolution+is+null+and+component+in+%28%22Broker-J%22%2C+%22Java+Build%22%2C+%22Java+Documentation%22%2C+%22Java+Performance+Tests%22%2C+%22Java+Tests%22%2C+%22Java+Tools%22%29">Open issues</a> &#x2022; <a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+and+component+in+%28%22Broker-J%22%2C+%22Java+Build%22%2C+%22Java [...]
   <td><a href="https://travis-ci.com/github/apache/qpid-broker-j"><img src="https://travis-ci.com/apache/qpid-broker-j.svg?branch=master" height="20"/></a></td>
   <td><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git">Git</a> &#x2022; <a href="https://github.com/apache/qpid-broker-j">GitHub</a></td>
diff --git a/content/documentation.html b/content/documentation.html
index e09b077..958e652 100644
--- a/content/documentation.html
+++ b/content/documentation.html
@@ -181,7 +181,7 @@ You can find older versions with our
 
 <ul>
 <li><a href="/components/broker-j/index.html">Overview</a></li>
-<li><a href="/releases/qpid-broker-j-8.0.2/book/index.html">Broker book</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.3/book/index.html">Broker book</a></li>
 </ul>
 
 </section>
diff --git a/content/download.html b/content/download.html
index f91b57c..1d56e5c 100644
--- a/content/download.html
+++ b/content/download.html
@@ -188,9 +188,9 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
 <tbody>
 <tr>
   <td><a href="/components/broker-j/index.html">Broker-J</a></td>
-  <td>8.0.2</td>
-  <td><a href="http://www.apache.org/dyn/closer.lua/qpid/broker-j/8.0.2/apache-qpid-broker-j-8.0.2-src.tar.gz">Source</a> (<a href="https://www.apache.org/dist/qpid/broker-j/8.0.2/apache-qpid-broker-j-8.0.2-src.tar.gz.asc">ASC</a>, <a href="https://www.apache.org/dist/qpid/broker-j/8.0.2/apache-qpid-broker-j-8.0.2-src.tar.gz.sha512">SHA512</a>),  <a href="http://www.apache.org/dyn/closer.lua/qpid/broker-j/8.0.2/binaries/apache-qpid-broker-j-8.0.2-bin.tar.gz">Binary</a> (<a href="https:// [...]
-  <td><a href="/releases/qpid-broker-j-8.0.2/index.html">Release Page</a></td>
+  <td>8.0.3</td>
+  <td><a href="http://www.apache.org/dyn/closer.lua/qpid/broker-j/8.0.3/apache-qpid-broker-j-8.0.3-src.tar.gz">Source</a> (<a href="https://www.apache.org/dist/qpid/broker-j/8.0.3/apache-qpid-broker-j-8.0.3-src.tar.gz.asc">ASC</a>, <a href="https://www.apache.org/dist/qpid/broker-j/8.0.3/apache-qpid-broker-j-8.0.3-src.tar.gz.sha512">SHA512</a>),  <a href="http://www.apache.org/dyn/closer.lua/qpid/broker-j/8.0.3/binaries/apache-qpid-broker-j-8.0.3-bin.tar.gz">Binary</a> (<a href="https:// [...]
+  <td><a href="/releases/qpid-broker-j-8.0.3/index.html">Release Page</a></td>
 </tr>
 <tr>
   <td>&#160;</td>
diff --git a/content/releases/index.html b/content/releases/index.html
index 402be76..892dfc7 100644
--- a/content/releases/index.html
+++ b/content/releases/index.html
@@ -126,11 +126,11 @@ the
 <div class="two-column">
 
 <ul>
-<li><a href="qpid-broker-j-7.1.11/index.html">Qpid Broker-J 7.1.11</a>, January 2020</li>
+<li><a href="qpid-broker-j-8.0.3/index.html">Qpid Broker-J 8.0.3</a>, January 2021</li>
+<li><a href="qpid-broker-j-7.1.11/index.html">Qpid Broker-J 7.1.11</a>, January 2021</li>
 <li><a href="qpid-jms-0.56.0/index.html">Qpid JMS 0.56.0</a>, December 2020</li>
 <li><a href="qpid-proton-0.33.0/index.html">Qpid Proton 0.33.0</a>, November 2020</li>
 <li><a href="qpid-proton-j-0.33.8/index.html">Qpid Proton-J 0.33.8</a>, November 2020</li>
-<li><a href="qpid-broker-j-8.0.2/index.html">Qpid Broker-J 8.0.2</a>, October 2020</li>
 <li><a href="qpid-dispatch-1.14.0/index.html">Qpid Dispatch 1.14.0</a>, September 2020</li>
 <li><a href="qpid-jms-amqp-0-x-6.4.0/index.html">Qpid JMS AMQP 0-x 6.4.0</a>, June 2020</li>
 <li><a href="qpid-cpp-1.39.0/index.html">Qpid C++ 1.39.0</a>, October 2018</li>
@@ -146,6 +146,7 @@ the
 
 <ul>
 <li><a href="qpid-jms-0.55.0/index.html">Qpid JMS 0.55.0</a>, November 2020</li>
+<li><a href="qpid-broker-j-8.0.2/index.html">Qpid Broker-J 8.0.2</a>, October 2020</li>
 <li><a href="qpid-broker-j-7.1.10/index.html">Qpid Broker-J 7.1.10</a>, October 2020</li>
 <li><a href="qpid-proton-j-0.33.7/index.html">Qpid Proton-J 0.33.7</a>, Ocotber 2020</li>
 <li><a href="qpid-broker-j-8.0.1/index.html">Qpid Broker-J 8.0.1</a>, September 2020</li>
diff --git a/content/releases/qpid-broker-j-7.0.0/index.html b/content/releases/qpid-broker-j-7.0.0/index.html
index a41be09..053fe1f 100644
--- a/content/releases/qpid-broker-j-7.0.0/index.html
+++ b/content/releases/qpid-broker-j-7.0.0/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.0.0" === "8.0.2") {
+      if ("7.0.0" === "8.0.3") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.0.1/index.html b/content/releases/qpid-broker-j-7.0.1/index.html
index d78b720..d324c19 100644
--- a/content/releases/qpid-broker-j-7.0.1/index.html
+++ b/content/releases/qpid-broker-j-7.0.1/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.0.1" === "8.0.2") {
+      if ("7.0.1" === "8.0.3") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.0.2/index.html b/content/releases/qpid-broker-j-7.0.2/index.html
index ba239d4..6881423 100644
--- a/content/releases/qpid-broker-j-7.0.2/index.html
+++ b/content/releases/qpid-broker-j-7.0.2/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.0.2" === "8.0.2") {
+      if ("7.0.2" === "8.0.3") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.0.3/index.html b/content/releases/qpid-broker-j-7.0.3/index.html
index f350e6e..8cf6f32 100644
--- a/content/releases/qpid-broker-j-7.0.3/index.html
+++ b/content/releases/qpid-broker-j-7.0.3/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.0.3" === "8.0.2") {
+      if ("7.0.3" === "8.0.3") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.0.4/index.html b/content/releases/qpid-broker-j-7.0.4/index.html
index 8d27295..ee43245 100644
--- a/content/releases/qpid-broker-j-7.0.4/index.html
+++ b/content/releases/qpid-broker-j-7.0.4/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.0.4" === "8.0.2") {
+      if ("7.0.4" === "8.0.3") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.0.5/index.html b/content/releases/qpid-broker-j-7.0.5/index.html
index 82a34f2..5d66cb5 100644
--- a/content/releases/qpid-broker-j-7.0.5/index.html
+++ b/content/releases/qpid-broker-j-7.0.5/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.0.5" === "8.0.2") {
+      if ("7.0.5" === "8.0.3") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.0.6/index.html b/content/releases/qpid-broker-j-7.0.6/index.html
index 5bd8560..d34f474 100644
--- a/content/releases/qpid-broker-j-7.0.6/index.html
+++ b/content/releases/qpid-broker-j-7.0.6/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.0.6" === "8.0.2") {
+      if ("7.0.6" === "8.0.3") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.0.7/index.html b/content/releases/qpid-broker-j-7.0.7/index.html
index 2b3549d..42dbac5 100644
--- a/content/releases/qpid-broker-j-7.0.7/index.html
+++ b/content/releases/qpid-broker-j-7.0.7/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.0.7" === "8.0.2" || "7.0.7" === "7.1.11") {
+      if ("7.0.7" === "8.0.3" || "7.0.7" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-7.0.8/index.html
index 244b287..fe90c2f 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-7.0.8/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.0.8" === "8.0.2" || "7.0.8" === "7.1.11") {
+      if ("7.0.8" === "8.0.3" || "7.0.8" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.0.9/index.html b/content/releases/qpid-broker-j-7.0.9/index.html
index d9b6b3e..6af4822 100644
--- a/content/releases/qpid-broker-j-7.0.9/index.html
+++ b/content/releases/qpid-broker-j-7.0.9/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.0.9" === "8.0.2" || "7.0.9" === "7.1.11") {
+      if ("7.0.9" === "8.0.3" || "7.0.9" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.0/index.html b/content/releases/qpid-broker-j-7.1.0/index.html
index 05cd6bd..c13c37b 100644
--- a/content/releases/qpid-broker-j-7.1.0/index.html
+++ b/content/releases/qpid-broker-j-7.1.0/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.0" === "8.0.2") {
+      if ("7.1.0" === "8.0.3") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.1/index.html b/content/releases/qpid-broker-j-7.1.1/index.html
index 9c2c20f..882bf56 100644
--- a/content/releases/qpid-broker-j-7.1.1/index.html
+++ b/content/releases/qpid-broker-j-7.1.1/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.1" === "8.0.2" || "7.1.1" === "7.1.11") {
+      if ("7.1.1" === "8.0.3" || "7.1.1" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.10/index.html b/content/releases/qpid-broker-j-7.1.10/index.html
index 91a4885..97b9e55 100644
--- a/content/releases/qpid-broker-j-7.1.10/index.html
+++ b/content/releases/qpid-broker-j-7.1.10/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.10" === "8.0.2" || "7.1.10" === "7.1.11") {
+      if ("7.1.10" === "8.0.3" || "7.1.10" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.11/index.html b/content/releases/qpid-broker-j-7.1.11/index.html
index f24cc3f..61d895c 100644
--- a/content/releases/qpid-broker-j-7.1.11/index.html
+++ b/content/releases/qpid-broker-j-7.1.11/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.11" === "8.0.2" || "7.1.11" === "7.1.11") {
+      if ("7.1.11" === "8.0.3" || "7.1.11" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.2/index.html b/content/releases/qpid-broker-j-7.1.2/index.html
index 712ea38..a58063f 100644
--- a/content/releases/qpid-broker-j-7.1.2/index.html
+++ b/content/releases/qpid-broker-j-7.1.2/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.2" === "8.0.2" || "7.1.2" === "7.1.11") {
+      if ("7.1.2" === "8.0.3" || "7.1.2" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.3/index.html b/content/releases/qpid-broker-j-7.1.3/index.html
index 9e221f4..aaaf6ca 100644
--- a/content/releases/qpid-broker-j-7.1.3/index.html
+++ b/content/releases/qpid-broker-j-7.1.3/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.3" === "8.0.2" || "7.1.3" === "7.1.11") {
+      if ("7.1.3" === "8.0.3" || "7.1.3" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.4/index.html b/content/releases/qpid-broker-j-7.1.4/index.html
index d659a40..57be6b3 100644
--- a/content/releases/qpid-broker-j-7.1.4/index.html
+++ b/content/releases/qpid-broker-j-7.1.4/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.4" === "8.0.2" || "7.1.4" === "7.1.11") {
+      if ("7.1.4" === "8.0.3" || "7.1.4" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.5/index.html b/content/releases/qpid-broker-j-7.1.5/index.html
index 5305cda..88028a9 100644
--- a/content/releases/qpid-broker-j-7.1.5/index.html
+++ b/content/releases/qpid-broker-j-7.1.5/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.5" === "8.0.2" || "7.1.5" === "7.1.11") {
+      if ("7.1.5" === "8.0.3" || "7.1.5" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.6/index.html b/content/releases/qpid-broker-j-7.1.6/index.html
index 8d08a78..350536a 100644
--- a/content/releases/qpid-broker-j-7.1.6/index.html
+++ b/content/releases/qpid-broker-j-7.1.6/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.6" === "8.0.2" || "7.1.6" === "7.1.11") {
+      if ("7.1.6" === "8.0.3" || "7.1.6" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.7/index.html b/content/releases/qpid-broker-j-7.1.7/index.html
index 3ab4748..464869b 100644
--- a/content/releases/qpid-broker-j-7.1.7/index.html
+++ b/content/releases/qpid-broker-j-7.1.7/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.7" === "8.0.2" || "7.1.7" === "7.1.11") {
+      if ("7.1.7" === "8.0.3" || "7.1.7" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.8/index.html b/content/releases/qpid-broker-j-7.1.8/index.html
index ff826c2..0244fdc 100644
--- a/content/releases/qpid-broker-j-7.1.8/index.html
+++ b/content/releases/qpid-broker-j-7.1.8/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.8" === "8.0.2" || "7.1.8" === "7.1.11") {
+      if ("7.1.8" === "8.0.3" || "7.1.8" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-7.1.9/index.html b/content/releases/qpid-broker-j-7.1.9/index.html
index fa85fc6..360c257 100644
--- a/content/releases/qpid-broker-j-7.1.9/index.html
+++ b/content/releases/qpid-broker-j-7.1.9/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("7.1.9" === "8.0.2" || "7.1.9" === "7.1.11") {
+      if ("7.1.9" === "8.0.3" || "7.1.9" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-8.0.0/index.html b/content/releases/qpid-broker-j-8.0.0/index.html
index c39f8bd..428fec4 100644
--- a/content/releases/qpid-broker-j-8.0.0/index.html
+++ b/content/releases/qpid-broker-j-8.0.0/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("8.0.0" === "8.0.2" || "8.0.0" === "7.1.11") {
+      if ("8.0.0" === "8.0.3" || "8.0.0" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-8.0.1/index.html b/content/releases/qpid-broker-j-8.0.1/index.html
index 950e274..f8c9e08 100644
--- a/content/releases/qpid-broker-j-8.0.1/index.html
+++ b/content/releases/qpid-broker-j-8.0.1/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("8.0.1" === "8.0.2" || "8.0.1" === "7.1.11") {
+      if ("8.0.1" === "8.0.3" || "8.0.1" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-8.0.2/index.html b/content/releases/qpid-broker-j-8.0.2/index.html
index 0acb2ae..1157fe7 100644
--- a/content/releases/qpid-broker-j-8.0.2/index.html
+++ b/content/releases/qpid-broker-j-8.0.2/index.html
@@ -191,7 +191,7 @@ files you download.</p>
 
 <script type="text/javascript">
   _deferredFunctions.push(function() {
-      if ("8.0.2" === "8.0.2" || "8.0.2" === "7.1.11") {
+      if ("8.0.2" === "8.0.3" || "8.0.2" === "7.1.11") {
           _modifyCurrentReleaseLinks();
       }
   });
diff --git a/content/releases/qpid-broker-j-8.0.3/book/Apache-Qpid-Broker-J-Book.fo b/content/releases/qpid-broker-j-8.0.3/book/Apache-Qpid-Broker-J-Book.fo
new file mode 100755
index 0000000..97fc2fc
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.3/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.3-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.3 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.3
+
+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.3-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.3-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.3 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.3/
+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.3 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.3 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.3</fo:inline> (Windows) or
+                <fo:inline font-family="monospace">/usr/local/qpid/qpid-broker/8.0.3</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 <