You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2021/06/20 11:47:53 UTC
[qpid-site] branch asf-site updated: Add missing files for Qpid
Broker-J 8.0.5 release
This is an automated email from the ASF dual-hosted git repository.
orudyy pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/qpid-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 9f297b9 Add missing files for Qpid Broker-J 8.0.5 release
9f297b9 is described below
commit 9f297b9ff14c08caeb21e1454bfeceb3c3ad105f
Author: Alex Rudyy <or...@apache.org>
AuthorDate: Sun Jun 20 12:47:22 2021 +0100
Add missing files for Qpid Broker-J 8.0.5 release
---
content/components/broker-j/index.html | 14 +-
content/dashboard.html | 2 +-
content/documentation.html | 2 +-
content/download.html | 6 +-
content/releases/index.html | 3 +-
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.12/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 +-
content/releases/qpid-broker-j-8.0.3/index.html | 2 +-
content/releases/qpid-broker-j-8.0.4/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 621428 -> 621428 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} | 92 +-
.../book/Java-Broker-Concepts-Broker.html} | 88 +-
.../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} | 89 +-
.../Java-Broker-Concepts-Virtualhost-Nodes.html} | 98 +-
.../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} | 91 +-
...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} | 89 +-
.../Java-Broker-High-Availability-Behaviour.html | 239 ++
...a-Broker-High-Availability-ClientFailover.html} | 92 +-
...ava-Broker-High-Availability-CreatingGroup.html | 185 ++
.../Java-Broker-High-Availability-DiskSpace.html} | 91 +-
...er-High-Availability-Network-Requirements.html} | 92 +-
...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} | 90 +-
.../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} | 97 +-
...ava-Broker-Initial-Configuration-Location.html} | 95 +-
.../Java-Broker-Initial-Configuration-Type.html} | 105 +-
.../book/Java-Broker-Initial-Configuration.html} | 97 +-
.../book/Java-Broker-Installation-Download.html} | 90 +-
...Java-Broker-Installation-InstallationUnix.html} | 112 +-
...a-Broker-Installation-InstallationWindows.html} | 113 +-
...-Broker-Installation-OptionalDependencies.html} | 90 +-
.../Java-Broker-Installation-Prerequistes.html} | 107 +-
.../book/Java-Broker-Installation.html} | 89 +-
.../book/Java-Broker-Introduction.html} | 97 +-
...Broker-Management-Channel-AMQP-Intrinstic.html} | 90 +-
.../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} | 90 +-
...nagement-Managing-Authentication-Providers.html | 163 +
.../Java-Broker-Management-Managing-Broker.html | 171 +
...Java-Broker-Management-Managing-Consumers.html} | 95 +-
.../Java-Broker-Management-Managing-Entities.html | 165 +
...Java-Broker-Management-Managing-Exchanges.html} | 94 +-
...roker-Management-Managing-Group-Providers.html} | 88 +-
.../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} | 92 +-
.../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} | 101 +-
...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} | 107 +-
.../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.5/book/css/style.css | 131 +
.../book/images/Broker-MessageFlow.png | Bin 0 -> 36840 bytes
.../book/images/Broker-Model.png | Bin 0 -> 56499 bytes
.../book/images/Broker-PortAuthFlow.png | Bin 0 -> 56560 bytes
.../book/images/Exchange-Direct.png | Bin 0 -> 36554 bytes
.../book/images/Exchange-Direct.svg | 23 +
.../book/images/Exchange-Fanout.png | Bin 0 -> 23348 bytes
.../book/images/Exchange-Fanout.svg | 23 +
.../book/images/Exchange-Topic-Hierarchical.png | Bin 0 -> 40952 bytes
.../book/images/Exchange-Topic-Hierarchical.svg | 23 +
.../book/images/Exchange-Topic-JMSSelector.png | Bin 0 -> 44744 bytes
.../book/images/Exchange-Topic-JMSSelector.svg | 23 +
.../book/images/Exchange-Topic.png | Bin 0 -> 26939 bytes
.../book/images/Exchange-Topic.svg | 23 +
.../images/HA-BDBHAMessageStore-MBean-jconsole.png | Bin 0 -> 52533 bytes
.../book/images/HA-Create-1.png | Bin 0 -> 50328 bytes
.../book/images/HA-Create-2.png | Bin 0 -> 51814 bytes
.../book/images/HA-Create-3.png | Bin 0 -> 83561 bytes
.../book/images/HA-Overview.png | Bin 0 -> 54044 bytes
.../book/images/Management-Web-Add-Dialogue.png | Bin 0 -> 92422 bytes
.../book/images/Management-Web-Auth.png | Bin 0 -> 85993 bytes
.../book/images/Management-Web-Console.png | Bin 0 -> 232164 bytes
.../book/images/Management-Web-ContextVar.png | Bin 0 -> 33453 bytes
.../book/images/Management-Web-Edit-Dialogue.png | Bin 0 -> 31643 bytes
.../images/Management-Web-Logging-FileLogger.png | Bin 0 -> 107458 bytes
.../Management-Web-Logging-InclusionRule.png | Bin 0 -> 118676 bytes
.../images/Management-Web-Logging-MemoryLogger.png | Bin 0 -> 190563 bytes
.../book/images/Management-Web-Tab.png | Bin 0 -> 119713 bytes
.../book/images/VirtualHost-Model.png | Bin 0 -> 24613 bytes
.../releases/qpid-broker-j-8.0.5/book/index.html | 153 +
.../index.html | 26 +-
.../release-notes.html} | 107 +-
.../book/Apache-Qpid-Broker-J-Book.pdf | Bin 621428 -> 621428 bytes
.../releases/qpid-broker-j-8.0.5/release-notes.md | 2 +-
154 files changed, 11986 insertions(+), 5224 deletions(-)
diff --git a/content/components/broker-j/index.html b/content/components/broker-j/index.html
index 86c8753..53a28e4 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.4/book/Java-Broker-Security-AccessControlProviders.html">Access control lists</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.5/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.4/book/Java-Broker-High-Availability.html">High availability</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.5/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.4/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.4/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.5/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.5/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.4/book/Java-Broker-Runtime-Handling-Undeliverable-Messages.html">Undeliverable message handling</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.5/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.4/book/index.html">Broker book</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Broker book</a></li>
<li><a href="https://github.com/apache/qpid-broker-j/blob/main/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.4">Qpid Broker-J 8.0.4</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.5">Qpid Broker-J 8.0.5</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 2934dc0..459b1e3 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.4">8.0.4</a></td>
+ <td><a href="/releases/qpid-broker-j-8.0.5">8.0.5</a></td>
<td><a href="https://issues.apache.org/jira/projects/QPID">Summary</a> • <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> • <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=main" height="20"/></a></td>
<td><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git">Git</a> • <a href="https://github.com/apache/qpid-broker-j">GitHub</a></td>
diff --git a/content/documentation.html b/content/documentation.html
index 1cf2833..6ad19c2 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.4/book/index.html">Broker book</a></li>
+<li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Broker book</a></li>
</ul>
</section>
diff --git a/content/download.html b/content/download.html
index 089dcb9..f6b3fc9 100644
--- a/content/download.html
+++ b/content/download.html
@@ -200,9 +200,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.4</td>
- <td><a href="https://www.apache.org/dyn/closer.lua?filename=qpid/broker-j/8.0.4/apache-qpid-broker-j-8.0.4-src.tar.gz&action=download">Source</a> (<a href="https://downloads.apache.org/qpid/broker-j/8.0.4/apache-qpid-broker-j-8.0.4-src.tar.gz.asc">ASC</a>, <a href="https://downloads.apache.org/qpid/broker-j/8.0.4/apache-qpid-broker-j-8.0.4-src.tar.gz.sha512">SHA512</a>), <a href="https://www.apache.org/dyn/closer.lua?filename=qpid/broker-j/8.0.4/binaries/apache-qpid-broker-j-8.0.4 [...]
- <td><a href="/releases/qpid-broker-j-8.0.4/index.html">Release Page</a></td>
+ <td>8.0.5</td>
+ <td><a href="https://www.apache.org/dyn/closer.lua?filename=qpid/broker-j/8.0.5/apache-qpid-broker-j-8.0.5-src.tar.gz&action=download">Source</a> (<a href="https://downloads.apache.org/qpid/broker-j/8.0.5/apache-qpid-broker-j-8.0.5-src.tar.gz.asc">ASC</a>, <a href="https://downloads.apache.org/qpid/broker-j/8.0.5/apache-qpid-broker-j-8.0.5-src.tar.gz.sha512">SHA512</a>), <a href="https://www.apache.org/dyn/closer.lua?filename=qpid/broker-j/8.0.5/binaries/apache-qpid-broker-j-8.0.5 [...]
+ <td><a href="/releases/qpid-broker-j-8.0.5/index.html">Release Page</a></td>
</tr>
<tr>
<td> </td>
diff --git a/content/releases/index.html b/content/releases/index.html
index 9867434..d639e6c 100644
--- a/content/releases/index.html
+++ b/content/releases/index.html
@@ -126,12 +126,12 @@ the
<div class="two-column">
<ul>
+<li><a href="qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a>, June 2021</li>
<li><a href="qpid-protonj2-1.0.0-M2/index.html">Qpid ProtonJ2 1.0.0-M1</a>, May 2021</li>
<li><a href="qpid-jms-1.0.0/index.html">Qpid JMS 1.0.0</a>, May 2021</li>
<li><a href="qpid-jms-0.59.0/index.html">Qpid JMS 0.59.0</a>, May 2021</li>
<li><a href="qpid-protonj2-1.0.0-M1/index.html">Qpid ProtonJ2 1.0.0-M1</a>, May 2021</li>
<li><a href="qpid-proton-0.34.0/index.html">Qpid Proton 0.34.0</a>, April 2021</li>
-<li><a href="qpid-broker-j-8.0.4/index.html">Qpid Broker-J 8.0.4</a>, February 2021</li>
<li><a href="qpid-broker-j-7.1.12/index.html">Qpid Broker-J 7.1.12</a>, February 2021</li>
<li><a href="qpid-dispatch-1.16.0/index.html">Qpid Dispatch 1.16.0</a>, May 2021</li>
<li><a href="qpid-proton-j-0.33.8/index.html">Qpid Proton-J 0.33.8</a>, November 2020</li>
@@ -152,6 +152,7 @@ the
<li><a href="qpid-jms-0.58.0/index.html">Qpid JMS 0.58.0</a>, April 2021</li>
<li><a href="qpid-jms-0.57.0/index.html">Qpid JMS 0.57.0</a>, March 2021</li>
<li><a href="qpid-dispatch-1.15.0/index.html">Qpid Dispatch 1.15.0</a>, February 2021</li>
+<li><a href="qpid-broker-j-8.0.4/index.html">Qpid Broker-J 8.0.4</a>, February 2021</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>
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 b676739..59b62e0 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.4" || "7.0.7" === "7.1.12") {
+ if ("7.0.7" === "8.0.5" || "7.0.7" === "7.1.12") {
_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 ac2f32f..054f568 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.4" || "7.0.8" === "7.1.12") {
+ if ("7.0.8" === "8.0.5" || "7.0.8" === "7.1.12") {
_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 fabba44..c428768 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.4" || "7.0.9" === "7.1.12") {
+ if ("7.0.9" === "8.0.5" || "7.0.9" === "7.1.12") {
_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 7996ca0..d6a8cc7 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.4") {
+ if ("7.1.0" === "8.0.5") {
_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 accc1c1..82b97e8b 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.4" || "7.1.1" === "7.1.12") {
+ if ("7.1.1" === "8.0.5" || "7.1.1" === "7.1.12") {
_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 10e806f..f6378f0 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.4" || "7.1.10" === "7.1.12") {
+ if ("7.1.10" === "8.0.5" || "7.1.10" === "7.1.12") {
_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 f2219d1..75f10fb 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.4" || "7.1.11" === "7.1.12") {
+ if ("7.1.11" === "8.0.5" || "7.1.11" === "7.1.12") {
_modifyCurrentReleaseLinks();
}
});
diff --git a/content/releases/qpid-broker-j-7.1.12/index.html b/content/releases/qpid-broker-j-7.1.12/index.html
index 8672411..91bf197 100644
--- a/content/releases/qpid-broker-j-7.1.12/index.html
+++ b/content/releases/qpid-broker-j-7.1.12/index.html
@@ -191,7 +191,7 @@ files you download.</p>
<script type="text/javascript">
_deferredFunctions.push(function() {
- if ("7.1.12" === "8.0.4" || "7.1.12" === "7.1.12") {
+ if ("7.1.12" === "8.0.5" || "7.1.12" === "7.1.12") {
_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 69ddd85..150825d 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.4" || "7.1.2" === "7.1.12") {
+ if ("7.1.2" === "8.0.5" || "7.1.2" === "7.1.12") {
_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 4da0aa3..0397ebf 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.4" || "7.1.3" === "7.1.12") {
+ if ("7.1.3" === "8.0.5" || "7.1.3" === "7.1.12") {
_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 0090a7c..534eaeb 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.4" || "7.1.4" === "7.1.12") {
+ if ("7.1.4" === "8.0.5" || "7.1.4" === "7.1.12") {
_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 dac75dd..905bdcb 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.4" || "7.1.5" === "7.1.12") {
+ if ("7.1.5" === "8.0.5" || "7.1.5" === "7.1.12") {
_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 4c3ca22..3ee237d 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.4" || "7.1.6" === "7.1.12") {
+ if ("7.1.6" === "8.0.5" || "7.1.6" === "7.1.12") {
_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 e015eef..14644ce 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.4" || "7.1.7" === "7.1.12") {
+ if ("7.1.7" === "8.0.5" || "7.1.7" === "7.1.12") {
_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 a1eb1f7..ea8c6b2 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.4" || "7.1.8" === "7.1.12") {
+ if ("7.1.8" === "8.0.5" || "7.1.8" === "7.1.12") {
_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 4a3ab98..c772aa2 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.4" || "7.1.9" === "7.1.12") {
+ if ("7.1.9" === "8.0.5" || "7.1.9" === "7.1.12") {
_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 cf7cb66..7dca8e9 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.4" || "8.0.0" === "7.1.12") {
+ if ("8.0.0" === "8.0.5" || "8.0.0" === "7.1.12") {
_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 c128670..d5f29d1 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.4" || "8.0.1" === "7.1.12") {
+ if ("8.0.1" === "8.0.5" || "8.0.1" === "7.1.12") {
_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 b539309..45976b8 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.4" || "8.0.2" === "7.1.12") {
+ if ("8.0.2" === "8.0.5" || "8.0.2" === "7.1.12") {
_modifyCurrentReleaseLinks();
}
});
diff --git a/content/releases/qpid-broker-j-8.0.3/index.html b/content/releases/qpid-broker-j-8.0.3/index.html
index 7b93a2e..93604dc 100644
--- a/content/releases/qpid-broker-j-8.0.3/index.html
+++ b/content/releases/qpid-broker-j-8.0.3/index.html
@@ -191,7 +191,7 @@ files you download.</p>
<script type="text/javascript">
_deferredFunctions.push(function() {
- if ("8.0.3" === "8.0.4" || "8.0.3" === "7.1.12") {
+ if ("8.0.3" === "8.0.5" || "8.0.3" === "7.1.12") {
_modifyCurrentReleaseLinks();
}
});
diff --git a/content/releases/qpid-broker-j-8.0.4/index.html b/content/releases/qpid-broker-j-8.0.4/index.html
index d429b42..324c9b4 100644
--- a/content/releases/qpid-broker-j-8.0.4/index.html
+++ b/content/releases/qpid-broker-j-8.0.4/index.html
@@ -191,7 +191,7 @@ files you download.</p>
<script type="text/javascript">
_deferredFunctions.push(function() {
- if ("8.0.4" === "8.0.4" || "8.0.4" === "7.1.12") {
+ if ("8.0.4" === "8.0.5" || "8.0.4" === "7.1.12") {
_modifyCurrentReleaseLinks();
}
});
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.fo b/content/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.fo
new file mode 100755
index 0000000..448f358
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.fo
@@ -0,0 +1,3360 @@
+<?xml version="1.0" encoding="utf-8"?><fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="serif,Symbol,ZapfDingbats" font-size="10pt" text-align="justify" line-height="normal" font-selection-strategy="character-by-character" line-height-shift-adjustment="disregard-shifts" writing-mode="lr-tb" language="en"><fo:layout-master-set><fo:simple-page-master master-name="blank" page-width="8.5in" page-height="11in" margin-top="0.5in" margin-bottom="0.5in" margin-left="1in" margin- [...]
+ ACL Rules
+ </fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"> <fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" keep-with-next.within-line="always"/> <fo:basic-link internal-destination="Java-Broker-Security-AccessControlProviders-ACLRules"><fo:page-number-citation ref-id="Java-Broker-Security-AccessControlProviders-ACLRules"/></fo:basic-link></fo:inline></fo:block><fo:block text-align-last="justify" text-align="start" end-inde [...]
+ Syntax
+ </fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"> <fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" keep-with-next.within-line="always"/> <fo:basic-link internal-destination="Java-Broker-Security-AccessControlProviders-Syntax"><fo:page-number-citation ref-id="Java-Broker-Security-AccessControlProviders-Syntax"/></fo:basic-link></fo:inline></fo:block><fo:block text-align-last="justify" text-align="start" end-indent=" [...]
+ Worked Examples
+ </fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"> <fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" keep-with-next.within-line="always"/> <fo:basic-link internal-destination="Java-Broker-Security-AccessControlProviders-WorkedExamples"><fo:page-number-citation ref-id="Java-Broker-Security-AccessControlProviders-WorkedExamples"/></fo:basic-link></fo:inline></fo:block></fo:block><fo:block text-align-last="justify" text [...]
+ <fo:inline font-style="italic">closeWhenNoRoute</fo:inline>
+ </fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"> <fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" keep-with-next.within-line="always"/> <fo:basic-link internal-destination="Java-Broker-Runtime-Close-Connection-When-No-Route-Configuration"><fo:page-number-citation ref-id="Java-Broker-Runtime-Close-Connection-When-No-Route-Configuration"/></fo:basic-link></fo:inline></fo:block></fo:block><fo:block text-align-last="j [...]
+ directly</fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"> <fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" keep-with-next.within-line="always"/> <fo:basic-link internal-destination="d0e7369"><fo:page-number-citation ref-id="d0e7369"/></fo:basic-link></fo:inline></fo:block><fo:block text-align-last="justify" text-align="start" end-indent="24pt" last-line-end-indent="-24pt"><fo:inline keep-with-next.within-line [...]
+ <fo:basic-link external-destination="url(http://www.amqp.org)"><fo:inline> Advanced Message Queuing Protocol (AMQP)</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://www.amqp.org)">http://www.amqp.org</fo:basic-link>]</fo:inline>. The Apache Qpid Broker-J
+ is actually one of two message brokers provided by the <fo:basic-link external-destination="url(http://qpid.apache.org)"><fo:inline>Apache Qpid project</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://qpid.apache.org)">http://qpid.apache.org</fo:basic-link>]</fo:inline>: Qpid Broker-J and the C++
+ Broker.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This document relates to the Apache Qpid Broker-J. The <fo:basic-link external-destination="url(/releases/qpid-cpp-{{current_cpp_release}}/cpp-broker/book/)"><fo:inline>C++ Broker is
+ described separately</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(/releases/qpid-cpp-{{current_cpp_release}}/cpp-broker/book/)">/releases/qpid-cpp-{{current_cpp_release}}/cpp-broker/book/</fo:basic-link>]</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:inline font-style="italic">Headline features</fo:inline></fo:block><fo:list-block space-before.optimum="1em [...]
+ etc).</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e38"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Transaction support including XA<fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="n [...]
+ External, OAuth2, and file-based authentication mechanisms.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e56"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Support for message compression</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item s [...]
+ Derby</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(http://db.apache.org/derby/)">http://db.apache.org/derby/</fo:basic-link>]</fo:inline>, <fo:basic-link external-destination="url(${oracleBdbProductOverviewUrl})"><fo:inline>
+ Oracle BDB JE</fo:inline></fo:basic-link><fo:inline hyphenate="false"> [<fo:basic-link external-destination="url(${oracleBdbProductOverviewUrl})">${oracleBdbProductOverviewUrl}</fo:basic-link>]</fo:inline>, and External Databases.
+ </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e68"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block>Web based management interface and programmatic management interfaces via REST.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.o [...]
+ platforms.</fo:block></fo:block><fo:block id="Java-Broker-Installation-Prerequistes"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start [...]
+ operating system supporting Java 1.8 or higher<fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">1</fo:inline></fo:inline><fo:footnote-body font-family="serif,Symbol,ZapfDingbats" font-size="8pt" font-weight="normal" font-style="normal" text-align="justify" start-indent="0pt" end-indent="0pt" text-indent="0pt" hyphenate="true" wrap-option="wrap" linefeed-treatment="treat-as-spa [...]
+ Unlimited Strength extension must be installed or enabled for some features.</fo:block></fo:footnote-body></fo:footnote>. This includes Linux,
+ Solaris, Mac OS X, and Windows 7/8/10 etc.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> The broker has been tested with Java implementations from both Oracle and IBM. Whatever
+ platform you chose, it is recommended that you ensure it is patched with any critical
+ updates made available from the vendor. </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Verify that your JVM is installed properly by following <fo:basic-link internal-destination="Java-Broker-Miscellaneous-JVM-Verification"><fo:inline>these instructions.</fo:inline></fo:basic-link>
+ </fo:block></fo:block><fo:block id="Java-Broker-Installation-Prerequistes-Disk"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-inde [...]
+ message store, that is, the area of the file-system used to record messages
+ whilst they are passing through the Broker. The working directory is also used for the
+ default location of the log file. The size of the working directory will depend on the how
+ the Broker is used.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The performance of the file system hosting the work directory is key to the performance
+ of Broker as a whole. For best performance, choose a device that has low latency and one
+ that is uncontended by other applications.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Be aware that there are additional considerations if you are considering hosting the
+ working directory on NFS.</fo:block></fo:block><fo:block id="Java-Broker-Installation-Prerequistes-Memory"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" [...]
+ benefit from as much memory as possible. However, on a 32bit JVM, the maximum addressable
+ memory range for a process is 4GB, after leaving space for the JVM's own use this will give
+ a maximum usable size of approximately ~3.7GB.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">See <fo:basic-link internal-destination="Java-Broker-Runtime-Memory"><fo:inline>Section 9.11, “Memory”</fo:inline></fo:basic-link> for a full description of how memory is
+ used.</fo:block></fo:block><fo:block id="Java-Broker-Installation-Prerequistes-OperatingSystemAccount"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text [...]
+ account (i.e. root on UNIX platforms or Administrator on Windows). However it is suggested
+ that you use an dedicated account (e.g. qpid) for the installation and operation of the Broker.</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Installation-Download"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.mini [...]
+ signature matches that available on the site. Instructions are given on the download page.
+ </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Installation-InstallationWindows"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="star [...]
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Now chose a directory for Qpid broker installation. This directory will be used for the
+ Qpid JARs and configuration files. It need not be the same location as the work directory used
+ for the persistent message store or the log file (you will choose this location later). For
+ the remainder this example we will assume that location c:\qpid has been chosen.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Next extract the qpid-broker-8.0.5-bin.zip package into the directory, using either
+ the zip file handling offered by Windows (right click the file and select 'Extract All') or a
+ third party tool of your choice.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The extraction of the broker package will have created a directory
+ qpid-broker\\8.0.5 within c:\qpid</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e163">
+ Directory of c:\qpid\qpid-broker\\8.0.5
+
+25/11/2015 11:29 <DIR> .
+25/11/2015 11:29 <DIR> ..
+25/11/2015 10:56 <DIR> bin
+03/07/2015 08:06 <DIR> etc
+25/11/2015 11:25 <DIR> lib
+25/11/2015 10:56 28,143 LICENSE
+25/11/2015 10:56 3,409 NOTICE
+29/04/2015 09:13 116 README.txt
+3 File(s) 31,668 bytes
+5 Dir(s) 25,981,767,680 bytes free
+</fo:block><fo:block id="Java-Broker-Installation-InstallationWindows-SettingQPIDWORK"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-ind [...]
+ Qpid log file and is used for the storage of persistent messages. The work directory can be
+ set on the command-line (for the lifetime of the command interpreter), but you will normally
+ want to set the environment variable permanently via the Advanced System Settings in the
+ Control Panel.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e170">set QPID_WORK=C:\qpidwork</fo:block><fo:block space-before.optimum="1em" space-before.minimum=" [...]
+ exist, the Broker will attempt to create it on start-up.</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Installation-InstallationUnix"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimu [...]
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Now chose a directory for Qpid broker installation. This directory will be used for the
+ Qpid JARs and configuration files. It need not be the same location as the work directory used
+ for the persistent message store or the log file (you will choose this location later). For
+ the remainder this example we will assume that location /usr/local/qpid has been
+ chosen.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Next extract the qpid-broker-8.0.5-bin.tgz package into the directory.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-trea [...]
+cd /usr/local/qpid
+tar xvzf qpid-broker-8.0.5-bin.tgz</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The extraction of the broker package will have created a directory
+ qpid-broker/8.0.5 within /usr/local/qpid</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e193">ls -la qpid-broker/8.0.5/
+total 56
+drwxrwxr-x. 5 alex alex 4096 Nov 25 11:43 .
+drwxrwxr-x. 3 alex alex 4096 Nov 25 11:43 ..
+drwxr-xr-x. 2 alex alex 4096 Nov 24 23:38 bin
+drwxr-xr-x. 2 alex alex 4096 Nov 24 23:38 etc
+drwxrwxr-x. 2 alex alex 4096 Nov 25 11:43 lib
+-rw-r--r--. 1 alex alex 28143 Nov 24 23:38 LICENSE
+-rw-r--r--. 1 alex alex 3409 Nov 24 23:38 NOTICE
+-rw-r--r--. 1 alex alex 116 Nov 24 23:38 README.txt
+ </fo:block><fo:block id="Java-Broker-Installation-InstallationUnix-SettingQPIDWORK"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-in [...]
+ Qpid log file and is used for the storage of persistent messages. The work directory can be
+ set on the command-line (for the lifetime of the current shell), but you will normally want
+ to set the environment variable permanently the user's shell profile file (~/.bash_profile
+ for Bash etc).</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e200">export QPID_WORK=/var/qpidwork
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If the directory referred to by <fo:basic-link internal-destination="Java-Broker-Appendix-Environment-Variables-Qpid-Work"><fo:inline>QPID_WORK</fo:inline></fo:basic-link> does not
+ exist, the Broker will attempt to create it on start-up. </fo:block></fo:block></fo:block><fo:block id="Java-Broker-Installation-OptionalDependencies"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.o [...]
+ <fo:basic-link internal-destination="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver"><fo:inline>Section F.2, “Installing External JDBC Driver”</fo:inline></fo:basic-link> for details of
+ installing their dependencies.</fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="body" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfDingbats [...]
+ This section describes how to start and stop the Broker, and outlines the various command line options.
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+ For additional details about the broker configuration store and related command line arguments see
+ <fo:basic-link internal-destination="Java-Broker-Initial-Configuration"><fo:inline>Chapter 5, <fo:inline font-style="italic">Initial Configuration</fo:inline></fo:inline></fo:basic-link>.
+ The broker is fully configurable via its Web Management Console, for details of this see
+ <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console"><fo:inline>Section 6.2, “Web Management Console”</fo:inline></fo:basic-link>.
+ </fo:block></fo:block><fo:block id="Java-Broker-Getting-Started-Starting-Stopping-Windows"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" s [...]
+ and ensure that the <fo:basic-link internal-destination="Java-Broker-Installation-InstallationWindows-SettingQPIDWORK"><fo:inline>QPID_WORK environment variable is set</fo:inline></fo:basic-link>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Now use the <fo:inline font-weight="bold">qpid-server.bat</fo:inline> to start the server</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maxim [...]
+[Broker] BRK-1001 : Startup : Version: 8.0.5 Build: 1478262
+[Broker] BRK-1010 : Platform : JVM : Oracle Corporation version: 1.8.0_144-b01 OS : Windows 7 version: 6.1 arch: x86 cores: 4
+[Broker] BRK-1011 : Maximum Memory : Heap : 518,979,584 bytes Direct : 1,610,612,736 bytes
+[Broker] BRK-1002 : Starting : Listening on TCP port 5672
+[Broker] MNG-1001 : Web Management Startup
+[Broker] MNG-1002 : Starting : HTTP : Listening on port 8080
+[Broker] MNG-1004 : Web Management Ready
+[Broker] BRK-1004 : Qpid Broker Ready</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The BRK-1004 message confirms that the Broker is ready for work. The MNG-1002 and BRK-1002 confirm the ports on
+ which the Broker is listening (for HTTP management and AMQP respectively).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">To stop the Broker, use Control-C from the controlling command prompt or
+ <fo:basic-link internal-destination="Java-Broker-Management-Channel-REST-API-Operations"><fo:inline>REST operation broker/shutdown</fo:inline></fo:basic-link>.
+ </fo:block></fo:block><fo:block id="Java-Broker-Getting-Started-Starting-Stopping-Unix"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" star [...]
+ and ensure that the <fo:basic-link internal-destination="Java-Broker-Installation-InstallationUnix-SettingQPIDWORK"><fo:inline>QPID_WORK environment variable is set</fo:inline></fo:basic-link>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Now use the <fo:inline font-weight="bold">qpid-server</fo:inline> script to start the server:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maxi [...]
+[Broker] BRK-1001 : Startup : Version: 8.0.5 Build: exported
+[Broker] BRK-1010 : Platform : JVM : Oracle Corporation version: 1.8.0_144-b01 OS : Mac OS X version: 10.12.6 arch: x86_64 cores: 8
+[Broker] BRK-1011 : Maximum Memory : Heap : 518,979,584 bytes Direct : 1,610,612,736 bytes
+[Broker] BRK-1002 : Starting : Listening on TCP port 5672
+[Broker] MNG-1001 : Web Management Startup
+[Broker] MNG-1002 : Starting : HTTP : Listening on port 8080
+[Broker] MNG-1004 : Web Management Ready
+[Broker] BRK-1004 : Qpid Broker Ready</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The BRK-1004 message confirms that the Broker is ready for work. The MNG-1002 and BRK-1002 confirm the ports on
+ which the Broker is listening (for HTTP management and AMQP respectively).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">To stop the Broker, use Control-C from the controlling shell, use the
+ <fo:inline font-weight="bold">bin/qpid.stop</fo:inline> script, use <fo:inline font-weight="bold">kill -TERM <pid></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 <password>] [-mmqv] [-os]
+ [-prop <name=value>] [-props <path>] [-sp <path>] [-st <type>] [-v]
+ -cic,--create-initial-config <path> 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 <path> 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 <port> override http
+ management port in
+ management mode
+ -mmpass,--management-mode-password <password> 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 <name=value> set a configuration
+ property to use when
+ resolving variables
+ in the broker
+ configuration store,
+ with format
+ "name=value"
+ -props,--system-properties-file <path> set the location of
+ initial properties
+ file to set
+ otherwise unset
+ system properties
+ -sp,--store-path <path> use given
+ configuration store
+ location
+ -st,--store-type <type> 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 > 7 and speed < 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/<version></fo:inline> where <version> 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/<vhostnode name>/<vhostname>/<queuename>
+#create a durable priority queue
+curl --user admin -X PUT -d '{"durable":true,"type":"priority"}' http://localhost:8080/api/latest/queue/<vhostnode name>/<vhostname>/<queuename>
+ </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/<configured object category name></fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">/api/<version>/querybroker/<configured object category name></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/<virtual host node name>/<virtual host name>/<configured object category name></fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">/api/<version>/queryvhost/<virtual host node name>/<virtual host name>/<configured object category name></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 > 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/<virtual host node name>/< virtual host name>.
+ 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="<name>/<host>";
+};</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
+# <user name>: <user password>
+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">
+ # <GroupName>.users = <comma delimited user list>
+ # 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} {<group-name>|<user-name>|ALL} {action|ALL} [object|ALL] [property="<property-value>"]
+ </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}/<nodename>/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}/<nodename>/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}/<nodename>/config</fo:inline> -todir <fo:inline font-family="monospace [...]
+ <fo:inline font-family="monospace">${QPID_WORK}/<nodename>/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}/<name>/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}/<name>/messages</fo:inline> instead.</fo:block></fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-Derby"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.mi [...]
+ documentation accompanying it. Any technique that takes a consistent snapshot of the
+ database is acceptable.</fo:block></fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-Provided"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1 [...]
+ contains it.</fo:block></fo:block><fo:block id="Java-Broker-Backup-And-Recovery-Virtualhost-BDBHA"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-ali [...]
+ contains it.</fo:block></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfDingbats" mar [...]
+ contained within the <fo:inline font-family="monospace">/bin</fo:inline> directory within the Broker distribution.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">To take effect, these variables must be set within the shell (and exported - if using Unix)
+ before invoking the script.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e7474"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" sp [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">None</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The variable used to tell the Broker its installation directory. It must be an
+ absolute path. This is used to determine the location of Qpid's dependency JARs and
+ some configuration files.</fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Typically the value of this variable will look similar to
+ <fo:inline font-family="monospace">c:\qpid\qpid-broker\\8.0.5</fo:inline> (Windows) or
+ <fo:inline font-family="monospace">/usr/local/qpid/qpid-broker/8.0.5</fo:inline> (Unix). The
+ installation prefix will differ from installation to installation. </fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If not set, a value for <fo:inline font-family="monospace">QPID_HOME</fo:inline> is derived from the location
+ of the script itself.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Environment-Variables-Qpid-Work"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>QPID_WORK</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">User's home directory</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used as the default root directory for any data written by the Broker. This is the
+ default location for any message data written to persistent stores and the Broker's
+ log file.</fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example, <fo:inline font-family="monospace">QPID_WORK=/var/qpidwork</fo:inline>.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Environment-Variables-Qpid-Opts"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>QPID_OPTS</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">None</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is the preferred mechanism for passing <fo:basic-link internal-destination="Java-Broker-Appendix-System-Properties"><fo:inline>Java system properties</fo:inline></fo:basic-link> to the
+ Broker. The value must be a list of system properties each separate by a space.
+ <fo:inline font-family="monospace">-D<fo:inline font-family="monospace" font-style="italic">name1</fo:inline>=<fo:inline font-family="monospace" font-style="italic">value1</fo:inline>
+ -D<fo:inline font-family="monospace" font-style="italic">name2</fo:inline>=<fo:inline font-family="monospace" font-style="italic">value2</fo:inline></fo:inline>.
+ </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Environment-Variables-Qpid-Java-Gc"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>QPID_JAVA_GC</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top= [...]
+ <fo:inline font-family="monospace">-XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC</fo:inline>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is the preferred mechanism for customising garbage collection behaviour. The
+ value should contain valid garbage collection options(s) for the target JVM.</fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Refer to the JVM's documentation for details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Environment-Variables-Qpid-Java-Mem"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>QPID_JAVA_MEM</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-to [...]
+ <fo:inline font-family="monospace">-Xmx512m -XX:MaxDirectMemorySize=1536m</fo:inline>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is the preferred mechanism for customising the size of the JVM's heap and
+ direct memory.
+ The value should contain valid memory option(s) for the target JVM. Oracle JVMs
+ understand <fo:inline font-family="monospace">-Xmx</fo:inline> to specify a maximum heap size,
+ <fo:inline font-family="monospace">-Xms</fo:inline> an initial size, and
+ <fo:inline font-family="monospace">-XX:MaxDirectMemorySize</fo:inline> for the maximum amount of direct
+ memory.</fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example, <fo:inline font-family="monospace">QPID_JAVA_MEM="-Xmx6g -XX:MaxDirectMemorySize=12g"</fo:inline> would
+ set a maximum heap size of 6GB and 12GB of direct memory.</fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Refer to the JVM's documentation for details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Environment-Variables-Java-Opts"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>JAVA_OPTS</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-co [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is the preferred mechanism for passing any other JVM options. This variable is
+ commonly used to pass options for diagnostic purposes, for instance to turn on verbose
+ GC. <fo:inline font-family="monospace">-verbose:gc</fo:inline>.</fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Refer to the JVM's documentation for details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:b [...]
+ various optional behaviours.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The preferred method of enabling these system properties is using the <fo:basic-link internal-destination="Java-Broker-Appendix-Environment-Variables-Qpid-Opts"><fo:inline><fo:inline font-family="monospace">QPID_OPTS</fo:inline></fo:inline></fo:basic-link> environment variable described in the previous
+ section.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e7642"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after.minimum=" [...]
+ received from the peer before a connection is deemed to have been broken.</fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-System-Properties-Broker-Status-Updates"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>qpid.broker_status_updat [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If set true, the Broker will produce operational logging messages.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-System-Properties-Broker-Disabled-Features"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>qpid.broker_disabled_features</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border- [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Allows optional Broker features to be disabled. Currently understood feature
+ names are: <fo:inline font-family="monospace">qpid.jms-selector</fo:inline></fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Feature names should be comma separated.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:b [...]
+ the lives of objects within the Broker. These concise messages are designed to allow the user to
+ understand the actions of the Broker in retrospect. This is valuable for problem diagnosis and
+ provides a useful audit trail.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Each log message includes details of the entity causing the action (e.g. a management user
+ or messaging client connection), the entity receiving the action (e.g. a queue or connection)
+ and a description of operation itself.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The log messages have the following format:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-tr [...]
+ [<fo:inline font-family="monospace">Actor</fo:inline>] {[<fo:inline font-family="monospace">Subject</fo:inline>]} [<fo:inline font-family="monospace">Message Id</fo:inline>] [<fo:inline font-family="monospace">Message Text</fo:inline>]
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Where:</fo:block><fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e7716"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum= [...]
+ <fo:inline font-style="italic">performing</fo:inline> the action. There are actors corresponding to the Broker
+ itself, Management, Connection, and Channels. Their format is described in the <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Actor-Format"><fo:inline>table</fo:inline></fo:basic-link> below.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7728"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:lis [...]
+ <fo:inline font-style="italic">receiving</fo:inline> the action. There are subjects corresponding to the
+ Connections, Channels, Queues, Exchanges, Subscriptions, and Message Stores. Their format is
+ described in the <fo:basic-link internal-destination="Java-Broker-Appendix-Operation-Logging-Subject-Format"><fo:inline>table</fo:inline></fo:basic-link> below.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Some actions are reflexive, in these cases the Actor and Subject will be equal.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before [...]
+ three alphas and four digits separated by a hyphen <fo:inline font-family="monospace">AAA-9999</fo:inline>.</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e7749"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block><fo:inline font-family="monospace">Message Text</fo:i [...]
+ connection actor (<fo:inline font-family="monospace">con</fo:inline>) provides us with details of the peer's connection: the
+ user id used by the client (myapp1), their IP, ephemeral port number and the name of the virtual
+ host. The message text itself gives us further details about the connection: the client id, the
+ protocol version in used, and details of the client's qpid library.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e7764">[con:8(myapp1@/127.0.0.1:52851/default)] CON- [...]
+ <fo:inline font-family="monospace">con</fo:inline> tells us details of the connection performing the queue creation: the
+ user id used by the client (myapp1), the IP, ephemeral port number and the name of the virtual
+ host. The queue subject tells use the queue's name (myqueue) and the virtualhost. The message
+ itself tells us more information about the queue that is being created. </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e7774">[con:8(myapp1@/127.0.0.1:52851/default)/ [...]
+ provide a complete catalogue of all supported messages.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Actor-Format"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before. [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used during startup and shutdown</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Management</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-botto [...]
+ [mng:<fo:inline font-family="monospace" font-style="italic">userid</fo:inline>(<fo:inline font-family="monospace" font-style="italic">clientip</fo:inline>:<fo:inline font-family="monospace" font-style="italic">ephemeralport</fo:inline>)] </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used for operations performed by the Web Management interfaces.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Connection</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-botto [...]
+ [con:<fo:inline font-family="monospace" font-style="italic">connectionnumber</fo:inline>(<fo:inline font-family="monospace" font-style="italic">userid</fo:inline>@/<fo:inline font-family="monospace" font-style="italic">clientip</fo:inline>:<fo:inline font-family="monospace" font-style="italic">ephemeralport</fo:inline>/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell pa [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used for operations performed by a client connection. Note that connections are
+ numbered by a sequence number that begins at 1.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Channel</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-w [...]
+ [con:<fo:inline font-family="monospace" font-style="italic">connectionnumber</fo:inline>(<fo:inline font-family="monospace" font-style="italic">userid</fo:inline>@/<fo:inline font-family="monospace" font-style="italic">clientip</fo:inline>:<fo:inline font-family="monospace" font-style="italic">ephemeralport</fo:inline>/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>/ch:<fo:inline font-family="monospace" font-style="italic">channelnumber</f [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used for operations performed by a client's channel (corresponds to the JMS
+ concept of Session). Note that channels are numbered by a sequence number that is
+ scoped by the owning connection.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Group</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block> [grp(/ [...]
+ name</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used for HA. Used for operations performed by the system itself often as a result
+ of actions performed on another node..</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Subject-Format"><fo:block space-before.optimum="1em" space-bef [...]
+ [con:<fo:inline font-family="monospace" font-style="italic">connectionnumber</fo:inline>(<fo:inline font-family="monospace" font-style="italic">userid</fo:inline>@/<fo:inline font-family="monospace" font-style="italic">clientip</fo:inline>:<fo:inline font-family="monospace" font-style="italic">ephemeralport</fo:inline>/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell pa [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A connection to the Broker.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Channel</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-w [...]
+ [con:<fo:inline font-family="monospace" font-style="italic">connectionnumber</fo:inline>(<fo:inline font-family="monospace" font-style="italic">userid</fo:inline>@/<fo:inline font-family="monospace" font-style="italic">clientip</fo:inline>:<fo:inline font-family="monospace" font-style="italic">ephemeralport</fo:inline>/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>/ch:<fo:inline font-family="monospace" font-style="italic">channelnumber</f [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A client's channel within a connection.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Subscription</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bot [...]
+ [sub:<fo:inline font-family="monospace" font-style="italic">subscriptionnumber</fo:inline>(vh(/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>)/qu(<fo:inline font-family="monospace" font-style="italic">queuename</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom- [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A subscription to a queue. This corresponds to the JMS concept of a
+ Consumer.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Queue</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-wid [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A queue on a virtualhost</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Exchange</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom- [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">An exchange on a virtualhost</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Binding</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-w [...]
+ [vh(/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>)/ex(<fo:inline font-family="monospace" font-style="italic">exchangetype</fo:inline>/<fo:inline font-family="monospace" font-style="italic">exchangename</fo:inline>)/qu(<fo:inline font-family="monospace" font-style="italic">queuename</fo:inline>)/rk(<fo:inline font-family="monospace" font-style="italic">bindingkey</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:ta [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A binding between a queue and exchange with the giving binding key.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>Message Store</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bo [...]
+ [vh(/<fo:inline font-family="monospace" font-style="italic">virtualhostname</fo:inline>)/ms(<fo:inline font-family="monospace" font-style="italic">messagestorename</fo:inline>)]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A virtualhost/message store on the Broker.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA Group</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block> [gr [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A HA group</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following tables lists all the operation log messages that can be produced by the
+ Broker, and the describes the circumstances under which each may be seen.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Broker"><fo:block space-before.optimum="1em" space-before.mini [...]
+ <fo:inline font-family="monospace" font-style="italic">build</fo:inline>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the Broker is starting up</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:inline font-family="monospace" font-style="italic">portnumber</fo:inline>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the Broker has begun listening on a port.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:inline font-family="monospace" font-style="italic">portnumber</fo:inline>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the Broker has stopped listening on a port.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the Broker is ready for normal operations.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the Broker is stopped.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates the name of the configuration store in use by the Broker.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ kB/s peak : <fo:inline font-family="monospace" font-style="italic">size</fo:inline> bytes total</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Statistic - bytes delivered or received by the Broker.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ msg/s peak : <fo:inline font-family="monospace" font-style="italic">size</fo:inline> msgs total</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Statistic - messages delivered or received by the Broker.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1010"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1010</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ </fo:inline> OS : <fo:inline font-family="monospace" font-style="italic">operating system vendor</fo:inline> version:
+ <fo:inline font-family="monospace" font-style="italic">operating system version</fo:inline>} arch: <fo:inline font-family="monospace" font-style="italic">processor
+ architecture</fo:inline> cores: <fo:inline font-family="monospace" font-style="italic">number of CPU cores</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Key information about the environment hosting the Broker</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1011"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1011</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ bytes</fo:inline> size</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Configured memory paramters for the Broker.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1012"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1012</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:inline font-family="monospace" font-style="italic">management mode password</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used when Broker is started in management mode to indicate the
+ management credentials that may be used connect to the Broker.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1016"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1016</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that broker was shut down due to fatal error.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1017"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1017</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Process identifier (PID) of the Broker process.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1018"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BRK-1018</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Management"><fo:block space-before.optimum="1em" [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a Management plugin is starting up. Supported by Web management plugin.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:inline font-family="monospace" font-style="italic">port</fo:inline>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a Management plugin is listening on the given port.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:inline font-family="monospace" font-style="italic">port</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a Management plugin is ceasing to listen on the given port.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a Management plugin is ready for work.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a Management plugin is stopped.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates the opening of a connection to Management has by the given
+ username.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MNG-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates the closing of a connection to Management has by the given
+ username.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-VirtualHost"><fo:block space-before.optimum="1em" [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a virtualhost has been created.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>VHT-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a virtualhost has been closed. This occurs on Broker
+ shutdown.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>VHT-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Virtualhost has suffered an unexpected fatal error, check the logs for more
+ details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>VHT-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that virtual host flow control is activated
+ when the usage of file system containing Virtualhost message store exceeded predefined limit.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>VHT-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that virtual host flow control is deactivated
+ when the usage of file system containing Virtualhost message falls under predefined limit.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>VHT-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Queue"><fo:block space-before.optimum="1em" space [...]
+ <fo:inline font-family="monospace" font-style="italic">AutoDelete</fo:inline> [<fo:inline font-family="monospace" font-style="italic">Durable</fo:inline>]
+ <fo:inline font-family="monospace" font-style="italic">Transient</fo:inline> Priority:
+ <fo:inline font-family="monospace" font-style="italic">numberofpriorities</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a queue has been created.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUE-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a queue has been deleted.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUE-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ Overfull : Size : <fo:inline font-family="monospace" font-style="italic">size in bytes</fo:inline>, Capacity : <fo:inline font-family="monospace" font-style="italic">resumesize in bytes</fo:inline>,
+ Messages : <fo:inline font-family="monospace" font-style="italic">size in messages</fo:inline>, Message Capacity : <fo:inline font-family="monospace" font-style="italic">resumesize in messages</fo:inline>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a queue has exceeded its permitted capacity when
+ <fo:inline font-style="italic">Producer Flow Control</fo:inline> overflow policy is used.
+ See <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link> for details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUE-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ Underfull : Size : <fo:inline font-family="monospace" font-style="italic">size in bytes</fo:inline>, Capacity : <fo:inline font-family="monospace" font-style="italic">resumesize in bytes</fo:inline>,
+ Messages : <fo:inline font-family="monospace" font-style="italic">size in messages</fo:inline>, Message Capacity : <fo:inline font-family="monospace" font-style="italic">resumesize in messages</fo:inline>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+ Indicates that a queue has fallen to its resume capacity when
+ <fo:inline font-style="italic">Producer Flow Control</fo:inline> overflow policy is used.
+ See <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link> for details.
+ </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUE-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ Dropped : <fo:inline font-family="monospace" font-style="italic">number</fo:inline> messages, Depth : <fo:inline font-family="monospace" font-style="italic">size</fo:inline> bytes,
+ <fo:inline font-family="monospace" font-style="italic">size</fo:inline> messages, Capacity : <fo:inline font-family="monospace" font-style="italic">limit</fo:inline> bytes,
+ <fo:inline font-family="monospace" font-style="italic">limit</fo:inline> messages
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+ Indicates that a given number of messages is deleted when <fo:inline font-style="italic">Ring</fo:inline> overflow policy is
+ used and any of queue capacity limits is breached .
+ See <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link> for details.
+ </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1016"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUE-1016</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Exchange"><fo:block space-before.optimum="1em" sp [...]
+ Name: <fo:inline font-family="monospace" font-style="italic">exchange name</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that an exchange has been created.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>EXH-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that an exchange has been deleted.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>EXH-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:inline font-family="monospace" font-style="italic">routing key</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that an exchange received a message that could not be routed to at least
+ one queue. queue has exceeded its permitted capacity. See <fo:basic-link internal-destination="Java-Broker-Concepts-Exchanges-UnroutableMessage"><fo:inline>Section 4.6.4, “Unrouteable Messages”</fo:inline></fo:basic-link> for details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>EXH-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Binding"><fo:block space-before.optimum="1em" spa [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a binding has been made between an exchange and a queue.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-BND-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>BND-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a binding has been deleted</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Connection"><fo:block space-before.optimum="1em" [...]
+ <fo:inline font-family="monospace" font-style="italic">protocol version</fo:inline> : Client ID : <fo:inline font-family="monospace" font-style="italic">clientid</fo:inline> :
+ Client Version : <fo:inline font-family="monospace" font-style="italic">client version</fo:inline> :
+ Client Product : <fo:inline font-family="monospace" font-style="italic">client product</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection has been opened. The Broker logs one of these message
+ each time it learns more about the client as the connection is negotiated.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection has been closed. This message is logged regardless of
+ if the connection is closed normally, or if the connection is somehow lost e.g network
+ error. </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Used when heart beating is in-use. Indicates that the connection has not received
+ a heartbeat for too long and is therefore closed as being inactive. </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection has been unexpectedly closed by the peer. This usually
+ occurs if a machine hosting an application fails or the application's process is
+ abruptly terminated.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection has been received from client with a version number
+ that is configured to be logged. This feature may help teams manage software currency.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection attempt has been received from client with a version number
+ that is configured to be rejected. This feature may help manage software currency.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a connection has been closed by the actions of an
+ Operator using manangement.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ exceeding <fo:inline font-family="monospace" font-style="italic">size</fo:inline> bytes limit. Messages will be flowed to disk.</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Warns that the transactions associated with this connection contain so much uncommitted data that
+ a threshold has been breached. The connection responds by flowing the messages already associated with the
+ transactions and any new messages to disk. The connection reverts to normal behaviour once the
+ quantity of uncommitted data falls beneath the threshold. Normally this happens when the transactions
+ commit or rollback.
+ </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1010"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1010</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a messaging transaction has been open for longer than that
+ permitted. See <fo:basic-link internal-destination="Java-Broker-Runtime-Transaction-Timeout"><fo:inline>Section 9.3, “Transaction Timeout”</fo:inline></fo:basic-link> for
+ more details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CON-1011"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CON-1011</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a messaging transaction has been idle for longer than that
+ permitted. See <fo:basic-link internal-destination="Java-Broker-Runtime-Transaction-Timeout"><fo:inline>Section 9.3, “Transaction Timeout”</fo:inline></fo:basic-link> for
+ more details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Channel"><fo:block space-before.optimum="1em" spa [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel (corresponds to the JMS concept of Session) has been
+ created.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates message flow to a session has begun.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel has been closed.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ of messages</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates the prefetch size in use by a channel.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that producer flow control has been imposed on a channel owning to
+ excessive queue depth in the indicated queue. Produces using the channel will be
+ requested to pause the sending of messages.
+ See <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link> for more details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that producer flow control has been removed from a channel.
+ See <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link> for more details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ exchange configured for queue : <fo:inline font-family="monospace" font-style="italic">queue name</fo:inline>{1} routing key :
+ <fo:inline font-family="monospace" font-style="italic">routing key</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel has discarded a message as the maximum delivery count has
+ been exceeded but the queue defines no alternate exchange. See <fo:basic-link internal-destination="Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count"><fo:inline>Section 9.4.2, “Maximum Delivery Count”</fo:inline></fo:basic-link> for more details. Note that <fo:inline font-family="monospace" font-style="italic">message number</fo:inline> is an
+ internal message reference.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1010"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1010</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ alternate exchange : <fo:inline font-family="monospace" font-style="italic">exchange name</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel has discarded a message as the maximum delivery count has
+ been exceeded but the queue's alternate exchange has no binding to a queue. See <fo:basic-link internal-destination="Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count"><fo:inline>Section 9.4.2, “Maximum Delivery Count”</fo:inline></fo:basic-link> for more details. Note that <fo:inline font-family="monospace" font-style="italic">message number</fo:inline> is an
+ internal message reference.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1011"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1011</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:inline font-family="monospace" font-style="italic">queue name</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel has moved a message to the named dead letter queue
+ </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1012"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1012</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a channel violating the imposed flow control has been closed
+ </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1014"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CHN-1014</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Subscription"><fo:block space-before.optimum="1em [...]
+ <fo:inline font-family="monospace" font-style="italic">arguments</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a subscription (corresponds to JMS concept of a MessageConsumer)
+ has been created.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>SUB-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a subscription has been closed.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>SUB-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a subscription has been in a suspened state for an unusual length
+ of time. This may be indicative of an consuming application that has stopped taking
+ messages from the consumer (i.e. a JMS application is not calling receive() or its
+ asynchronous message listener onMessage() is blocked in application code). It may also
+ indicate a generally overloaded system.
+ </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>SUB-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-MessageStore"><fo:block space-before.optimum="1em [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a message store has been created. The message store is responsible
+ for the storage of the messages themselves, including the message body and any
+ headers.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the message store is using <fo:inline font-family="monospace" font-style="italic">path</fo:inline> for the
+ location of the message store.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the message store has been closed.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that message recovery has begun.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that recovery recovered the given number of messages from the
+ store.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the message recovery is concluded.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The store is entering a passive state where is it unavailable for normal
+ operations. Currently this message is used by HA when the node is in replica
+ state.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The store has breached is maximum configured size.
+ See <fo:basic-link internal-destination="Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control"><fo:inline>Section 9.2.1, “Disk quota-based flow control”</fo:inline></fo:basic-link> for details.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MST-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The store size has fallen beneath its resume capacity and therefore flow control
+ has been rescinded. See <fo:basic-link internal-destination="Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control"><fo:inline>Section 9.2.1, “Disk quota-based flow control”</fo:inline></fo:basic-link>
+ for details. </fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-TransactionStore"><fo:block space-before.optimum= [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a transaction store has been created. The transaction store is
+ responsible for the storage of messages instances, that is, the presence of a message
+ on a queue.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>TXN-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the transaction store is using <fo:inline font-family="monospace" font-style="italic">path</fo:inline> for
+ the location of the store.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>TXN-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the transaction store has been closed.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>TXN-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that transaction recovery has begun.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-MST-TXN"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>TXN-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end [...]
+ <fo:inline font-family="monospace" font-style="italic">name</fo:inline>.</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that recovery recovered the given number of message instances for the
+ given queue.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>TXN-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the message recovery is concluded.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-ConfigurationStore"><fo:block space-before.optimu [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a configuration store has been created. The configuration store is
+ responsible for the storage of the definition of objects such as queues, exchanges,
+ and bindings.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CFG-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the configuration store is using <fo:inline font-family="monospace" font-style="italic">path</fo:inline>
+ for the location of the store.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CFG-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the configuration store has been closed.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CFG-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that configuration recovery has begun.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>CFG-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the configuration recovery is concluded.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-HA"><fo:block space-before.optimum="1em" space-be [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This HA node has been created.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This HA node has been deleted</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A new node has been added to the group.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node has been removed from the group. This removal is permanent.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node has become reachable. This may be as a result of the node being
+ restarted, or a network problem may have been resolved.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1006"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1006</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node is no longer reachable. This may be as a result of the node being stopped
+ or a network partition may be preventing it from being connected. The node is still a
+ member of the group.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that a master transfer operation has been requested.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>)</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that an unexpected node has joined the group. The virtualhost node will
+ go into the ERROR state in response to the condition.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This node (which was in the master role) no longer has sufficient replica in
+ contact in order to complete transactions.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1010"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1010</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ (<fo:inline font-family="monospace" font-style="italic">host:port</fo:inline>) : from <fo:inline font-family="monospace" font-style="italic">role</fo:inline> to
+ <fo:inline font-family="monospace" font-style="italic">role</fo:inline></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the node has changed role within the group.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1011"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1011</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The quorum requirements from completing elections or transactions has been
+ changed.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1012"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1012</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The priority of the object node has been changed. Zero indicates that the node
+ cannot be elected master.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1013"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1013</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end= [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This node has been designated primary and can now operate solo. Applies to two
+ node groups only. See <fo:basic-link internal-destination="Java-Broker-High-Availability-Behaviour-DesignatedPrimary"><fo:inline>Section 10.4.5, “Allow to Operate Solo”</fo:inline></fo:basic-link></fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-HA-1014"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>HA-1014</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bott [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This node is in the process of rejoining the group but has discovered that some
+ of its transactions differ from those of the current master. The node will
+ automatically roll-back (i.e. discard) the diverging transactions in order to be
+ allowed to rejoin the group. This situation can only usually occur as a result of use
+ of the weak durability options. These allow the group to operate with fewer than
+ quorum nodes and therefore allow the inconsistencies to develop. </fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">On encountering this condition, it is <fo:inline font-style="italic">strongly</fo:inline> recommendend
+ to run an application level reconcilation to determine the data that has been
+ lost.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Operation-Logging-Message-List-Port"><fo:block space-before.optimum="1em" space- [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Port has been created.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1002"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1002</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Port has been open</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1003"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1003</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Port has been closed</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1004"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1004</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Warns that number of open connections approaches maximum allowed limit</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1005"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1005</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Connection from given host is rejected because of reaching the maximum allowed limit</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1007"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1007</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Ususualy indicates an attempt to make an non-AMQP connection on an AMQP port, for instance,
+ with a web browser.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1008"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1008</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Incoming connection is rejected because the port's connection limits are
+ already reached.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1009"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1009</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-en [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The given port number could not be bound because it is already in-use.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1010"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>PRT-1010</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bo [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Indicates that the named operation has been invoked</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:b [...]
+ the log. Statistics reporting can be configured for a single entity (e.g. a queue) or for all entities of a
+ particular category (e.g. for all queues). The system can be configured dynamically at runtime without the need
+ for the system to be restarted.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This feature helps allow the behaviour of the overall system to be understood and can aid real-time problem
+ diagnosis.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">It can be configured Broker-wide or separately for each virtual host.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The format of the statistics report is configurable.</fo:block><fo:block id="d0e9853"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Sy [...]
+ in seconds. By default the statistics report period is zero, meaning the system is disabled. To enable the
+ statistics report set the <fo:inline font-style="italic">statistics reporting period</fo:inline> on either the Broker or virtualhost to
+ a non-zero value.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Once the period is defined, the system will respond to the statistic report patterns defined described next.</fo:block></fo:block><fo:block id="d0e9863"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-seri [...]
+ content variables</fo:inline></fo:basic-link>. The place where the context variable is defined governs the scope i.e. the entities to
+ which the pattern will be applied.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For instance, to define a statistics reporting pattern for a single queue,
+ <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console-Managing-Context-Variables"><fo:inline>set the contextvariable
+ </fo:inline></fo:basic-link> on the queue itself. If you want the same statistics report pattern for apply to all queues, set the pattern on a
+ suitable ancestor of the queue. For instance, if set on virtualhost, the pattern will applied to all queues defined
+ on that virtualhost. If set on Broker, the pattern will be applied to all queues on the Broker.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The context variable name is formed as follows:
+ <fo:inline font-family="monospace">qpid.<category-name>.statisticsReportPattern</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For instance, for queue: <fo:inline font-family="monospace">qpid.queue.statisticsReportPattern</fo:inline> and virtualhost:
+ <fo:inline font-family="monospace">qpid.virtualhost.statisticsReportPattern</fo:inline></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The value of the context variable is a free text string containing reference(s) to the statistic names that
+ are to appear in the report. References are made by surrounding the name of the statistic with '$' and curly braces,
+ thus <fo:inline font-family="monospace">${<statistic-name>}</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Statistics references allow an optional formatters. The supported formatters are: <fo:inline font-family="monospace">:byteunit</fo:inline>
+ (produces a human readable byte value e.g. 3 MiB), <fo:inline font-family="monospace">:duration</fo:inline> (produces a ISO-8601 duration)and
+ <fo:inline font-family="monospace">:datetime</fo:inline> (produces a ISO-8601 date/time).</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example, a statistic report pattern for the <fo:inline font-family="monospace">queue</fo:inline> category specifying two queue
+ statistic values: <fo:inline font-family="monospace">queueDepthMessages=${queueDepthMessages},queueDepthBytes=${queueDepthBytes:byteunit}</fo:inline></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Like all context variables, the statistic report pattern can also reference the attributes of the entity
+ or even its ancestors. This feature can be exploited to include things like the name of the entity within the
+ report.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">These points are illustrated in the examples in the next section.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">A catalogue of statistics names and descriptions is available from the REST API documentation available
+ through the <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console"><fo:inline>Web Management Console</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="d0e9922"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="alwa [...]
+ cURL. This example uses <fo:inline font-family="monospace">ancestor</fo:inline> references to include entity names:</fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e9933"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12p [...]
+"value" : "${ancestor:virtualhost:name}/${ancestor:queue:name}: queueDepthMessages=${queueDepthMessages},
+queueDepthBytes=${queueDepthBytes:byteunit}"}' https://localhost:8080/api/latest/queue/default/default/myqueue/setContextVariable</fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+ Once enabled, an example statistic report output written to the log might look like this:
+ <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e9940">INFO [virtualhost-default-pool-0] (q.s.Queue)- Statistics: default/myqueue: queueDepthMessages=0, queueDepthBytes=0 B
+ INFO [virtualhost-default-pool-2] (q.s.Queue)- Statistics: default/myqueue: queueDepthMessages=3, queueDepthBytes=345 B
+ INFO [virtualhost-default-pool-2] (q.s.Queue)- Statistics: default/myqueue: queueDepthMessages=3, queueDepthBytes=345 B</fo:block>
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Removing a statistic report pattern from the same queue:</fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="d0e9945"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maxim [...]
+curl --user admin --data '{"name" : "qpid.queue.statisticsReportPattern"}' https://localhost:8080/api/latest/queue/default/default/myqueue/setContextVariable</fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Adding a statistic reporting pattern to all queues:</fo:block><fo:block><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.op [...]
+"value" : "${ancestor:virtualhost:name}/${ancestor:queue:name}:
+oldestMessageAge=${oldestMessageAge:duration}"}' https://localhost:8080/api/latest/virtualhost/default/default/setContextVariable</fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+ Once enabled, an example statistic report for a virtualhost with two queues might look like this:
+ <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e9959">INFO [virtualhost-default-pool-1] (q.s.Queue)- Statistics: default/myqueue1: oldestMessageAge=PT1M24S
+ INFO [virtualhost-default-pool-1] (q.s.Queue)- Statistics: default/myqueue2: oldestMessageAge=PT0S</fo:block>
+ </fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table ta [...]
+ these limits will be periodically written to the log if these limits are breached, until the
+ condition is rectified.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">For example, if queue <fo:inline font-family="monospace">myqueue</fo:inline> is configured with a message count alert of
+ 1000, and then owing to a failure of a downstream system messages begin to accumulate on the
+ queue, the following alerts will be written periodically to the log. </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e9973">INFO [default:VirtualHostHouseKeepingTask] [...]
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Note that queue alerts are <fo:inline font-style="italic">soft</fo:inline> in nature; breaching the limit will
+ merely cause the alerts to be generated but messages will still be accepted to the queue.</fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt"><fo:block space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Queue-Alerts-Alerting-Messages"><fo:block space-before.optimum="1em" space-be [...]
+ <fo:inline font-family="monospace" font-style="italic">number of messages</fo:inline>: Maximum count on queue threshold
+ (<fo:inline font-family="monospace" font-style="italic">limit</fo:inline>) breached. </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The number of messages on the given queue has breached its configured
+ limit.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MESSAGE_SIZE_ALERT</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" bord [...]
+ -<fo:inline font-family="monospace" font-style="italic">message size</fo:inline> : Maximum message size threshold
+ (<fo:inline font-family="monospace" font-style="italic">limit</fo:inline>) breached. [Message ID=<fo:inline font-family="monospace" font-style="italic">message
+ id</fo:inline>]</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The size of an individual messages has breached its configured limit.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>QUEUE_DEPTH_ALERT</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" borde [...]
+ <fo:inline font-family="monospace" font-style="italic">total size of all messages on queue</fo:inline> : Maximum queue depth
+ threshold (<fo:inline font-family="monospace" font-style="italic">limit</fo:inline>) breached.</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The total size of all messages on the queue has breached its configured
+ limit.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black" number-rows-spanned="2"><fo:block>MESSAGE_AGE_ALERT</fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:b [...]
+ of message</fo:inline> : Maximum age on queue threshold
+ (<fo:inline font-family="monospace" font-style="italic">limit</fo:inline>) breached. </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The age of a message on the given queue has breached its configured limit.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:b [...]
+ following at the command prompt: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10088">echo %JAVA_HOME%</fo:block><fo:block space-before.optimum="1em" space-befo [...]
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Then confirm that a Java installation (1.8 or higher) is available: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="p [...]
+Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
+Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)</fo:block></fo:block><fo:block id="Java-Broker-Miscellaneous-JVM-Verification-Unix"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1. [...]
+ following at the command prompt: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10107">echo $JAVA_HOME</fo:block><fo:block space-before.optimum="1em" space-befor [...]
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"> Then confirm that a Java installation (1.8 or higher) is available: </fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="p [...]
+ Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
+ Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)</fo:block></fo:block></fo:block><fo:block id="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0. [...]
+ Database's JDBC 4.0 compatible drivers available on the Broker's classpath. To do this copy
+ the driver's JAR file into the <fo:inline font-family="monospace">${QPID_HOME}/lib</fo:inline> folder.</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10129">Unix:
+cp <fo:inline font-family="monospace">driver</fo:inline>.jar qpid-broker-8.0.5/lib</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10134">Windows:
+copy <fo:inline font-family="monospace">driver</fo:inline>.jar qpid-broker-8.0.5\lib</fo:block></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"> [...]
+ <fo:inline font-style="italic">Qpid Broker-J</fo:inline>
+ supports a number of custom arguments which can be specified as part of <fo:inline font-style="italic">queue.declare</fo:inline>
+ commands for AMQP 0-x protocols. This section provides an overview of the supported arguments.
+ </fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="auto" id="Java-Broker-Appendix-Supported-Queue-Declare-Arguments"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold" font-size="12pt" hyphenate="false" space-after [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Declaration of overflow policy.
+ See
+ <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link>
+ for more details.
+ </fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" text-align="center" display-align="center" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block/></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Policy-Type"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-wi [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.policy_type</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defines queue overflow policy.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Max-Count"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.max_count</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defines <fo:inline font-style="italic">maximum number of messages</fo:inline>.
+ </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Max-Size"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.max_size</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defines <fo:inline font-style="italic">maximum number of bytes</fo:inline>.
+ </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-style="italic">Overflow Policy</fo:inline> and the limits can be specified using
+ <fo:inline font-style="italic">Address</fo:inline>
+ based syntax as in the example below:
+ <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10223">
+my-queue; {create: always, node:
+{x-declare: {arguments:
+{'qpid.max_count': 10000,
+'qpid.max_size': 102400,
+'qpid.policy_type: 'ring'}}}}
+</fo:block>
+ </fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" text-align="center" display-align="center" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block/></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Overflow-Policy-Producer-Flow-Control"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bot [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Alternative declaration of <fo:inline font-style="italic">Producer Flow Control</fo:inline> overflow policy.
+ See
+ <fo:basic-link internal-destination="Java-Broker-Concepts-Queue-OverflowPolicy"><fo:inline>Section 4.7.5, “Controlling Queue Size”</fo:inline></fo:basic-link>
+ for more details.
+ </fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" text-align="center" display-align="center" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block/></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Capacity"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">x-qpid-capacity</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defines <fo:inline font-style="italic">maximum number of bytes</fo:inline>.
+ </fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Flow-Resume-Capacity"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">x-qpid-flow-resume-capacity</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Defines flow resume threshold in bytes</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The <fo:inline font-style="italic">Producer Flow Control</fo:inline> can be specified using
+ <fo:inline font-style="italic">Address</fo:inline> based syntax as in the example below:
+ <fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-option="no-wrap" white-space-collapse="false" white-space-treatment="preserve" linefeed-treatment="preserve" text-align="start" font-family="monospace" id="d0e10274">
+my-queue; {create: always, node:
+{x-declare: {arguments:
+{'x-qpid-capacity': 102400,
+'x-qpid-flow-resume-capacity': 8192000}}}}
+</fo:block>
+ </fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" text-align="center" display-align="center" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block/></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Qpid-Priorities"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bot [...]
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">x-qpid-priorities</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Specifies a priority queue with given number priorities</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Sort-Key"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.queue_sort_key</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Specifies sorted queue with given message property used to sort the entries</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Last-Value-Key"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.last_value_queue_key</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Specifies lvq queue with given message property used to conflate the entries</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Ensure-Nondestructive-Consumers"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">qpid.ensure_nondestructive_consumers</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Set to true if the queue should make all consumers attached to it behave
+ non-destructively. (Default is false).</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Qpid-Maximum-Delivery-Count"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">x-qpid-maximum-delivery-count</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Specifies this queue's maximum delivery count.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row><fo:table-row id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Single-Active-Consumer"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="0.5pt" border-end-style="solid" border-end-color="black"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">x-single-active-consumer</fo:block>
+ </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt"><fo:block>
+ <fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">If set <fo:inline font-family="monospace">true</fo:inline>, then of all consumers attached to a queue, only one will
+ be designated as <fo:inline font-style="italic">active</fo:inline>, and eligible to receive messages. If the active
+ consumer is detached, and other consumers are attached, one of these other consumers is selected
+ to become the single active consumer.</fo:block>
+ </fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:flow></fo:page-sequence><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="true" master-reference="back" language="en" format="1" initial-page-number="auto" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:bl [...]
+ provides an introduction into Broker-J initial configuration and how broker configuration can be created from
+ initial configuration on first broker start-up. This appendix illustrates how to create a BDB HA group from an
+ initial configuration file. For creation of BDB HA group using Web Management Console please refer <fo:basic-link internal-destination="Java-Broker-Management-Channel-Web-Console"><fo:inline>Section 6.2, “Web Management Console”</fo:inline></fo:basic-link>.
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The BDB HA group usually consists of two or more nodes hosting a distributed virtual host.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">When BDB HA node is created the following attributes has to be provided
+ <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e10364"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e10365"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+ A node priority can be optionally specified for the node to influence master election among nodes with the most current set of data.
+ An attribute <fo:inline font-style="italic">priority</fo:inline> is used to specify a priority as an integer number.
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Apart from a group name and permitted nodes, the rest of node attribute values varies from node to node.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">In order to use the same initial configuration for creation of BDB HA nodes, the context variable can be used for varying attribute values.</fo:block><fo:block space-before.o [...]
+ <fo:list-block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.0em" id="d0e10407"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" id="d0e10408"><fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label><fo:list-i [...]
+ </fo:block><fo:block id="Java-Broker-Appendix-BDB-HA-initial-configuration-example"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-inde [...]
+{
+ "name": "${broker.name}",
+ "modelVersion" : "8.0",
+ "authenticationproviders" : [ {
+ "name" : "plain",
+ "type" : "Plain",
+ "users" : [ {
+ "name" : "guest",
+ "type" : "managed",
+ "password" : "guest"
+ } ]
+ } ],
+ "brokerloggers" : [ {
+ "name" : "logfile",
+ "type" : "File",
+ "fileName" : "${qpid.work_dir}${file.separator}log${file.separator}qpid.log",
+ "brokerloginclusionrules" : [ {
+ "name" : "Root",
+ "type" : "NameAndLevel",
+ "level" : "WARN",
+ "loggerName" : "ROOT"
+ }, {
+ "name" : "Qpid",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "org.apache.qpid.*"
+ }, {
+ "name" : "Operational",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "qpid.message.*"
+ }, {
+ "name" : "Statistics",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "qpid.statistics.*"
+ } ]
+ }, {
+ "name" : "memory",
+ "type" : "Memory",
+ "brokerloginclusionrules" : [ {
+ "name" : "Root",
+ "type" : "NameAndLevel",
+ "level" : "WARN",
+ "loggerName" : "ROOT"
+ }, {
+ "name" : "Qpid",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "org.apache.qpid.*"
+ }, {
+ "name" : "Operational",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "qpid.message.*"
+ }, {
+ "name" : "Statistics",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "qpid.statistics.*"
+ } ]
+ } ],
+ "ports" : [ {
+ "name" : "AMQP",
+ "port" : "${qpid.amqp_port}",
+ "authenticationProvider" : "plain",
+ "virtualhostaliases" : [ {
+ "name" : "nameAlias",
+ "type" : "nameAlias"
+ }, {
+ "name" : "defaultAlias",
+ "type" : "defaultAlias"
+ }, {
+ "name" : "hostnameAlias",
+ "type" : "hostnameAlias"
+ } ]
+ }, {
+ "name" : "HTTP",
+ "port" : "${qpid.http_port}",
+ "authenticationProvider" : "plain",
+ "protocols" : [ "HTTP" ]
+ }],
+ "virtualhostnodes" : [ {
+ "name" : "${ha.node_name}",
+ "type" : "BDB_HA",
+ "address" : "${ha.node_address}",
+ "groupName" : "${ha.group_name}",
+ "helperAddress" : "${ha.helper_address}",
+ "helperNodeName" : "${ha.helper_node_name}",
+ "permittedNodes" : "${ha.permitted_nodes}",
+ "priority" : "${ha.priority}",
+ "defaultVirtualHostNode" : "true",
+ "virtualHostInitialConfiguration" : "${qpid.initial_config_virtualhost_config}"
+ } ],
+ "plugins" : [ {
+ "type" : "MANAGEMENT-HTTP",
+ "name" : "httpManagement"
+ } ]
+}
+ </fo:block></fo:block></fo:block></fo:block><fo:block id="Java-Broker-Appendix-BDB-HA-initial-configuration-creation"><fo:block><fo:block><fo:block keep-together.within-column="always" margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum [...]
+ consisting of tree nodes <fo:inline font-family="monospace">weather1</fo:inline>, <fo:inline font-family="monospace">weather2</fo:inline>, and <fo:inline font-family="monospace">weather3</fo:inline>
+ using the initial configuration above. We start node <fo:inline font-family="monospace">weather1</fo:inline> on host/port
+ <fo:inline font-family="monospace">chaac:5000</fo:inline>, node <fo:inline font-family="monospace">weather2</fo:inline> on host/port <fo:inline font-family="monospace">indra:5000</fo:inline>
+ and node <fo:inline font-family="monospace">weather3</fo:inline> on host/port <fo:inline font-family="monospace">thor:5000</fo:inline>.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node <fo:inline font-family="monospace">weather1</fo:inline> can be created with the following command</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space [...]
+$ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather1 -prop ha.node_address=chaac:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]" -prop ha.priority=3 \
+-prop qpid.amqp_port=10000 -prop qpid.http_port=20000
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Please note, the broker is started with initial configuration at file <fo:inline font-family="monospace">./initial-config.json</fo:inline>.
+ The context variable for node name <fo:inline font-family="monospace">ha.node_name</fo:inline> is set to <fo:inline font-family="monospace">weather1</fo:inline>.
+ The node address context variable <fo:inline font-family="monospace">ha.node_address</fo:inline> is set to <fo:inline font-family="monospace">chaac:5000</fo:inline>.
+ As it is a first node, the helper address is set to the same address as a node address (<fo:inline font-family="monospace">ha.helper_address=chaac:5000</fo:inline>)
+ and the helper node name is to itself (<fo:inline font-family="monospace">ha.helper_node_name=weather1</fo:inline>). The group name is set to <fo:inline font-family="monospace">weather</fo:inline>
+ with <fo:inline font-family="monospace">ha.group_name=weather</fo:inline>. The group nodes are listed in <fo:inline font-family="monospace">ha.permitted_nodes</fo:inline>.
+ The amqp and http ports are overridden to 10000 and 20000 accordingly. The node priority is set to <fo:inline font-family="monospace">3</fo:inline>.
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node <fo:inline font-family="monospace">weather2</fo:inline> can be created on host<fo:inline font-family="monospace">indra</fo:inline> with the following command:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-opti [...]
+ $ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather2 -prop ha.node_address=indra:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]" -prop ha.priority=2 \
+-prop qpid.amqp_port=10001 -prop qpid.http_port=20001
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+ The context variable for node name <fo:inline font-family="monospace">ha.node_name</fo:inline> is set to <fo:inline font-family="monospace">weather2</fo:inline>.
+ The node address context variable <fo:inline font-family="monospace">ha.node_address</fo:inline> is set <fo:inline font-family="monospace">indra:5000</fo:inline>.
+ The amqp and http ports are overridden to 10001 and 20001 accordingly. The node <fo:inline font-family="monospace">weather2</fo:inline>
+ priority is set to <fo:inline font-family="monospace">2</fo:inline>. The rest of the context variables have
+ the same values as for node <fo:inline font-family="monospace">weather1</fo:inline>. The latter is used as a helper node for creation of
+ <fo:inline font-family="monospace">weather2</fo:inline>.
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The node <fo:inline font-family="monospace">weather3</fo:inline> can be created on host<fo:inline font-family="monospace">thor</fo:inline> with the following command:</fo:block><fo:block space-before.minimum="0.8em" space-before.optimum="1em" space-before.maximum="1.2em" space-after.minimum="0.8em" space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" wrap-optio [...]
+$ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather3 -prop ha.node_address=thor:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]" -prop ha.priority=1 \
+-prop qpid.amqp_port=10002 -prop qpid.http_port=20002
+ </fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+ The context variable for node name <fo:inline font-family="monospace">ha.node_name</fo:inline> is set to <fo:inline font-family="monospace">weather3</fo:inline>.
+ The node address context variable <fo:inline font-family="monospace">ha.node_address</fo:inline> is set <fo:inline font-family="monospace">thor:5000</fo:inline>.
+ The amqp and http ports are overridden to 10002 and 20002 accordingly. The node <fo:inline font-family="monospace">weather3</fo:inline>
+ priority is set to <fo:inline font-family="monospace">1</fo:inline>. The rest of the context variables have
+ the same values as for node <fo:inline font-family="monospace">weather1</fo:inline> which is used as a helper node for creation of
+ <fo:inline font-family="monospace">weather3</fo:inline>.
+ </fo:block></fo:block></fo:flow></fo:page-sequence></fo:root>
\ No newline at end of file
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.html b/content/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.html
new file mode 100644
index 0000000..919f253
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>Apache Qpid Broker-J - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Apache Qpid Broker-J</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Apache Qpid Broker-J</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Introduction.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="d0e2" />Apache Qpid Broker-J</h1></ [...]
+ ACL Rules
+ </a></span></dt><dt><span class="section"><a href="Java-Broker-Security-AccessControlProviders.html#Java-Broker-Security-AccessControlProviders-Syntax">8.3.3.
+ Syntax
+ </a></span></dt><dt><span class="section"><a href="Java-Broker-Security-AccessControlProviders.html#Java-Broker-Security-AccessControlProviders-WorkedExamples">8.3.4.
+ Worked Examples
+ </a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html">8.4. Configuration Encryption</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html#Java-Broker-Security-Configuration-Encryption-Configuration">8.4.1. Configuration</a></span></dt><dt><span class="section"><a href="Java-Broker-Security-Configuration-Encryption.html#Java-Broker-Security-Configuration-Encryption-Alterna [...]
+ <span class="emphasis"><em>closeWhenNoRoute</em></span>
+ </a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Runtime-Flow-To-Disk.html">9.6. Flow to Disk</a></span></dt><dt><span class="section"><a href="Java-Broker-Runtime-Consumers.html">9.7. Consumers</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Runtime-Consumers.html#Java-Broker-Runtime-Consumers-Prioirty">9.7.1. Priority</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Runtime-Background-Recovery.html">9.8. Backgroun [...]
+ directly</a></dt><dt>D.1. <a href="apds03.html#d0e9933">Enabling statistics for a single queue using the REST API and cURL</a></dt><dt>D.2. <a href="apds03.html#d0e9945">Disabling statistics for a single queue using the REST API and cURL</a></dt><dt>D.3. <a href="apds03.html#d0e9952">Enabling statistics for all queues using the REST API and cURL</a></dt><dt>H.1. <a href="Java-Broker-Appendix-BDB-HA-initial-configuration.html#d0e10449">BDB HA 'Initial configuration'</a></dt></dl [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.pdf b/content/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.pdf
old mode 100644
new mode 100755
similarity index 99%
copy from input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.pdf
copy to content/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.pdf
index c63b77b..2a4d5f5
Binary files a/input/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.pdf and b/content/releases/qpid-broker-j-8.0.5/book/Apache-Qpid-Broker-J-Book.pdf differ
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration-creation.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration-creation.html
new file mode 100644
index 0000000..d91ee7e
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration-creation.html
@@ -0,0 +1,184 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>H.2. Creation of BDB HA group using an initial configuration. - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>H.2. Creation of BDB HA group using an initial configuration.</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">H.2. Creation of BDB HA group using an initial configuration.</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-BDB-HA-initial-configuration.html">Prev</a> </td><th width="60%" align="center">Appendix H. BDB HA initial configuration</th><td width="20%" align="right"> </td></tr></table><hr /></ [...]
+ consisting of tree nodes <code class="literal">weather1</code>, <code class="literal">weather2</code>, and <code class="literal">weather3</code>
+ using the initial configuration above. We start node <code class="literal">weather1</code> on host/port
+ <code class="literal">chaac:5000</code>, node <code class="literal">weather2</code> on host/port <code class="literal">indra:5000</code>
+ and node <code class="literal">weather3</code> on host/port <code class="literal">thor:5000</code>.</p><p>The node <code class="literal">weather1</code> can be created with the following command</p><pre class="screen">
+$ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather1 -prop ha.node_address=chaac:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]" -prop ha.priority=3 \
+-prop qpid.amqp_port=10000 -prop qpid.http_port=20000
+ </pre><p>Please note, the broker is started with initial configuration at file <code class="literal">./initial-config.json</code>.
+ The context variable for node name <code class="literal">ha.node_name</code> is set to <code class="literal">weather1</code>.
+ The node address context variable <code class="literal">ha.node_address</code> is set to <code class="literal">chaac:5000</code>.
+ As it is a first node, the helper address is set to the same address as a node address (<code class="literal">ha.helper_address=chaac:5000</code>)
+ and the helper node name is to itself (<code class="literal">ha.helper_node_name=weather1</code>). The group name is set to <code class="literal">weather</code>
+ with <code class="literal">ha.group_name=weather</code>. The group nodes are listed in <code class="literal">ha.permitted_nodes</code>.
+ The amqp and http ports are overridden to 10000 and 20000 accordingly. The node priority is set to <code class="literal">3</code>.
+ </p><p>The node <code class="literal">weather2</code> can be created on host<code class="literal">indra</code> with the following command:</p><pre class="screen">
+ $ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather2 -prop ha.node_address=indra:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]" -prop ha.priority=2 \
+-prop qpid.amqp_port=10001 -prop qpid.http_port=20001
+ </pre><p>
+ The context variable for node name <code class="literal">ha.node_name</code> is set to <code class="literal">weather2</code>.
+ The node address context variable <code class="literal">ha.node_address</code> is set <code class="literal">indra:5000</code>.
+ The amqp and http ports are overridden to 10001 and 20001 accordingly. The node <code class="literal">weather2</code>
+ priority is set to <code class="literal">2</code>. The rest of the context variables have
+ the same values as for node <code class="literal">weather1</code>. The latter is used as a helper node for creation of
+ <code class="literal">weather2</code>.
+ </p><p>The node <code class="literal">weather3</code> can be created on host<code class="literal">thor</code> with the following command:</p><pre class="screen">
+$ ./qpid-server -icp ./initial-config.json -prop ha.node_name=weather3 -prop ha.node_address=thor:5000 \
+-prop ha.group_name=weather -prop ha.helper_address=chaac:5000 -prop ha.helper_node_name=weather1 \
+-prop ha.permitted_nodes="[\"chaac:5000\",\"indra:5000\",\"thor:5000\"]" -prop ha.priority=1 \
+-prop qpid.amqp_port=10002 -prop qpid.http_port=20002
+ </pre><p>
+ The context variable for node name <code class="literal">ha.node_name</code> is set to <code class="literal">weather3</code>.
+ The node address context variable <code class="literal">ha.node_address</code> is set <code class="literal">thor:5000</code>.
+ The amqp and http ports are overridden to 10002 and 20002 accordingly. The node <code class="literal">weather3</code>
+ priority is set to <code class="literal">1</code>. The rest of the context variables have
+ the same values as for node <code class="literal">weather1</code> which is used as a helper node for creation of
+ <code class="literal">weather3</code>.
+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-BDB-HA-initial-configuration.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Appendix-BDB-HA-initial-configuration.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">Appendix H. BDB HA initial configuration < [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration.html
new file mode 100644
index 0000000..ee21723
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-BDB-HA-initial-configuration.html
@@ -0,0 +1,255 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>Appendix H. BDB HA initial configuration - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Appendix H. BDB HA initial configuration</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix H. BDB HA initial configuration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Queue-Declare-Arguments.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-BDB-HA-initial-configuration-creation.html">Nex [...]
+ provides an introduction into Broker-J initial configuration and how broker configuration can be created from
+ initial configuration on first broker start-up. This appendix illustrates how to create a BDB HA group from an
+ initial configuration file. For creation of BDB HA group using Web Management Console please refer <a class="xref" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2. Web Management Console">Section 6.2, “Web Management Console”</a>.
+ </p><p>The BDB HA group usually consists of two or more nodes hosting a distributed virtual host.</p><p>When BDB HA node is created the following attributes has to be provided
+ </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>groupName</em></span>; a name of BDB HA group</p></li><li class="listitem"><p><span class="emphasis"><em>nodeName</em></span>; a name of BDB HA node</p></li><li class="listitem"><p><span class="emphasis"><em>address</em></span>; a node address as colon-separated pair of host name and port</p></li><li class="listitem"><p><span class="emphasis"><em>h [...]
+ </p><p>
+ A node priority can be optionally specified for the node to influence master election among nodes with the most current set of data.
+ An attribute <span class="emphasis"><em>priority</em></span> is used to specify a priority as an integer number.
+ </p><p>Apart from a group name and permitted nodes, the rest of node attribute values varies from node to node.</p><p>In order to use the same initial configuration for creation of BDB HA nodes, the context variable can be used for varying attribute values.</p><p>In the example of initial configuration illustrated in this apendix, the following context variables are defined.
+ </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>${ha.group_name}</em></span>; used to pass an HA group name</p></li><li class="listitem"><p><span class="emphasis"><em>${ha.node_name}</em></span>; used to pass a node name</p></li><li class="listitem"><p><span class="emphasis"><em>${ha.node_address}</em></span>; used to pass a node address</p></li><li class="listitem"><p><span class="emphasis"><em [...]
+ </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Appendix-BDB-HA-initial-configuration-example" />H.1. Example of BDB HA 'Initial Configuration'</h2></div></div></div><p> An example of 'Initial Configuration' for BDB HA:</p><div class="example"><a id="d0e10449" /><p class="title"><strong>Example H.1. BDB HA 'Initial configuration'</strong></p><div class="example-contents"><pre class="programlisting">
+{
+ "name": "${broker.name}",
+ "modelVersion" : "8.0",
+ "authenticationproviders" : [ {
+ "name" : "plain",
+ "type" : "Plain",
+ "users" : [ {
+ "name" : "guest",
+ "type" : "managed",
+ "password" : "guest"
+ } ]
+ } ],
+ "brokerloggers" : [ {
+ "name" : "logfile",
+ "type" : "File",
+ "fileName" : "${qpid.work_dir}${file.separator}log${file.separator}qpid.log",
+ "brokerloginclusionrules" : [ {
+ "name" : "Root",
+ "type" : "NameAndLevel",
+ "level" : "WARN",
+ "loggerName" : "ROOT"
+ }, {
+ "name" : "Qpid",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "org.apache.qpid.*"
+ }, {
+ "name" : "Operational",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "qpid.message.*"
+ }, {
+ "name" : "Statistics",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "qpid.statistics.*"
+ } ]
+ }, {
+ "name" : "memory",
+ "type" : "Memory",
+ "brokerloginclusionrules" : [ {
+ "name" : "Root",
+ "type" : "NameAndLevel",
+ "level" : "WARN",
+ "loggerName" : "ROOT"
+ }, {
+ "name" : "Qpid",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "org.apache.qpid.*"
+ }, {
+ "name" : "Operational",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "qpid.message.*"
+ }, {
+ "name" : "Statistics",
+ "type" : "NameAndLevel",
+ "level" : "INFO",
+ "loggerName" : "qpid.statistics.*"
+ } ]
+ } ],
+ "ports" : [ {
+ "name" : "AMQP",
+ "port" : "${qpid.amqp_port}",
+ "authenticationProvider" : "plain",
+ "virtualhostaliases" : [ {
+ "name" : "nameAlias",
+ "type" : "nameAlias"
+ }, {
+ "name" : "defaultAlias",
+ "type" : "defaultAlias"
+ }, {
+ "name" : "hostnameAlias",
+ "type" : "hostnameAlias"
+ } ]
+ }, {
+ "name" : "HTTP",
+ "port" : "${qpid.http_port}",
+ "authenticationProvider" : "plain",
+ "protocols" : [ "HTTP" ]
+ }],
+ "virtualhostnodes" : [ {
+ "name" : "${ha.node_name}",
+ "type" : "BDB_HA",
+ "address" : "${ha.node_address}",
+ "groupName" : "${ha.group_name}",
+ "helperAddress" : "${ha.helper_address}",
+ "helperNodeName" : "${ha.helper_node_name}",
+ "permittedNodes" : "${ha.permitted_nodes}",
+ "priority" : "${ha.priority}",
+ "defaultVirtualHostNode" : "true",
+ "virtualHostInitialConfiguration" : "${qpid.initial_config_virtualhost_config}"
+ } ],
+ "plugins" : [ {
+ "type" : "MANAGEMENT-HTTP",
+ "name" : "httpManagement"
+ } ]
+}
+ </pre></div></div><br class="example-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Queue-Declare-Arguments.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-BDB-HA-initial-configuration-creation.html">Next</a></td></tr><tr><td width="40%" align="left" valign=" [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Environment-Variables.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Environment-Variables.html
new file mode 100644
index 0000000..3b2fed3
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Environment-Variables.html
@@ -0,0 +1,197 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>Appendix A. Environment Variables - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Appendix A. Environment Variables</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. Environment Variables</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery-Virtualhost.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-System-Properties.html">Next</a></td></tr></table><hr / [...]
+ contained within the <code class="literal">/bin</code> directory within the Broker distribution.</p><p>To take effect, these variables must be set within the shell (and exported - if using Unix)
+ before invoking the script.</p><div class="table"><a id="d0e7474" /><p class="title"><strong>Table A.1. Environment variables</strong></p><div class="table-contents"><table summary="Environment variables" width="100%" border="1"><colgroup><col class="envvar" /><col class="default" /><col class="purpose" /></colgroup><thead><tr><th>Environment variable</th><th>Default</th><th>Purpose</th></tr></thead><tbody><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Qpid-Home" [...]
+ <p>None</p>
+ </td><td>
+ <p>The variable used to tell the Broker its installation directory. It must be an
+ absolute path. This is used to determine the location of Qpid's dependency JARs and
+ some configuration files.</p>
+ <p>Typically the value of this variable will look similar to
+ <code class="literal">c:\qpid\qpid-broker\\8.0.5</code> (Windows) or
+ <code class="literal">/usr/local/qpid/qpid-broker/8.0.5</code> (Unix). The
+ installation prefix will differ from installation to installation. </p>
+ <p>If not set, a value for <code class="literal">QPID_HOME</code> is derived from the location
+ of the script itself.</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Qpid-Work" />QPID_WORK</td><td>
+ <p>User's home directory</p>
+ </td><td>
+ <p>Used as the default root directory for any data written by the Broker. This is the
+ default location for any message data written to persistent stores and the Broker's
+ log file.</p>
+ <p>For example, <code class="literal">QPID_WORK=/var/qpidwork</code>.</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Qpid-Opts" />QPID_OPTS</td><td>
+ <p>None</p>
+ </td><td>
+ <p>This is the preferred mechanism for passing <a class="link" href="Java-Broker-Appendix-System-Properties.html" title="Appendix B. System Properties">Java system properties</a> to the
+ Broker. The value must be a list of system properties each separate by a space.
+ <code class="literal">-D<em class="replaceable"><code>name1</code></em>=<em class="replaceable"><code>value1</code></em>
+ -D<em class="replaceable"><code>name2</code></em>=<em class="replaceable"><code>value2</code></em></code>.
+ </p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Qpid-Java-Gc" />QPID_JAVA_GC</td><td>
+ <code class="literal">-XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC</code>
+ </td><td>
+ <p>This is the preferred mechanism for customising garbage collection behaviour. The
+ value should contain valid garbage collection options(s) for the target JVM.</p>
+ <p>Refer to the JVM's documentation for details.</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Qpid-Java-Mem" />QPID_JAVA_MEM</td><td>
+ <code class="literal">-Xmx512m -XX:MaxDirectMemorySize=1536m</code>
+ </td><td>
+ <p>This is the preferred mechanism for customising the size of the JVM's heap and
+ direct memory.
+ The value should contain valid memory option(s) for the target JVM. Oracle JVMs
+ understand <code class="literal">-Xmx</code> to specify a maximum heap size,
+ <code class="literal">-Xms</code> an initial size, and
+ <code class="literal">-XX:MaxDirectMemorySize</code> for the maximum amount of direct
+ memory.</p>
+ <p>For example, <code class="code">QPID_JAVA_MEM="-Xmx6g -XX:MaxDirectMemorySize=12g"</code> would
+ set a maximum heap size of 6GB and 12GB of direct memory.</p>
+ <p>Refer to the JVM's documentation for details.</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Environment-Variables-Java-Opts" />JAVA_OPTS</td><td>None</td><td>
+ <p>This is the preferred mechanism for passing any other JVM options. This variable is
+ commonly used to pass options for diagnostic purposes, for instance to turn on verbose
+ GC. <code class="literal">-verbose:gc</code>.</p>
+ <p>Refer to the JVM's documentation for details.</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery-Virtualhost.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-System-Properties.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Operation-Logging.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Operation-Logging.html
new file mode 100644
index 0000000..0d751a4
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Operation-Logging.html
@@ -0,0 +1,560 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>Appendix C. Operational Logging - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Appendix C. Operational Logging</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. Operational Logging</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-System-Properties.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-Statistics-Reporting.html">Next</a></td></tr></table><hr /></d [...]
+ the lives of objects within the Broker. These concise messages are designed to allow the user to
+ understand the actions of the Broker in retrospect. This is valuable for problem diagnosis and
+ provides a useful audit trail.</p><p>Each log message includes details of the entity causing the action (e.g. a management user
+ or messaging client connection), the entity receiving the action (e.g. a queue or connection)
+ and a description of operation itself.</p><p>The log messages have the following format:</p><pre class="screen">
+ [<code class="literal">Actor</code>] {[<code class="literal">Subject</code>]} [<code class="literal">Message Id</code>] [<code class="literal">Message Text</code>]
+ </pre><p>Where:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">Actor</code> is the entity within the Broker that is
+ <span class="emphasis"><em>performing</em></span> the action. There are actors corresponding to the Broker
+ itself, Management, Connection, and Channels. Their format is described in the <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Actor-Format" title="Table C.1. Actors Entities">table</a> below.</p></li><li class="listitem"><p><code class="literal">Subject</code> (optional) is the entity within the Broker that is
+ <span class="emphasis"><em>receiving</em></span> the action. There are subjects corresponding to the
+ Connections, Channels, Queues, Exchanges, Subscriptions, and Message Stores. Their format is
+ described in the <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Subject-Format" title="Table C.2. Subject Entities">table</a> below.</p><p>Some actions are reflexive, in these cases the Actor and Subject will be equal.</p></li><li class="listitem"><p><code class="literal">Message Id</code> is an identifier for the type of message. It has the form
+ three alphas and four digits separated by a hyphen <code class="literal">AAA-9999</code>.</p></li><li class="listitem"><p><code class="literal">Message Text</code> is a textual description</p></li></ul></div><p>To illustrate, let's look at two examples.</p><p><code class="literal"><a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-CON-1001">CON-1001</a></code> is used when a messages client makes an AMQP connection. The
+ connection actor (<code class="literal">con</code>) provides us with details of the peer's connection: the
+ user id used by the client (myapp1), their IP, ephemeral port number and the name of the virtual
+ host. The message text itself gives us further details about the connection: the client id, the
+ protocol version in used, and details of the client's qpid library.</p><pre class="screen">[con:8(myapp1@/127.0.0.1:52851/default)] CON-1001 : Open : Destination : AMQP(127.0.0.1:5672) : Protocol Version : 0-10 : Client ID : myapp1 : Client Version : 8.0.5 : Client Product : qpid</pre><p><code class="literal"><a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-QUE-1001">QUE-1001</a></code> is used when a queue is created. T [...]
+ <code class="literal">con</code> tells us details of the connection performing the queue creation: the
+ user id used by the client (myapp1), the IP, ephemeral port number and the name of the virtual
+ host. The queue subject tells use the queue's name (myqueue) and the virtualhost. The message
+ itself tells us more information about the queue that is being created. </p><pre class="screen">[con:8(myapp1@/127.0.0.1:52851/default)/ch:0] [vh(/default)/qu(myqueue)] QUE-1001 : Create : Owner: myapp1 Transient</pre><p>The first two tables that follow describe the actor and subject entities, then the later
+ provide a complete catalogue of all supported messages.</p><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Actor-Format" /><p class="title"><strong>Table C.1. Actors Entities</strong></p><div class="table-contents"><table summary="Actors Entities" width="100%" border="1"><colgroup><col class="actortype" /><col class="purpose" /></colgroup><thead><tr><th>Actor Type</th><th>Format and Purpose</th></tr></thead><tbody><tr><td rowspan="2">Broker</td><td>[Broker] [...]
+ <p>Used during startup and shutdown</p>
+ </td></tr><tr><td rowspan="2">Management</td><td>
+ [mng:<em class="replaceable"><code>userid</code></em>(<em class="replaceable"><code>clientip</code></em>:<em class="replaceable"><code>ephemeralport</code></em>)] </td></tr><tr><td>
+ <p>Used for operations performed by the Web Management interfaces.</p>
+ </td></tr><tr><td rowspan="2">Connection</td><td>
+ [con:<em class="replaceable"><code>connectionnumber</code></em>(<em class="replaceable"><code>userid</code></em>@/<em class="replaceable"><code>clientip</code></em>:<em class="replaceable"><code>ephemeralport</code></em>/<em class="replaceable"><code>virtualhostname</code></em>)]</td></tr><tr><td>
+ <p>Used for operations performed by a client connection. Note that connections are
+ numbered by a sequence number that begins at 1.</p>
+ </td></tr><tr><td rowspan="2">Channel</td><td>
+ [con:<em class="replaceable"><code>connectionnumber</code></em>(<em class="replaceable"><code>userid</code></em>@/<em class="replaceable"><code>clientip</code></em>:<em class="replaceable"><code>ephemeralport</code></em>/<em class="replaceable"><code>virtualhostname</code></em>/ch:<em class="replaceable"><code>channelnumber</code></em>)]</td></tr><tr><td>
+ <p>Used for operations performed by a client's channel (corresponds to the JMS
+ concept of Session). Note that channels are numbered by a sequence number that is
+ scoped by the owning connection.</p>
+ </td></tr><tr><td rowspan="2">Group</td><td> [grp(/<em class="replaceable"><code>groupname</code></em>)/vhn(/<em class="replaceable"><code>virtualhostnode
+ name</code></em>)]</td></tr><tr><td>
+ <p>Used for HA. Used for operations performed by the system itself often as a result
+ of actions performed on another node..</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Subject-Format" /><p class="title"><strong>Table C.2. Subject Entities</strong></p><div class="table-contents"><table summary="Subject Entities" width="100%" border="1"><colgroup><col class="subjtype" /><col class="purpose" /></colgroup><thead><tr><th>Subject Type</th><th>Format and Purpose</th></tr></thead><tbody><tr><td rowspan="2">Connect [...]
+ [con:<em class="replaceable"><code>connectionnumber</code></em>(<em class="replaceable"><code>userid</code></em>@/<em class="replaceable"><code>clientip</code></em>:<em class="replaceable"><code>ephemeralport</code></em>/<em class="replaceable"><code>virtualhostname</code></em>)]</td></tr><tr><td>
+ <p>A connection to the Broker.</p>
+ </td></tr><tr><td rowspan="2">Channel</td><td>
+ [con:<em class="replaceable"><code>connectionnumber</code></em>(<em class="replaceable"><code>userid</code></em>@/<em class="replaceable"><code>clientip</code></em>:<em class="replaceable"><code>ephemeralport</code></em>/<em class="replaceable"><code>virtualhostname</code></em>/ch:<em class="replaceable"><code>channelnumber</code></em>)]</td></tr><tr><td>
+ <p>A client's channel within a connection.</p>
+ </td></tr><tr><td rowspan="2">Subscription</td><td>
+ [sub:<em class="replaceable"><code>subscriptionnumber</code></em>(vh(/<em class="replaceable"><code>virtualhostname</code></em>)/qu(<em class="replaceable"><code>queuename</code></em>)]</td></tr><tr><td>
+ <p>A subscription to a queue. This corresponds to the JMS concept of a
+ Consumer.</p>
+ </td></tr><tr><td rowspan="2">Queue</td><td>[vh(/<em class="replaceable"><code>virtualhostname</code></em>)/qu(<em class="replaceable"><code>queuename</code></em>)]</td></tr><tr><td>
+ <p>A queue on a virtualhost</p>
+ </td></tr><tr><td rowspan="2">Exchange</td><td>[vh(/<em class="replaceable"><code>virtualhostname</code></em>)/ex(<em class="replaceable"><code>exchangetype</code></em>/<em class="replaceable"><code>exchangename</code></em>)]</td></tr><tr><td>
+ <p>An exchange on a virtualhost</p>
+ </td></tr><tr><td rowspan="2">Binding</td><td>
+ [vh(/<em class="replaceable"><code>virtualhostname</code></em>)/ex(<em class="replaceable"><code>exchangetype</code></em>/<em class="replaceable"><code>exchangename</code></em>)/qu(<em class="replaceable"><code>queuename</code></em>)/rk(<em class="replaceable"><code>bindingkey</code></em>)]</td></tr><tr><td>
+ <p>A binding between a queue and exchange with the giving binding key.</p>
+ </td></tr><tr><td rowspan="2">Message Store</td><td>
+ [vh(/<em class="replaceable"><code>virtualhostname</code></em>)/ms(<em class="replaceable"><code>messagestorename</code></em>)]</td></tr><tr><td>
+ <p>A virtualhost/message store on the Broker.</p>
+ </td></tr><tr><td rowspan="2">HA Group</td><td> [grp(/<em class="replaceable"><code>group name</code></em>)]</td></tr><tr><td>
+ <p>A HA group</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><p>The following tables lists all the operation log messages that can be produced by the
+ Broker, and the describes the circumstances under which each may be seen.</p><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Broker" /><p class="title"><strong>Table C.3. Broker Log Messages</strong></p><div class="table-contents"><table summary="Broker Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><t [...]
+ <em class="replaceable"><code>build</code></em>
+ </td></tr><tr><td>
+ <p>Indicates that the Broker is starting up</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1002" />BRK-1002</td><td>Starting : Listening on <em class="replaceable"><code>transporttype</code></em> port
+ <em class="replaceable"><code>portnumber</code></em>
+ </td></tr><tr><td>
+ <p>Indicates that the Broker has begun listening on a port.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1003" />BRK-1003</td><td>Shutting down : <em class="replaceable"><code>transporttype</code></em> port
+ <em class="replaceable"><code>portnumber</code></em>
+ </td></tr><tr><td>
+ <p>Indicates that the Broker has stopped listening on a port.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1004" />BRK-1004</td><td>Qpid Broker Ready</td></tr><tr><td>
+ <p>Indicates that the Broker is ready for normal operations.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1005" />BRK-1005</td><td>Stopped</td></tr><tr><td>
+ <p>Indicates that the Broker is stopped.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1006" />BRK-1006</td><td>Using configuration : <em class="replaceable"><code>file</code></em>
+ </td></tr><tr><td>
+ <p>Indicates the name of the configuration store in use by the Broker.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1008" />BRK-1008</td><td><em class="replaceable"><code>delivered|received</code></em> : <em class="replaceable"><code>size</code></em>
+ kB/s peak : <em class="replaceable"><code>size</code></em> bytes total</td></tr><tr><td>
+ <p>Statistic - bytes delivered or received by the Broker.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1009" />BRK-1009</td><td><em class="replaceable"><code>delivered|received</code></em> : <em class="replaceable"><code>size</code></em>
+ msg/s peak : <em class="replaceable"><code>size</code></em> msgs total</td></tr><tr><td>
+ <p>Statistic - messages delivered or received by the Broker.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1010" />BRK-1010</td><td>Platform : JVM : <em class="replaceable"><code>vendor</code></em> version: <em class="replaceable"><code>version
+ </code></em> OS : <em class="replaceable"><code>operating system vendor</code></em> version:
+ <em class="replaceable"><code>operating system version</code></em>} arch: <em class="replaceable"><code>processor
+ architecture</code></em> cores: <em class="replaceable"><code>number of CPU cores</code></em></td></tr><tr><td>
+ <p>Key information about the environment hosting the Broker</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1011" />BRK-1011</td><td>Maximum Memory : Heap : <em class="replaceable"><code>size</code></em> bytes Direct : <em class="replaceable"><code>
+ bytes</code></em> size</td></tr><tr><td>
+ <p>Configured memory paramters for the Broker.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1012" />BRK-1012</td><td>Management Mode : User Details : <em class="replaceable"><code>management node user id</code></em> /
+ <em class="replaceable"><code>management mode password</code></em></td></tr><tr><td>
+ <p>Used when Broker is started in management mode to indicate the
+ management credentials that may be used connect to the Broker.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1016" />BRK-1016</td><td>Fatal error : <em class="replaceable"><code>root cause</code></em> : See log file for more information</td></tr><tr><td>
+ <p>Indicates that broker was shut down due to fatal error.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1017" />BRK-1017</td><td>Process : PID <em class="replaceable"><code>process identifier</code></em></td></tr><tr><td>
+ <p>Process identifier (PID) of the Broker process.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1018" />BRK-1018</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+ <p>Indicates that the named operation has been invoked</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Management" /><p class="title"><strong>Table C.4. Management Log Messages</strong></p><div class="table-contents"><table summary="Management Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbo [...]
+ <p>Indicates that a Management plugin is starting up. Supported by Web management plugin.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1002" />MNG-1002</td><td>Starting : <em class="replaceable"><code>type</code></em> : Listening on <em class="replaceable"><code>transporttype</code></em> port
+ <em class="replaceable"><code>port</code></em>
+ </td></tr><tr><td>
+ <p>Indicates that a Management plugin is listening on the given port.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1003" />MNG-1003</td><td>Shutting down : <em class="replaceable"><code>type</code></em> : port
+ <em class="replaceable"><code>port</code></em></td></tr><tr><td>
+ <p>Indicates that a Management plugin is ceasing to listen on the given port.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1004" />MNG-1004</td><td><em class="replaceable"><code>type</code></em> Management Ready</td></tr><tr><td>
+ <p>Indicates that a Management plugin is ready for work.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1005" />MNG-1005</td><td><em class="replaceable"><code>type</code></em> Management Stopped</td></tr><tr><td>
+ <p>Indicates that a Management plugin is stopped.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1007" />MNG-1007</td><td>Open : User <em class="replaceable"><code>username</code></em></td></tr><tr><td>
+ <p>Indicates the opening of a connection to Management has by the given
+ username.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1008" />MNG-1008</td><td>Close : User <em class="replaceable"><code>username</code></em></td></tr><tr><td>
+ <p>Indicates the closing of a connection to Management has by the given
+ username.</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-VirtualHost" /><p class="title"><strong>Table C.5. Virtual Host Log Messages</strong></p><div class="table-contents"><table summary="Virtual Host Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead [...]
+ <p>Indicates that a virtualhost has been created.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1002" />VHT-1002</td><td>Closed</td></tr><tr><td>
+ <p>Indicates that a virtualhost has been closed. This occurs on Broker
+ shutdown.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1005" />VHT-1005</td><td>Unexpected fatal error</td></tr><tr><td>
+ <p>Virtualhost has suffered an unexpected fatal error, check the logs for more
+ details.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1006" />VHT-1006</td><td>Filesystem is over <em class="replaceable"><code>size in %</code></em> per cent full, enforcing flow control.</td></tr><tr><td>
+ <p>Indicates that virtual host flow control is activated
+ when the usage of file system containing Virtualhost message store exceeded predefined limit.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1007" />VHT-1007</td><td>Filesystem is no longer over <em class="replaceable"><code>size in %</code></em> per cent full.</td></tr><tr><td>
+ <p>Indicates that virtual host flow control is deactivated
+ when the usage of file system containing Virtualhost message falls under predefined limit.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1008" />VHT-1008</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+ <p>Indicates that the named operation has been invoked</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Queue" /><p class="title"><strong>Table C.6. Queue Log Messages</strong></p><div class="table-contents"><table summary="Queue Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr><td rows [...]
+ <em class="replaceable"><code>AutoDelete</code></em> [<em class="replaceable"><code>Durable</code></em>]
+ <em class="replaceable"><code>Transient</code></em> Priority:
+ <em class="replaceable"><code>numberofpriorities</code></em></td></tr><tr><td>
+ <p>Indicates that a queue has been created.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1002" />QUE-1002</td><td>Deleted</td></tr><tr><td>
+ <p>Indicates that a queue has been deleted.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1003" />QUE-1003</td><td>
+ Overfull : Size : <em class="replaceable"><code>size in bytes</code></em>, Capacity : <em class="replaceable"><code>resumesize in bytes</code></em>,
+ Messages : <em class="replaceable"><code>size in messages</code></em>, Message Capacity : <em class="replaceable"><code>resumesize in messages</code></em>
+ </td></tr><tr><td>
+ <p>Indicates that a queue has exceeded its permitted capacity when
+ <span class="emphasis"><em>Producer Flow Control</em></span> overflow policy is used.
+ See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5. Controlling Queue Size">Section 4.7.5, “Controlling Queue Size”</a> for details.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1004" />QUE-1004</td><td>
+ Underfull : Size : <em class="replaceable"><code>size in bytes</code></em>, Capacity : <em class="replaceable"><code>resumesize in bytes</code></em>,
+ Messages : <em class="replaceable"><code>size in messages</code></em>, Message Capacity : <em class="replaceable"><code>resumesize in messages</code></em>
+ </td></tr><tr><td>
+ <p>
+ Indicates that a queue has fallen to its resume capacity when
+ <span class="emphasis"><em>Producer Flow Control</em></span> overflow policy is used.
+ See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5. Controlling Queue Size">Section 4.7.5, “Controlling Queue Size”</a> for details.
+ </p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1005" />QUE-1005</td><td>
+ Dropped : <em class="replaceable"><code>number</code></em> messages, Depth : <em class="replaceable"><code>size</code></em> bytes,
+ <em class="replaceable"><code>size</code></em> messages, Capacity : <em class="replaceable"><code>limit</code></em> bytes,
+ <em class="replaceable"><code>limit</code></em> messages
+ </td></tr><tr><td>
+ <p>
+ Indicates that a given number of messages is deleted when <span class="emphasis"><em>Ring</em></span> overflow policy is
+ used and any of queue capacity limits is breached .
+ See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5. Controlling Queue Size">Section 4.7.5, “Controlling Queue Size”</a> for details.
+ </p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1016" />QUE-1016</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+ <p>Indicates that the named operation has been invoked</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Exchange" /><p class="title"><strong>Table C.7. Exchange Log Messages</strong></p><div class="table-contents"><table summary="Exchange Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr [...]
+ Name: <em class="replaceable"><code>exchange name</code></em></td></tr><tr><td>
+ <p>Indicates that an exchange has been created.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1002" />EXH-1002</td><td>Deleted</td></tr><tr><td>
+ <p>Indicates that an exchange has been deleted.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1003" />EXH-1003</td><td>Discarded Message : Name: <em class="replaceable"><code>exchange name</code></em> Routing Key:
+ <em class="replaceable"><code>routing key</code></em></td></tr><tr><td>
+ <p>Indicates that an exchange received a message that could not be routed to at least
+ one queue. queue has exceeded its permitted capacity. See <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage" title="4.6.4. Unrouteable Messages">Section 4.6.4, “Unrouteable Messages”</a> for details.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1004" />EXH-1004</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+ <p>Indicates that the named operation has been invoked</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Binding" /><p class="title"><strong>Table C.8. Binding Log Messages</strong></p><div class="table-contents"><table summary="Binding Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr><t [...]
+ <p>Indicates that a binding has been made between an exchange and a queue.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-BND-1002" />BND-1002</td><td>Deleted</td></tr><tr><td>
+ <p>Indicates that a binding has been deleted</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Connection" /><p class="title"><strong>Table C.9. Connection Log Messages</strong></p><div class="table-contents"><table summary="Connection Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbo [...]
+ <em class="replaceable"><code>protocol version</code></em> : Client ID : <em class="replaceable"><code>clientid</code></em> :
+ Client Version : <em class="replaceable"><code>client version</code></em> :
+ Client Product : <em class="replaceable"><code>client product</code></em></td></tr><tr><td>
+ <p>Indicates that a connection has been opened. The Broker logs one of these message
+ each time it learns more about the client as the connection is negotiated.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1002" />CON-1002</td><td>Close</td></tr><tr><td>
+ <p>Indicates that a connection has been closed. This message is logged regardless of
+ if the connection is closed normally, or if the connection is somehow lost e.g network
+ error. </p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1003" />CON-1003</td><td>Closed due to inactivity</td></tr><tr><td>
+ <p>Used when heart beating is in-use. Indicates that the connection has not received
+ a heartbeat for too long and is therefore closed as being inactive. </p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1004" />CON-1004</td><td>Connection dropped</td></tr><tr><td>
+ <p>Indicates that a connection has been unexpectedly closed by the peer. This usually
+ occurs if a machine hosting an application fails or the application's process is
+ abruptly terminated.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1005" />CON-1005</td><td>Client version <em class="replaceable"><code>version</code></em> logged by validation</td></tr><tr><td>
+ <p>Indicates that a connection has been received from client with a version number
+ that is configured to be logged. This feature may help teams manage software currency.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1006" />CON-1006</td><td>Client version <em class="replaceable"><code>version</code></em> rejected by validation</td></tr><tr><td>
+ <p>Indicates that a connection attempt has been received from client with a version number
+ that is configured to be rejected. This feature may help manage software currency.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1007" />CON-1007</td><td>Connection close initiated by operator</td></tr><tr><td>
+ <p>Indicates that a connection has been closed by the actions of an
+ Operator using manangement.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1009" />CON-1009</td><td>Uncommitted transaction(s) contains <em class="replaceable"><code>size</code></em> bytes of incoming message data
+ exceeding <em class="replaceable"><code>size</code></em> bytes limit. Messages will be flowed to disk.</td></tr><tr><td>
+ <p>Warns that the transactions associated with this connection contain so much uncommitted data that
+ a threshold has been breached. The connection responds by flowing the messages already associated with the
+ transactions and any new messages to disk. The connection reverts to normal behaviour once the
+ quantity of uncommitted data falls beneath the threshold. Normally this happens when the transactions
+ commit or rollback.
+ </p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1010" />CON-1010</td><td>Open Transaction : <em class="replaceable"><code>time</code></em> ms</td></tr><tr><td>
+ <p>Indicates that a messaging transaction has been open for longer than that
+ permitted. See <a class="xref" href="Java-Broker-Runtime-Transaction-Timeout.html" title="9.3. Transaction Timeout">Section 9.3, “Transaction Timeout”</a> for
+ more details.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CON-1011" />CON-1011</td><td>Idle Transaction : <em class="replaceable"><code>time</code></em> ms</td></tr><tr><td>
+ <p>Indicates that a messaging transaction has been idle for longer than that
+ permitted. See <a class="xref" href="Java-Broker-Runtime-Transaction-Timeout.html" title="9.3. Transaction Timeout">Section 9.3, “Transaction Timeout”</a> for
+ more details.</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Channel" /><p class="title"><strong>Table C.10. Channel Log Messages</strong></p><div class="table-contents"><table summary="Channel Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr>< [...]
+ <p>Indicates that a channel (corresponds to the JMS concept of Session) has been
+ created.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1002" />CHN-1002</td><td>Flow Started</td></tr><tr><td>
+ <p>Indicates message flow to a session has begun.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1003" />CHN-1003</td><td>Close</td></tr><tr><td>
+ <p>Indicates that a channel has been closed.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1004" />CHN-1004</td><td>Prefetch Size (bytes) <em class="replaceable"><code>size</code></em> : Count <em class="replaceable"><code>number
+ of messages</code></em></td></tr><tr><td>
+ <p>Indicates the prefetch size in use by a channel.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1005" />CHN-1005</td><td>Flow Control Enforced (Queue <em class="replaceable"><code>queue name</code></em>)</td></tr><tr><td>
+ <p>Indicates that producer flow control has been imposed on a channel owning to
+ excessive queue depth in the indicated queue. Produces using the channel will be
+ requested to pause the sending of messages.
+ See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5. Controlling Queue Size">Section 4.7.5, “Controlling Queue Size”</a> for more details.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1006" />CHN-1006</td><td>Flow Control Removed</td></tr><tr><td>
+ <p>Indicates that producer flow control has been removed from a channel.
+ See <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5. Controlling Queue Size">Section 4.7.5, “Controlling Queue Size”</a> for more details.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1009" />CHN-1009</td><td>Discarded message : <em class="replaceable"><code>message number</code></em> as no alternate
+ exchange configured for queue : <em class="replaceable"><code>queue name</code></em>{1} routing key :
+ <em class="replaceable"><code>routing key</code></em></td></tr><tr><td>
+ <p>Indicates that a channel has discarded a message as the maximum delivery count has
+ been exceeded but the queue defines no alternate exchange. See <a class="xref" href="Java-Broker-Runtime-Handling-Undeliverable-Messages.html#Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count" title="9.4.2. Maximum Delivery Count">Section 9.4.2, “Maximum Delivery Count”</a> for more details. Note that <em class="replaceable"><code>message number</code></em> is an
+ internal message reference.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1010" />CHN-1010</td><td>Discarded message : <em class="replaceable"><code>message number</code></em> as no binding on
+ alternate exchange : <em class="replaceable"><code>exchange name</code></em></td></tr><tr><td>
+ <p>Indicates that a channel has discarded a message as the maximum delivery count has
+ been exceeded but the queue's alternate exchange has no binding to a queue. See <a class="xref" href="Java-Broker-Runtime-Handling-Undeliverable-Messages.html#Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count" title="9.4.2. Maximum Delivery Count">Section 9.4.2, “Maximum Delivery Count”</a> for more details. Note that <em class="replaceable"><code>message number</code></em> is an
+ internal message reference.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1011" />CHN-1011</td><td>Message : <em class="replaceable"><code>message number</code></em> moved to dead letter queue :
+ <em class="replaceable"><code>queue name</code></em></td></tr><tr><td>
+ <p>Indicates that a channel has moved a message to the named dead letter queue
+ </p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1012" />CHN-1012</td><td>Flow Control Ignored. Channel will be closed.</td></tr><tr><td>
+ <p>Indicates that a channel violating the imposed flow control has been closed
+ </p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1014" />CHN-1014</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+ <p>Indicates that the named operation has been invoked</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Subscription" /><p class="title"><strong>Table C.11. Subscription Log Messages</strong></p><div class="table-contents"><table summary="Subscription Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></the [...]
+ <em class="replaceable"><code>arguments</code></em></td></tr><tr><td>
+ <p>Indicates that a subscription (corresponds to JMS concept of a MessageConsumer)
+ has been created.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1002" />SUB-1002</td><td>Close</td></tr><tr><td>
+ <p>Indicates that a subscription has been closed.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1003" />SUB-1003</td><td>SUB-1003 : Suspended for <em class="replaceable"><code>time</code></em> ms</td></tr><tr><td>
+ <p>Indicates that a subscription has been in a suspened state for an unusual length
+ of time. This may be indicative of an consuming application that has stopped taking
+ messages from the consumer (i.e. a JMS application is not calling receive() or its
+ asynchronous message listener onMessage() is blocked in application code). It may also
+ indicate a generally overloaded system.
+ </p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1004" />SUB-1004</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+ <p>Indicates that the named operation has been invoked</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-MessageStore" /><p class="title"><strong>Table C.12. Message Store Log Messages</strong></p><div class="table-contents"><table summary="Message Store Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></t [...]
+ <p>Indicates that a message store has been created. The message store is responsible
+ for the storage of the messages themselves, including the message body and any
+ headers.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1002" />MST-1002</td><td>Store location : <em class="replaceable"><code>path</code></em></td></tr><tr><td>
+ <p>Indicates that the message store is using <em class="replaceable"><code>path</code></em> for the
+ location of the message store.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1003" />MST-1003</td><td>Closed</td></tr><tr><td>
+ <p>Indicates that the message store has been closed.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1004" />MST-1004</td><td>Recovery Start</td></tr><tr><td>
+ <p>Indicates that message recovery has begun.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1005" />MST-1005</td><td>Recovered <em class="replaceable"><code>number of messages</code></em> messages.</td></tr><tr><td>
+ <p>Indicates that recovery recovered the given number of messages from the
+ store.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1006" />MST-1006</td><td>Recovered Complete</td></tr><tr><td>
+ <p>Indicates that the message recovery is concluded.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1007" />MST-1007</td><td>Store Passivated</td></tr><tr><td>
+ <p>The store is entering a passive state where is it unavailable for normal
+ operations. Currently this message is used by HA when the node is in replica
+ state.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1008" />MST-1008</td><td>Store overfull, flow control will be enforced</td></tr><tr><td>
+ <p>The store has breached is maximum configured size.
+ See <a class="xref" href="Java-Broker-Runtime-Disk-Space-Management.html#Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control" title="9.2.1. Disk quota-based flow control">Section 9.2.1, “Disk quota-based flow control”</a> for details.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-1009" />MST-1009</td><td>Store overfull condition cleared</td></tr><tr><td>
+ <p>The store size has fallen beneath its resume capacity and therefore flow control
+ has been rescinded. See <a class="xref" href="Java-Broker-Runtime-Disk-Space-Management.html#Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control" title="9.2.1. Disk quota-based flow control">Section 9.2.1, “Disk quota-based flow control”</a>
+ for details. </p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-TransactionStore" /><p class="title"><strong>Table C.13. Transaction Store Log Messages</strong></p><div class="table-contents"><table summary="Transaction Store Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose< [...]
+ <p>Indicates that a transaction store has been created. The transaction store is
+ responsible for the storage of messages instances, that is, the presence of a message
+ on a queue.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1002" />TXN-1002</td><td>Store location : <em class="replaceable"><code>path</code></em></td></tr><tr><td>
+ <p>Indicates that the transaction store is using <em class="replaceable"><code>path</code></em> for
+ the location of the store.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1003" />TXN-1003</td><td>Closed</td></tr><tr><td>
+ <p>Indicates that the transaction store has been closed.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1004" />TXN-1004</td><td>Recovery Start</td></tr><tr><td>
+ <p>Indicates that transaction recovery has begun.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-MST-TXN" />TXN-1005</td><td>Recovered <em class="replaceable"><code>number</code></em> messages for queue
+ <em class="replaceable"><code>name</code></em>.</td></tr><tr><td>
+ <p>Indicates that recovery recovered the given number of message instances for the
+ given queue.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1006" />TXN-1006</td><td>Recovered Complete</td></tr><tr><td>
+ <p>Indicates that the message recovery is concluded.</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-ConfigurationStore" /><p class="title"><strong>Table C.14. Configuration Store Log Messages</strong></p><div class="table-contents"><table summary="Configuration Store Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Pu [...]
+ <p>Indicates that a configuration store has been created. The configuration store is
+ responsible for the storage of the definition of objects such as queues, exchanges,
+ and bindings.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1002" />CFG-1002</td><td>Store location : <em class="replaceable"><code>path</code></em></td></tr><tr><td>
+ <p>Indicates that the configuration store is using <em class="replaceable"><code>path</code></em>
+ for the location of the store.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1003" />CFG-1003</td><td>Closed</td></tr><tr><td>
+ <p>Indicates that the configuration store has been closed.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1004" />CFG-1004</td><td>Recovery Start</td></tr><tr><td>
+ <p>Indicates that configuration recovery has begun.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1005" />CFG-1005</td><td>Recovered Complete</td></tr><tr><td>
+ <p>Indicates that the configuration recovery is concluded.</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-HA" /><p class="title"><strong>Table C.15. HA Log Messages</strong></p><div class="table-contents"><table summary="HA Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr><td rowspan="2"> [...]
+ <p>This HA node has been created.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1002" />HA-1002</td><td>Deleted</td></tr><tr><td>
+ <p>This HA node has been deleted</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1003" />HA-1003</td><td>Added : Node : '<em class="replaceable"><code>name</code></em>'
+ (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+ <p>A new node has been added to the group.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1004" />HA-1004</td><td>Removed : Node : '<em class="replaceable"><code>name</code></em>'
+ (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+ <p>The node has been removed from the group. This removal is permanent.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1005" />HA-1005</td><td>Joined : Node : '<em class="replaceable"><code>name</code></em>'
+ (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+ <p>The node has become reachable. This may be as a result of the node being
+ restarted, or a network problem may have been resolved.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1006" />HA-1006</td><td>Left : Node : '<em class="replaceable"><code>name</code></em>'
+ (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+ <p>The node is no longer reachable. This may be as a result of the node being stopped
+ or a network partition may be preventing it from being connected. The node is still a
+ member of the group.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1007" />HA-1007</td><td>HA-1007 : Master transfer requested : to '<em class="replaceable"><code>name</code></em>'
+ (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+ <p>Indicates that a master transfer operation has been requested.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1008" />HA-1008</td><td>HA-1008 : Intruder detected : Node '<em class="replaceable"><code>name</code></em>'
+ (<em class="replaceable"><code>host:port</code></em>)</td></tr><tr><td>
+ <p>Indicates that an unexpected node has joined the group. The virtualhost node will
+ go into the ERROR state in response to the condition.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1009" />HA-1009</td><td>HA-1009 : Insufficient replicas contactable</td></tr><tr><td>
+ <p>This node (which was in the master role) no longer has sufficient replica in
+ contact in order to complete transactions.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1010" />HA-1010</td><td>HA-1010 : Role change reported: Node : '<em class="replaceable"><code>name</code></em>'
+ (<em class="replaceable"><code>host:port</code></em>) : from <em class="replaceable"><code>role</code></em> to
+ <em class="replaceable"><code>role</code></em></td></tr><tr><td>
+ <p>Indicates that the node has changed role within the group.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1011" />HA-1011</td><td>HA-1011 : Minimum group size : <em class="replaceable"><code>new group size</code></em></td></tr><tr><td>
+ <p>The quorum requirements from completing elections or transactions has been
+ changed.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1012" />HA-1012</td><td>HA-1012 : Priority : <em class="replaceable"><code>priority</code></em></td></tr><tr><td>
+ <p>The priority of the object node has been changed. Zero indicates that the node
+ cannot be elected master.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1013" />HA-1013</td><td>HA-1013 : Designated primary : <em class="replaceable"><code>true|false</code></em></td></tr><tr><td>
+ <p>This node has been designated primary and can now operate solo. Applies to two
+ node groups only. See <a class="xref" href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-DesignatedPrimary" title="10.4.5. Allow to Operate Solo">Section 10.4.5, “Allow to Operate Solo”</a></p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-HA-1014" />HA-1014</td><td>HA-1014 : Diverged transactions discarded</td></tr><tr><td>
+ <p>This node is in the process of rejoining the group but has discovered that some
+ of its transactions differ from those of the current master. The node will
+ automatically roll-back (i.e. discard) the diverging transactions in order to be
+ allowed to rejoin the group. This situation can only usually occur as a result of use
+ of the weak durability options. These allow the group to operate with fewer than
+ quorum nodes and therefore allow the inconsistencies to develop. </p>
+ <p>On encountering this condition, it is <span class="emphasis"><em>strongly</em></span> recommendend
+ to run an application level reconcilation to determine the data that has been
+ lost.</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="Java-Broker-Appendix-Operation-Logging-Message-List-Port" /><p class="title"><strong>Table C.16. Port Log Messages</strong></p><div class="table-contents"><table summary="Port Log Messages" width="100%" border="1"><colgroup><col class="messageId" /><col class="messageText" /></colgroup><thead><tr><th>Message Id</th><th>Message Text / Purpose</th></tr></thead><tbody><tr><td rowspa [...]
+ <p>Port has been created.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1002" />PRT-1002</td><td>Open</td></tr><tr><td>
+ <p>Port has been open</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1003" />PRT-1003</td><td>Close</td></tr><tr><td>
+ <p>Port has been closed</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1004" />PRT-1004</td><td>Connection count <em class="replaceable"><code>number</code></em> within <em class="replaceable"><code>warn limit</code></em> % of maximum <em class="replaceable"><code>limit</code></em>
+ </td></tr><tr><td>
+ <p>Warns that number of open connections approaches maximum allowed limit</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1005" />PRT-1005</td><td>Connection from <em class="replaceable"><code>peer</code></em> rejected. Maximum connection count (<em class="replaceable"><code>limit</code></em>) for this port already reached.</td></tr><tr><td>
+ <p>Connection from given host is rejected because of reaching the maximum allowed limit</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1007" />PRT-1007</td><td>Unsupported protocol header received <em class="replaceable"><code>header bytes</code></em>, replying with <em class="replaceable"><code>AMQP version</code></em></td></tr><tr><td>
+ <p>Ususualy indicates an attempt to make an non-AMQP connection on an AMQP port, for instance,
+ with a web browser.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1008" />PRT-1008</td><td>Connection from <em class="replaceable"><code>address</code></em> rejected</td></tr><tr><td>
+ <p>Incoming connection is rejected because the port's connection limits are
+ already reached.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1009" />PRT-1009</td><td>FAILED to bind <em class="replaceable"><code>name</code></em> service to <em class="replaceable"><code>port number</code></em></td></tr><tr><td>
+ <p>The given port number could not be bound because it is already in-use.</p>
+ </td></tr><tr><td rowspan="2"><a id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1010" />PRT-1010</td><td>Operation : <em class="replaceable"><code>operation name</code></em></td></tr><tr><td>
+ <p>Indicates that the named operation has been invoked</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-System-Properties.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-Statistics-Reporting.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Ap [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Alerts.html
similarity index 55%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Alerts.html
index ac2f32f..6b60b2e 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Alerts.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>Appendix E. Queue Alerts - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,35 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Appendix E. Queue Alerts</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. Queue Alerts</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apds03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Miscellaneous.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><d [...]
+ these limits will be periodically written to the log if these limits are breached, until the
+ condition is rectified.</p><p>For example, if queue <code class="literal">myqueue</code> is configured with a message count alert of
+ 1000, and then owing to a failure of a downstream system messages begin to accumulate on the
+ queue, the following alerts will be written periodically to the log. </p><pre class="screen">INFO [default:VirtualHostHouseKeepingTask] (queue.NotificationCheck) - MESSAGE_COUNT_ALERT On Queue myqueue - 1272: Maximum count on queue threshold (1000) breached.
+ </pre><p>Note that queue alerts are <span class="emphasis"><em>soft</em></span> in nature; breaching the limit will
+ merely cause the alerts to be generated but messages will still be accepted to the queue.</p><div class="table"><a id="Java-Broker-Appendix-Queue-Alerts-Alerting-Messages" /><p class="title"><strong>Table E.1. Queue Alerts</strong></p><div class="table-contents"><table summary="Queue Alerts" width="100%" border="1"><colgroup><col class="alertname" /><col class="purpose" /></colgroup><thead><tr><th>Alert Name</th><th>Alert Format and Purpose</th></tr></thead><tbody><tr><td r [...]
+ <em class="replaceable"><code>number of messages</code></em>: Maximum count on queue threshold
+ (<em class="replaceable"><code>limit</code></em>) breached. </td></tr><tr><td>
+ <p>The number of messages on the given queue has breached its configured
+ limit.</p>
+ </td></tr><tr><td rowspan="2">MESSAGE_SIZE_ALERT</td><td> MESSAGE_SIZE_ALERT On Queue <em class="replaceable"><code>queuename</code></em>
+ -<em class="replaceable"><code>message size</code></em> : Maximum message size threshold
+ (<em class="replaceable"><code>limit</code></em>) breached. [Message ID=<em class="replaceable"><code>message
+ id</code></em>]</td></tr><tr><td>
+ <p>The size of an individual messages has breached its configured limit.</p>
+ </td></tr><tr><td rowspan="2">QUEUE_DEPTH_ALERT</td><td> QUEUE_DEPTH_ALERT On Queue <em class="replaceable"><code>queuename</code></em> -
+ <em class="replaceable"><code>total size of all messages on queue</code></em> : Maximum queue depth
+ threshold (<em class="replaceable"><code>limit</code></em>) breached.</td></tr><tr><td>
+ <p>The total size of all messages on the queue has breached its configured
+ limit.</p>
+ </td></tr><tr><td rowspan="2">MESSAGE_AGE_ALERT</td><td>MESSAGE_AGE_ALERT On Queue <em class="replaceable"><code>queuename</code></em> - <em class="replaceable"><code>age
+ of message</code></em> : Maximum age on queue threshold
+ (<em class="replaceable"><code>limit</code></em>) breached. </td></tr><tr><td>
+ <p>The age of a message on the given queue has breached its configured limit.</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apds03.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Miscellaneous.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">D.3. Examples </td><td width="20%" align [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Declare-Arguments.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Declare-Arguments.html
new file mode 100644
index 0000000..d96b150
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Queue-Declare-Arguments.html
@@ -0,0 +1,233 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>Appendix G. Queue Declaration Arguments supported by the Broker - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Appendix G. Queue Declaration Arguments supported by the Broker</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix G. Queue Declaration Arguments supported by the Broker</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-BDB-HA-init [...]
+ <span class="emphasis"><em>Qpid Broker-J</em></span>
+ supports a number of custom arguments which can be specified as part of <span class="emphasis"><em>queue.declare</em></span>
+ commands for AMQP 0-x protocols. This section provides an overview of the supported arguments.
+ </p><div class="table"><a id="Java-Broker-Appendix-Supported-Queue-Declare-Arguments" /><p class="title"><strong>Table G.1. Queue declare arguments</strong></p><div class="table-contents"><table summary="Queue declare arguments" border="1"><colgroup><col class="argname" /><col class="description" /></colgroup><thead><tr><th>Argument Name</th><th>Description</th></tr></thead><tbody><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Overflow-Policy" />
+ <p>Declaration of overflow policy.
+ See
+ <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5. Controlling Queue Size">Section 4.7.5, “Controlling Queue Size”</a>
+ for more details.
+ </p>
+ </td><td class="auto-generated"> </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Policy-Type" />
+ <p>qpid.policy_type</p>
+ </td><td>
+ <p>Defines queue overflow policy.</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Max-Count" />
+ <p>qpid.max_count</p>
+ </td><td>
+ <p>Defines <span class="emphasis"><em>maximum number of messages</em></span>.
+ </p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Max-Size" />
+ <p>qpid.max_size</p>
+ </td><td>
+ <p>Defines <span class="emphasis"><em>maximum number of bytes</em></span>.
+ </p>
+ </td></tr><tr><td>
+ <p>The <span class="emphasis"><em>Overflow Policy</em></span> and the limits can be specified using
+ <span class="emphasis"><em>Address</em></span>
+ based syntax as in the example below:
+ </p><pre class="screen">
+my-queue; {create: always, node:
+{x-declare: {arguments:
+{'qpid.max_count': 10000,
+'qpid.max_size': 102400,
+'qpid.policy_type: 'ring'}}}}
+</pre><p>
+ </p>
+ </td><td class="auto-generated"> </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Overflow-Policy-Producer-Flow-Control" />
+ <p>Alternative declaration of <span class="emphasis"><em>Producer Flow Control</em></span> overflow policy.
+ See
+ <a class="xref" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" title="4.7.5. Controlling Queue Size">Section 4.7.5, “Controlling Queue Size”</a>
+ for more details.
+ </p>
+ </td><td class="auto-generated"> </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Capacity" />
+ <p>x-qpid-capacity</p>
+ </td><td>
+ <p>Defines <span class="emphasis"><em>maximum number of bytes</em></span>.
+ </p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Flow-Resume-Capacity" />
+ <p>x-qpid-flow-resume-capacity</p>
+ </td><td>
+ <p>Defines flow resume threshold in bytes</p>
+ </td></tr><tr><td>
+ <p>The <span class="emphasis"><em>Producer Flow Control</em></span> can be specified using
+ <span class="emphasis"><em>Address</em></span> based syntax as in the example below:
+ </p><pre class="screen">
+my-queue; {create: always, node:
+{x-declare: {arguments:
+{'x-qpid-capacity': 102400,
+'x-qpid-flow-resume-capacity': 8192000}}}}
+</pre><p>
+ </p>
+ </td><td class="auto-generated"> </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Qpid-Priorities" />
+ <p>x-qpid-priorities</p>
+ </td><td>
+ <p>Specifies a priority queue with given number priorities</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Sort-Key" />
+ <p>qpid.queue_sort_key</p>
+ </td><td>
+ <p>Specifies sorted queue with given message property used to sort the entries</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Last-Value-Key" />
+ <p>qpid.last_value_queue_key</p>
+ </td><td>
+ <p>Specifies lvq queue with given message property used to conflate the entries</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-Qpid-Ensure-Nondestructive-Consumers" />
+ <p>qpid.ensure_nondestructive_consumers</p>
+ </td><td>
+ <p>Set to true if the queue should make all consumers attached to it behave
+ non-destructively. (Default is false).</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Qpid-Maximum-Delivery-Count" />
+ <p>x-qpid-maximum-delivery-count</p>
+ </td><td>
+ <p>Specifies this queue's maximum delivery count.</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-Queue-Declare-Arguments-X-Single-Active-Consumer" />
+ <p>x-single-active-consumer</p>
+ </td><td>
+ <p>If set <code class="literal">true</code>, then of all consumers attached to a queue, only one will
+ be designated as <span class="emphasis"><em>active</em></span>, and eligible to receive messages. If the active
+ consumer is detached, and other consumers are attached, one of these other consumers is selected
+ to become the single active consumer.</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-BDB-HA-initial-configuration.html">Next</a></td></tr><tr><td wid [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-7.1.2/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Statistics-Reporting.html
similarity index 64%
copy from content/releases/qpid-broker-j-7.1.2/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Statistics-Reporting.html
index 69ddd85..c1dffdf 100644
--- a/content/releases/qpid-broker-j-7.1.2/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-Statistics-Reporting.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.1.2 - Apache Qpid™</title>
+ <title>Appendix D. Statistics Reporting - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,17 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.1.2</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Appendix D. Statistics Reporting</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-712">Qpid Broker-J 7.1.2</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.2/apache-qpid-broker-j-7.1.2-src.tar.gz">apache-qpid-broker-j-7.1.2-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/apache-qpid-broker-j-7.1.2-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/apache-qpid-broker-j-7.1.2-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.tar.gz">apache-qpid-broker-j-7.1.2-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.zip">apache-qpid-broker-j-7.1.2-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.2">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.1.2%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.1.2">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.1.2" === "8.0.4" || "7.1.2" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. Statistics Reporting</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Operation-Logging.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apds02.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div clas [...]
+ the log. Statistics reporting can be configured for a single entity (e.g. a queue) or for all entities of a
+ particular category (e.g. for all queues). The system can be configured dynamically at runtime without the need
+ for the system to be restarted.</p><p>This feature helps allow the behaviour of the overall system to be understood and can aid real-time problem
+ diagnosis.</p><p>It can be configured Broker-wide or separately for each virtual host.</p><p>The format of the statistics report is configurable.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="d0e9853" />D.1. Statistics Report Period</h2></div></div></div><p>This governs the period with which statistics reports will be written to the log. The period is defined
+ in seconds. By default the statistics report period is zero, meaning the system is disabled. To enable the
+ statistics report set the <span class="emphasis"><em>statistics reporting period</em></span> on either the Broker or virtualhost to
+ a non-zero value.</p><p>Once the period is defined, the system will respond to the statistic report patterns defined described next.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Operation-Logging.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="apds02.html">Next</a></td></tr><tr><td w [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-System-Properties.html
similarity index 63%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-System-Properties.html
index ac2f32f..8ef9018 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Appendix-System-Properties.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>Appendix B. System Properties - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,19 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Appendix B. System Properties</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. System Properties</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Environment-Variables.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-Operation-Logging.html">Next</a></td></tr></table><hr /></di [...]
+ various optional behaviours.</p><p>The preferred method of enabling these system properties is using the <a class="link" href="Java-Broker-Appendix-Environment-Variables.html#Java-Broker-Appendix-Environment-Variables-Qpid-Opts"><code class="literal">QPID_OPTS</code></a> environment variable described in the previous
+ section.</p><div class="table"><a id="d0e7642" /><p class="title"><strong>Table B.1. System properties</strong></p><div class="table-contents"><table summary="System properties" width="100%" border="1"><colgroup><col class="systemproperty" /><col class="default" /><col class="purpose" /></colgroup><thead><tr><th>System property</th><th>Default</th><th>Purpose</th></tr></thead><tbody><tr><td><a id="Java-Broker-Appendix-System-Properties-Broker-Heartbeat-Timeout-Factor" />qpi [...]
+ received from the peer before a connection is deemed to have been broken.</td></tr><tr><td><a id="Java-Broker-Appendix-System-Properties-Broker-Status-Updates" />qpid.broker_status_updates</td><td>true</td><td>
+ <p>If set true, the Broker will produce operational logging messages.</p>
+ </td></tr><tr><td><a id="Java-Broker-Appendix-System-Properties-Broker-Disabled-Features" />qpid.broker_disabled_features</td><td>none</td><td>
+ <p>Allows optional Broker features to be disabled. Currently understood feature
+ names are: <code class="literal">qpid.jms-selector</code></p>
+ <p>Feature names should be comma separated.</p>
+ </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Appendix-Environment-Variables.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-Operation-Logging.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">A [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost-Node.html
similarity index 53%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost-Node.html
index ac2f32f..bf43167 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost-Node.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>11.2. Virtualhost Node - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,22 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>11.2. Virtualhost Node</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">11.2. Virtualhost Node</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery.html">Prev</a> </td><th width="60%" align="center">Chapter 11. Backup And Recovery</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Backup-And-Recovery-Virtualhost.html">Next</a></td></tr>< [...]
+ simply copy all the files the exist beneath
+ <code class="literal">${QPID_WORK}/<nodename>/config</code>, assuming the virtualhost node is in
+ the standard location. This will copy all configuration that belongs to that virtualhost
+ node.</p><p>The technique for backing up a virtualhost node whilst it is running depends on its
+ type.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB" />11.2.1. BDB</h3></div></div></div><p>BDB module includes the "hot" backup utility <code class="literal">org.apache.qpid.server.store.berkeleydb.BDBBackup</code>.
+ This utility can perform the backup when the broker is running.</p><p>You can run this class from command line like in an example below:</p><div class="example"><a id="d0e7369" /><p class="title"><strong>Example 11.1. Performing store backup by using <code class="classname">BDBBackup</code> class
+ directly</strong></p><div class="example-contents"><div class="cmdsynopsis"><p><code class="command">java</code> -cp <em class="replaceable"><code>"${QPID_HOME}/lib/*"</code></em> org.apache.qpid.server.store.berkeleydb.BDBBackup \ <br /> -fromdir <em class="replaceable"><code>${QPID_WORK}/<nodename>/config</code></em> -todir <em class="replaceable"><code>path/to/backup/folder</code></em> </p></div></div></div><br class="example-break" /><p>In the example above BDB [...]
+ <code class="literal">${QPID_WORK}/<nodename>/config</code> and copy store logs into
+ <code class="literal">path/to/backup/folder</code>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB-HA" />11.2.2. BDB-HA</h3></div></div></div><p>See <a class="xref" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html#Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB" title="11.2.1. BDB">Section 11.2.1, “BDB”</a></p><div class="note" style="margin-l [...]
+ documentation accompanying it. Any technique that takes a consistent snapshot of the
+ database is acceptable.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-Node-JSON" />11.2.5. JSON</h3></div></div></div><p>JSON stores its config in a single text file. It can be safely backed up using standard
+ command line tools.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Backup-And-Recovery.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Backup-And-Recovery-Virtualhost.html">Next</a></td></tr><tr><td width="40%" align="le [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost.html
similarity index 62%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost.html
index ac2f32f..643163d 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery-Virtualhost.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>11.3. Virtualhost - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,19 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>11.3. Virtualhost</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">11.3. Virtualhost</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">Prev</a> </td><th width="60%" align="center">Chapter 11. Backup And Recovery</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-Environment-Variables.html">Next</a> [...]
+ simply copy all the files the exist beneath
+ <code class="literal">${QPID_WORK}/<name>/messages</code>, assuming the virtualhost is in the
+ standard location. This will copy all messages that belongs to that virtualhost.</p><p>The technique for backing up a virtualhost whilst it is running depends on its
+ type.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-BDB" />11.3.1. BDB</h3></div></div></div><p>Use the same backup utility described above, but use the path
+ <code class="literal">${QPID_WORK}/<name>/messages</code> instead.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-Derby" />11.3.2. Derby</h3></div></div></div><p>Not yet supported</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-JDBC" />11.3.3. JDBC</h3></div></div></div><p>The responsibility for [...]
+ documentation accompanying it. Any technique that takes a consistent snapshot of the
+ database is acceptable.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-Provided" />11.3.4. Provided</h3></div></div></div><p>The contents of the virtualhost will be backed up as part of virtualhost node that
+ contains it.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Backup-And-Recovery-Virtualhost-BDBHA" />11.3.5. BDB-HA</h3></div></div></div><p>The contents of the virtualhost will be backed up as part of virtualhost node that
+ contains it.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Backup-And-Recovery.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Appendix-Environment-Variables.html">Next</a></td></tr><tr><td width="40%" [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.1.3/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery.html
similarity index 57%
copy from content/releases/qpid-broker-j-7.1.3/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery.html
index 4da0aa3..b27ee15 100644
--- a/content/releases/qpid-broker-j-7.1.3/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Backup-And-Recovery.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.1.3 - Apache Qpid™</title>
+ <title>Chapter 11. Backup And Recovery - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,13 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.1.3</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Chapter 11. Backup And Recovery</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-713">Qpid Broker-J 7.1.3</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.3/apache-qpid-broker-j-7.1.3-src.tar.gz">apache-qpid-broker-j-7.1.3-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.1.3/apache-qpid-broker-j-7.1.3-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.1.3/apache-qpid-broker-j-7.1.3-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.3/binaries/apache-qpid-broker-j-7.1.3-bin.tar.gz">apache-qpid-broker-j-7.1.3-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.1.3/binaries/apache-qpid-broker-j-7.1.3-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.1.3/binaries/apache-qpid-broker-j-7.1.3-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.3/binaries/apache-qpid-broker-j-7.1.3-bin.zip">apache-qpid-broker-j-7.1.3-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.1.3/binaries/apache-qpid-broker-j-7.1.3-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.1.3/binaries/apache-qpid-broker-j-7.1.3-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.3">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.1.3%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.1.3">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.1.3" === "8.0.4" || "7.1.3" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. Backup And Recovery</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Reset-Group-Infomational.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">Next</a></td [...]
+ exist beneath <code class="literal">${QPID_WORK}</code>, assuming all virtualhost nodes and virtualhost
+ are in their standard location, this will copy all configuration and persistent message data. </p><p>There is currently no safe mechanism to take a complete copy of the entire Broker whilst
+ it is running.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Reset-Group-Infomational.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">10.11. Reset Group [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Authentication-Providers.html
similarity index 65%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Authentication-Providers.html
index ac2f32f..e5c7d54 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Authentication-Providers.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>4.9. Authentication Providers - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,14 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>4.9. Authentication Providers</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.9. Authentication Providers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Ports.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Concepts</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Other-Services.html">Next</a></td></tr></table><hr /></div [...]
+ <span class="emphasis"><em>Authentication Providers</em></span> are used by <span class="emphasis"><em>Ports</em></span> to authenticate connections.
+ Many <span class="emphasis"><em>Authentication Providers</em></span> can be configured on the Broker at the same time, from which
+ each <span class="emphasis"><em>Port</em></span> can be assigned one.
+ </p><p>Some Authentication Providers offer facilities for creation and deletion of users.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Ports.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Other-Services.html">Next</a></t [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Broker.html
similarity index 65%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Broker.html
index ac2f32f..382b7e0 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Broker.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>4.2. Broker - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,10 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>4.2. Broker</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.2. Broker</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Concepts</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Virtualhost-Nodes.html">Next</a></td></tr></table><hr /></div><div class="section" [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Exchanges.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Exchanges.html
new file mode 100644
index 0000000..74b2376
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Exchanges.html
@@ -0,0 +1,205 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>4.6. Exchanges - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>4.6. Exchanges</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.6. Exchanges</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Virtualhosts.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Concepts</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Queues.html">Next</a></td></tr></table><hr /></div><div class="sec [...]
+ messages from producers and routes them to matching <span class="emphasis"><em>Queue</em></span>s within the <span class="emphasis"><em>Virtualhost</em></span>.</p><p>
+ When using AMQP 0-8, 0-9, 0-9-1, or 0-10, the exchange is the only way ingressing a message into the virtualhost. When using AMQP
+ 1.0, the application may route messages using an exchange (to take advantage of exchange's routing behaviours), or it may route direcly
+ to a queue (if point to point messaging is required).
+ </p><p>The server provides a set of exchange types with each exchange type implementing a different routing algorithm. For details of how
+ these exchanges types work see <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-Types" title="4.6.2. Exchange Types">Section 4.6.2, “Exchange Types”</a> below.</p><p>The server predeclares a number of exchange instances with names starting with "<code class="literal">amq.</code>". These are defined in
+ <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-Predeclared" title="4.6.1. Predeclared Exchanges">Section 4.6.1, “Predeclared Exchanges”</a>.</p><p>Applications can make use of the pre-declared exchanges, or they may declare their own. The number of exchanges within a <span class="emphasis"><em>Virtualhost</em></span> is
+ limited only by resource constraints.</p><p>The behaviour when an <span class="emphasis"><em>Exchange</em></span> is unable to route a message to any queue is defined in <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage" title="4.6.4. Unrouteable Messages">Section 4.6.4, “Unrouteable Messages”</a></p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Exchanges [...]
+ </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>amq.direct (an instance of a direct exchange)</p></li><li class="listitem"><p>amq.topic (an instance of a topic exchange)</p></li><li class="listitem"><p>amq.fanout (an instance of a fanout exchange)</p></li><li class="listitem"><p>amq.match (an instance of a headers exchange)</p></li></ul></div><p>
+ </p><p>The conceptual "<code class="literal">default exchange</code>" always exists, effectively a special instance of
+ direct exchange which uses the empty string as its name. All queues are automatically bound to it upon their creation
+ using the queue name as the binding key, and unbound upon their deletion. It is not possible to manually add or remove
+ bindings within this exchange.</p><p>Applications may not declare exchanges with names beginning with "<code class="literal">amq.</code>". Such names are reserved for system use.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Exchanges-Types" />4.6.2. Exchange Types</h3></div></div></div><p>
+ The following Exchange types are supported.
+ </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Direct</p></li><li class="listitem"><p>Topic</p></li><li class="listitem"><p>Fanout</p></li><li class="listitem"><p>Headers</p></li></ul></div><p>
+ These exchange types are described in the following sub-sections.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-Types-Direct" />4.6.2.1. Direct</h4></div></div></div><p>The direct exchange type routes messages to queues based on an exact match between
+ the routing key of the message, and the binding key used to bind the queue to the exchange. Additional
+ filter rules may be specified using a <a class="link" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-BindingArguments-JMSSelector" title="4.6.3.1. JMS Selector">
+ binding argument specifying a JMS message selector</a>.
+ </p><p>This exchange type is often used to implement point to point messaging. When used in this manner, the normal
+ convention is that the binding key matches the name of the queue. It is also possible to use this exchange type
+ for multi-cast, in this case the same binding key is associated with many queues.</p><div class="figure"><a id="d0e637" /><p class="title"><strong>Figure 4.4. Direct exchange</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Exchange-Direct.png" height="360" alt="Direct exchange" /></td></tr></table></div></div></div><br [...]
+ "<code class="literal">myqueue</code>" match the binding key corresponding to queue "<code class="literal">myqueue</code>" and so are routed there. The red
+ messages published with the routing key "<code class="literal">foo</code>" match two bindings in the table so a copy of the message is
+ routed to both the "<code class="literal">bar1</code>" and "<code class="literal">bar2</code>" queues.</p><p>The routing key of the blue message matches no binding keys, so the message is unroutable. It is handled as described
+ in <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage" title="4.6.4. Unrouteable Messages">Section 4.6.4, “Unrouteable Messages”</a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-Types-Topic" />4.6.2.2. Topic</h4></div></div></div><p>This exchange type is used to support the classic publish/subscribe paradigm.</p><p>The topic ex [...]
+ binding key pattern defined by the queue binding. Routing keys are formed from one or more words, with each word delimited
+ by a full-stop (.). The pattern matching characters are the * and # symbols. The * symbol matches a single word and the #
+ symbol matches zero or more words.</p><p>Additional filter rules may be specified using a <a class="link" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-BindingArguments-JMSSelector" title="4.6.3.1. JMS Selector">
+ binding argument specifying a JMS message selector</a>.</p><p>The following three figures help explain how the topic exchange functions.</p><p /><div class="figure"><a id="d0e679" /><p class="title"><strong>Figure 4.5. Topic exchange - exact match on topic name</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Exchange [...]
+ message to every bound queue whose binding key matches the routing key.</p><p>In the case illustrated, this means that each subscriber's queue receives every yellow message.</p><div class="figure"><a id="d0e692" /><p class="title"><strong>Figure 4.6. Topic exchange - matching on hierarchical topic patterns</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" w [...]
+ message to every bound queue whose binding key matches the routing key but as the binding keys contain wildcards, the
+ wildcard rules described above apply.</p><p>In the case illustrated, <code class="literal">sub1</code> has received the red and green message as "<code class="literal">news.uk</code>" and "<code class="literal">news.de</code>"
+ match binding key "<code class="literal">news.#</code>". The red message has also gone to <code class="literal">sub2</code> and <code class="literal">sub3</code> as it's routing key
+ is matched exactly by "<code class="literal">news.uk</code>" and by "<code class="literal">*.uk</code>".</p><p>The routing key of the yellow message matches no binding keys, so the message is unroutable. It is handled as described
+ in <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage" title="4.6.4. Unrouteable Messages">Section 4.6.4, “Unrouteable Messages”</a>.</p><div class="figure"><a id="d0e730" /><p class="title"><strong>Figure 4.7. Topic exchange - matching on JMS message selector</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cel [...]
+ argument has been specified, the expression is evaluated against each matching message. Only messages whose message header values or properties
+ match the expression are routed to the queue.</p><p>In the case illustrated, <code class="literal">sub1</code> has received the yellow and blue message as their property "<code class="literal">area</code>"
+ cause expression "<code class="literal">area in ('Forties', 'Cromarty')</code>" to evaluate true. Similarly, the yellow message has also gone to
+ <code class="literal">gale_alert</code> as its property "<code class="literal">speed</code>" causes expression "<code class="literal">speed > 7 and speed < 10</code>"
+ to evaluate true.</p><p>The properties of purple message cause no expressions to evaluate true, so the message is unroutable. It is handled as described in
+ <a class="xref" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage" title="4.6.4. Unrouteable Messages">Section 4.6.4, “Unrouteable Messages”</a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-Types-Fanout" />4.6.2.3. Fanout</h4></div></div></div><p>The fanout exchange type routes messages to all queues bound to the exchange, regardless of the me [...]
+ binding argument specifying a JMS message selector</a>.</p><div class="figure"><a id="d0e777" /><p class="title"><strong>Figure 4.8. Fanout exchange</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Exchange-Fanout.png" height="360" alt="Fanout exchange" /></td></tr></table></div></div></div><br class="figure-break" />< [...]
+ a queue if the header properties of the message satisfy the <a class="link" href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-BindingArguments-x-match" title="4.6.3.2. x-match">
+ x-match expression</a> specified by the binding arguments with which the queue was bound.
+ </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Exchanges-BindingArguments" />4.6.3. Binding Arguments</h3></div></div></div><p>Binding arguments are used by certain exchange types to further filter messages.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-BindingArguments-JMSSelector" />4.6.3.1. JMS Selector</h4></div></div></div><p>The bindin [...]
+ is written in terms of message header and message property names. If the expression evaluates to true, the message is routed to the queue.
+ This type of binding argument is understood by exchange types direct, topic and fanout.<a href="#ftn.d0e804" class="footnote" id="d0e804"><sup class="footnote">[4]</sup></a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Exchanges-BindingArguments-x-match" />4.6.3.2. x-match</h4></div></div></div><p>The binding argument <code class="literal">x-match</code> is understood by exchange type headers. It can take two valu [...]
+ rest of the name value pairs are treated during matching.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">all</code> implies that all the other pairs must match the headers property of a message for that message to be routed
+ (i.e. an AND match)</p></li><li class="listitem"><p><code class="literal">any</code> implies that the message should be routed if any of the fields in the headers property match one of the
+ fields in the arguments table (i.e. an OR match)</p></li></ul></div><p>A field in the bind arguments matches a field in the message if either the field in the bind arguments has no value and a field of the
+ same name is present in the message headers or if the field in the bind arguments has a value and a field of the same name exists in the
+ message headers and has that same value.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Exchanges-UnroutableMessage" />4.6.4. Unrouteable Messages</h3></div></div></div><p>If an exchange is unable to route a message to any queues, the Broker will:
+ </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>If using the AMQP 1.0 protocol, and an alternate binding has been set on the exchange, the message is routed to the alternate.
+ If the message is still unroutable after considering the alternate binding, the message is discarded unless the sending link has requested the
+ <code class="literal">REJECT_UNROUTABLE</code> target capability, or the Exchange has its <code class="literal">unroutableMessageBehaviour</code> attribute set to
+ <code class="literal">REJECT</code>.</p></li><li class="listitem"><p>If using the AMQP 0-10 protocol, and an alternate binding has been set on the exchange, the message is routed to the alternate.
+ If the message is still unroutable after considering the alternate binding,the message is discarded.</p></li><li class="listitem"><p>If using AMQP protocols 0-8..0-9-1, and the publisher set the mandatory flag and the<a class="link" href="Java-Broker-Runtime-Close-Connection-When-No-Route.html" title="9.5. Closing client connections on unroutable mandatory messages">
+ close when no route</a> feature did not close the connection, the message is returned to the Producer.</p></li><li class="listitem"><p>Otherwise, the message is discarded.</p></li></ul></div><p>
+ </p></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.d0e804" class="footnote"><p><a href="#d0e804" class="para"><sup class="para">[4] </sup></a>
+ This is a Qpid specific extension.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Virtualhosts.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Queues.html">Next</a></td></tr><tr><td width="40%" align="left" vali [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Other-Services.html
similarity index 55%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Other-Services.html
index ac2f32f..2e5c614 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Other-Services.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>4.10. Other Services - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,17 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>4.10. Other Services</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.10. Other Services</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Authentication-Providers.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Concepts</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Initial-Configuration.html">Next</a></td></tr></table><hr [...]
+ The Broker can also have <span class="emphasis"><em>Access Control Providers</em></span>, <span class="emphasis"><em>Group Providers</em></span>,
+ <span class="emphasis"><em>Keystores</em></span>, <span class="emphasis"><em>Trustores</em></span> and [Management] <span class="emphasis"><em>Plugins</em></span> configured.
+ </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Access-Control-Providers" />4.10.1. Access Control Providers</h3></div></div></div><p><span class="emphasis"><em>Access Control Providers</em></span> are used to authorize various operations relating to Broker objects.</p><p>Access Control Provider configuration and management details are covered in <a class="xref" href="Java-Broker-Security-AccessControlProviders.html" title= [...]
+ which can be then be used in Access Control rules applicable to the whole group.</p><p>Group Provider configuration and management is covered in <a class="xref" href="Java-Broker-Security-Group-Providers.html" title="8.2. Group Providers">Section 8.2, “Group Providers”</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Keystores" />4.10.3. Keystores</h3></div></div></div><p><span class="emph [...]
+ for the SSL transports on Ports.</p><p>Keystore configuration and management is covered in <a class="xref" href="Java-Broker-Management-Managing-Keystores.html" title="7.11. Keystores">Section 7.11, “Keystores”</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Truststores" />4.10.4. Truststores</h3></div></div></div><p><span class="emphasis"><em>Truststores</em></span> are used to configure [...]
+ on SSL ports or making SSL connections to other external services like LDAP, etc.</p><p>Truststore configuration and management is covered in <a class="xref" href="Java-Broker-Management-Managing-Truststores.html" title="7.12. Truststores">Section 7.12, “Truststores”</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Loggers" />4.10.5. Loggers</h3></div></div></div><p><span class="emphas [...]
+ an individual Virtualhost. These are described in <a class="xref" href="Java-Broker-Runtime.html#Java-Broker-Runtime-Logging" title="9.1. Logging">Section 9.1, “Logging”</a>.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Authentication-Providers.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broke [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Ports.html
similarity index 59%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Ports.html
index ac2f32f..8db646a 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Ports.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>4.8. Ports - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,21 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>4.8. Ports</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.8. Ports</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Queues.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Concepts</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Authentication-Providers.html">Next</a></td></tr></table><hr /></div><div cl [...]
+ AMQP messaging and HTTP management connectivity it offers for use. </p><p> Each Port is configured with the particular <span class="emphasis"><em>Protocols</em></span> and
+ <span class="emphasis"><em>Transports</em></span> it supports, as well as the <span class="emphasis"><em>Authentication
+ Provider</em></span> to be used to authenticate connections. Where SSL is in use, the
+ <span class="emphasis"><em>Port</em></span> configuration also defines which <span class="emphasis"><em>Keystore</em></span>
+ to use and (where supported) which <span class="emphasis"><em>TrustStore(s)</em></span> and whether Client
+ Certificates should be requested/required. </p><p> Different <span class="emphasis"><em>Ports</em></span> can support different protocols, and many
+ <span class="emphasis"><em>Ports</em></span> can be configured on the Broker.</p><p> The following AMQP protocols are currently supported by the Broker: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>AMQP 0-8</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>AMQP 0-9</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>AMQP 0-9-1</em></span></p></l [...]
+ </p><p> Additionally, HTTP ports can be configured for use by the associated management
+ plugin. </p><p>This diagram explains how Ports, <a class="link" href="Java-Broker-Concepts-Authentication-Providers.html" title="4.9. Authentication Providers">Authentication Providers</a>
+ and an Access Control Provider work together to allow an application to form a connection to
+ a Virtualhost.</p><div class="figure"><a id="d0e1311" /><p class="title"><strong>Figure 4.9. Control flow during Authentication</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Broker-PortAuthFlow.png" height="360" alt="Control flow during Authentication" /></td></tr></table></div></div></div><p><br class="figure-b [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Queues.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Queues.html
new file mode 100644
index 0000000..b60380b
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Queues.html
@@ -0,0 +1,322 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>4.7. Queues - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>4.7. Queues</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.7. Queues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Exchanges.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Concepts</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Ports.html">Next</a></td></tr></table><hr /></div><div class="section">< [...]
+ hold/buffer messages for later delivery to consumer applications.</p><p>Messages arrive on queues either from <a class="link" href="Java-Broker-Concepts-Exchanges.html" title="4.6. Exchanges">Exchanges</a>, or when
+ using the AMQP 1.0 protocol, the producing application can direct messages straight to the queue. For
+ AMQP 0-8, 0-9, 0-9-1, or 0-10, the exchange is the only way ingressing a message into a queue.</p><p>Consumers subscribe to a queue in order to receive messages from it.</p><p>The Broker supports different queue types, each with different delivery semantics. Queues also have a range of other
+ features such as the ability to group messages together for delivery to a single consumer. These additional features
+ are described below too.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queues-Types" />4.7.1. Types</h3></div></div></div><p>The Broker supports four different queue types, each with different delivery semantics.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-Standard" title [...]
+ delivery order depends on the value of the sorting key property in each message</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-LVQ" title="4.7.1.4. Last Value Queues (LVQ)">Last Value
+ Queue</a> - also known as an LVQ, retains only the last (newest) message received
+ with a given LVQ key value</p></li></ul></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-Standard" />4.7.1.1. Standard</h4></div></div></div><p>A simple First-In-First-Out (FIFO) queue</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-Priority" />4.7.1.2. Priority</h4></div></div></div><p>In a priority queue, messages on the q [...]
+ <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSPriority()" target="_top">JMS priority message
+ header</a> within the message. By default Qpid supports the 10 priority levels
+ mandated by JMS, with priority value 0 as the lowest priority and 9 as the highest. </p><p>It is possible to reduce the effective number of priorities if desired.</p><p>JMS defines the <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#DEFAULT_PRIORITY" target="_top">
+ default message priority</a> as 4. Messages sent without a specified priority use this
+ default. </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-Sorted" />4.7.1.3. Sorted Queues</h4></div></div></div><p>Sorted queues allow the message delivery order to be determined by value of an arbitrary
+ <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getStringProperty()" target="_top">JMS message
+ property</a>. Sort order is alpha-numeric and the property value must have a type
+ java.lang.String.</p><p>Messages sent to a sorted queue without the specified JMS message property will be
+ put at the head of the queue.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-LVQ" />4.7.1.4. Last Value Queues (LVQ)</h4></div></div></div><p>LVQs (or conflation queues) are special queues that automatically discard any message
+ when a newer message arrives with the same key value. The key is specified by arbitrary
+ <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getPropertyNames()" target="_top">JMS message
+ property</a>.</p><p>An example of an LVQ might be where a queue represents prices on a stock exchange: when
+ you first consume from the queue you get the latest quote for each stock, and then as new
+ prices come in you are sent only these updates. </p><p>Like other queues, LVQs can either be browsed or consumed from. When browsing an
+ individual subscriber does not remove the message from the queue when receiving it. This
+ allows for many subscriptions to browse the same LVQ (i.e. you do not need to create and
+ bind a separate LVQ for each subscriber who wishes to receive the contents of the
+ LVQ).</p><p>Messages sent to an LVQ without the specified property will be delivered as normal and
+ will never be "replaced".</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queues-Message-Grouping" />4.7.2. Messaging Grouping</h3></div></div></div><p> The broker allows messaging applications to classify a set of related messages as
+ belonging to a group. This allows a message producer to indicate to the consumer that a group
+ of messages should be considered a single logical operation with respect to the application. </p><p> The broker can use this group identification to enforce policies controlling how messages
+ from a given group can be distributed to consumers. For instance, the broker can be configured
+ to guarantee all the messages from a particular group are processed in order across multiple
+ consumers. </p><p> For example, assume we have a shopping application that manages items in a virtual
+ shopping cart. A user may add an item to their shopping cart, then change their mind and
+ remove it. If the application sends an <span class="emphasis"><em>add</em></span> message to the broker,
+ immediately followed by a <span class="emphasis"><em>remove</em></span> message, they will be queued in the
+ proper order - <span class="emphasis"><em>add</em></span>, followed by <span class="emphasis"><em>remove</em></span>. </p><p> However, if there are multiple consumers, it is possible that once a consumer acquires
+ the <span class="emphasis"><em>add</em></span> message, a different consumer may acquire the
+ <span class="emphasis"><em>remove</em></span> message. This allows both messages to be processed in parallel,
+ which could result in a "race" where the <span class="emphasis"><em>remove</em></span> operation is incorrectly
+ performed before the <span class="emphasis"><em>add</em></span> operation. </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-GroupingMessages" />4.7.2.1. Grouping Messages</h4></div></div></div><p>In order to group messages, JMS applications can set the JMS standard header
+ <code class="literal">JMSXGroupId</code> to specify the <span class="emphasis"><em>group identifier</em></span>
+ when publishing messages.
+ </p><p>Alternatively, the application may designate a particular message header
+ as containing a message's <span class="emphasis"><em>group identifier</em></span>. The group identifier stored
+ in that header field would be a string value set by the message producer. Messages from the
+ same group would have the same group identifier value. The key that identifies the header
+ must also be known to the message consumers. This allows the consumers to determine a
+ message's assigned group.
+ </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-BrokerRole" />4.7.2.2.  The Role of the Broker in Message Grouping </h4></div></div></div><p> The broker will apply the following processing on each grouped message: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Enqueue a received message on the destination queue.</p></li><li class="listitem"><p> [...]
+ header.</p></li><li class="listitem"><p>Enforce <span class="emphasis"><em>consumption ordering</em></span> among messages belonging to the
+ same group. <span class="emphasis"><em>Consumption ordering</em></span> means one of two things
+ depending on how the queue has been configured. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p> In default mode, a group gets assigned to a single consumer for the lifetime
+ of that consumer, and the broker will pass all subsequent messages in the group to
+ that consumer. </p></li><li class="listitem"><p>In 'shared groups' mode (which gives the same behaviour as the Qpid C++
+ Broker) the broker enforces a looser guarantee, namely that all the
+ <span class="emphasis"><em>currently unacknowledged messages</em></span> in a group are sent to
+ the same consumer, but the consumer used may change over time even if the
+ consumers do not. This means that only one consumer can be processing messages
+ from a particular group at any given time, however if the consumer acknowledges
+ all of its acquired messages then the broker <span class="emphasis"><em>may</em></span> pass the
+ next pending message in that group to a different consumer. </p></li></ul></div></li></ul></div><p>
+ </p><p> The absence of a value in the designated group header field of a message is treated as
+ follows: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> In default mode, failure for a message to specify a group is treated as a desire
+ for the message not to be grouped at all. Such messages will be distributed to any
+ available consumer, without the ordering guarantees imposed by grouping. </p></li><li class="listitem"><p> In 'shared groups' mode (which gives the same behaviour as the Qpid C++ Broker)
+ the broker assigns messages without a group value to a 'default group'. Therefore, all
+ such "unidentified" messages are considered by the broker as part of the same group,
+ which will handled like any other group. The name of this default group is
+ "qpid.no-group", although it can be customised as detailed below. </p></li></ul></div><p>
+ </p><p> Note that message grouping has no effect on queue browsers.</p><p> Note well that distinct message groups would not block each other from delivery. For
+ example, assume a queue contains messages from two different message groups - say group "A"
+ and group "B" - and they are enqueued such that "A"'s messages are in front of "B". If the
+ first message of group "A" is in the process of being consumed by a client, then the
+ remaining "A" messages are blocked, but the messages of the "B" group are available for
+ consumption by other consumers - even though it is "behind" group "A" in the queue. </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queue-EnsureNonDestructiveConsumers" />4.7.3. Forcing all consumers to be non-destructive</h3></div></div></div><p>When a consumer attaches to a queue, the normal behaviour is that messages are
+ sent to that consumer are acquired exclusively by that consumer, and when the consumer
+ acknowledges them, the messages are removed from the queue.</p><p>Another common pattern is to have queue "browsers" which send all messages to the
+ browser, but do not prevent other consumers from receiving the messages, and do not
+ remove them from the queue when the browser is done with them. Such a browser is an
+ instance of a "non-destructive" consumer.</p><p>If every consumer on a queue is non destructive then we can obtain some interesting
+ behaviours. In the case of a LVQ
+ then the queue will always contain the most up to date value for every key. For
+ a standard queue, if every consumer is non-destructive then we have something that
+ behaves like a topic (every consumer receives every message) except that instead of
+ only seeing messages that arrive after the point at which the consumer is created, all
+ messages which have not been removed due to TTL expiry (or, in the case of LVQs,
+ overwirtten by newer values for the same key).</p><p>A queue can be created to enforce all consumers are non-destructive.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1064" />4.7.3.1. Bounding size using min/max TTL</h4></div></div></div><p>For queues other than LVQs, having only non-destructive consumers could mean that
+ messages would never get deleted, leaving the queue to grow unconstrainedly. To
+ prevent this you can use the ability to set the maximum TTL of the queue. To ensure
+ all messages have the same TTL you could also set the minimum TTL to the same value.
+ </p><p>Minimum/Maximum TTL for a queue can be set though the HTTP Management UI, using the
+ REST API. The attribute names are <code class="varname">minimumMessageTtl</code> and
+ <code class="varname">maximumMessageTtl</code> and the TTL value is given in milliseconds.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1077" />4.7.3.2. Choosing to receive messages based on arrival time</h4></div></div></div><p>A queue with no destructive consumers will retain all messages until they expire
+ due to TTL. It may be the case that a consumer only wishes to receive messages
+ that have been sent in the last 60 minutes, and any new messages that arrive, or
+ alternatively it may wish only to receive newly arriving messages and not any that
+ are already in the queue. This can be achieved by using a filter on the arrival
+ time.</p><p>A special parameter <code class="varname">x-qpid-replay-period</code> can be used in the
+ consumer declaration to control the messages the consumer wishes to receive. The
+ value of <code class="varname">x-qpid-replay-period</code> is the time, in seconds, for which
+ the consumer wishes to see messages. A replay period of 0 indicates only newly
+ arriving messages should be sent. A replay period of 3600 indicates that only
+ messages sent in the last hour - along with any newly arriving messages - should be
+ sent.</p><p>When using the Qpid JMS AMQP 0-x, the consumer declaration can be hinted using the
+ address.</p><div class="table"><a id="d0e1092" /><p class="title"><strong>Table 4.1. Setting the replay period using a Qpid JMS AMQP 0-x address</strong></p><div class="table-contents"><table summary="Setting the replay period using a Qpid JMS AMQP 0-x address" border="1"><colgroup><col class="syntax" /><col class="example" /></colgroup><thead><tr><th>Syntax</th><th>Example</th></tr></thead><tbody><tr><td>Addressing</td><td>myqueue : { link : { x-subscribe: { argume [...]
+ see only newly arriving messages (i.e. standard topic-like behaviour) but other consumers
+ may wish to start their message stream from some point in the past. This can be achieved by
+ setting a default filter on the queue so that consumers which do not explicitly set a replay
+ period get a default (in this case the desired default would be 0).</p><p>The default filter set for a queue can be set via the REST API using the attribute named
+ <code class="varname">defaultFilters</code>. This value is a map from filter name to type and arguments.
+ To set the default behaviour for the queue to be that consumers only receive newly arrived
+ messages, then you should set this attribute to the value:</p><pre class="screen">
+ { "x-qpid-replay-period" : { "x-qpid-replay-period" : [ "0" ] } }
+ </pre><p>
+ If the desired default behaviour is that each consumer should see all messages arriving in
+ the last minute, as well as all new messages then the value would need to be:</p><pre class="screen">
+ { "x-qpid-replay-period" : { "x-qpid-replay-period" : [ "60" ] } }
+ </pre></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queue-HoldingEntries" />4.7.4. Holding messages on a Queue</h3></div></div></div><p>Sometimes it is required that while a message has been placed on a queue, it is not released to consumers
+ until some external condition is met. </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1136" />4.7.4.1. Hold until valid</h4></div></div></div><p>Currently Queues support the "holding" of messages until a (per-message) provided point in time.
+ By default this support is not enabled (since it requires extra work to be performed against every
+ message entering the queue. To enable support, the attribute <code class="varname">holdOnPublishEnabled</code>
+ must evaluate to true for the Queue. When enabled messages on the queue will be checked for the header
+ (for AMQP 0-8, 0-9, 0-9-1 and 0-10 messages) or message annotation (for AMQP 1.0 messages)
+ <code class="varname">x-qpid-not-valid-before</code>. If this header/annotation exists and contains a numeric value,
+ it will be treated as a point in time given in milliseconds since the UNIX epoch. The message will not
+ be released from the Queue to consumers until this time has been reached.
+ </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queue-OverflowPolicy" />4.7.5. Controlling Queue Size</h3></div></div></div><p>
+ <span class="emphasis"><em>Overflow Policy</em></span>
+ can be configured on an individual <span class="emphasis"><em>Queue</em></span> to limit the queue size. The size
+ can be expressed in terms of a <span class="emphasis"><em>maximum number of bytes</em></span> and/or
+ <span class="emphasis"><em>maximum number of messages</em></span>.
+ The <span class="emphasis"><em>Overflow Policy</em></span> defines the Queue behaviour when any of the limits is reached.
+ </p><p>
+ The following <span class="emphasis"><em>Overflow Policies</em></span> are supported:
+ </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+ <span class="emphasis"><em>None</em></span>
+ - Queue is unbounded and the capacity limits are not applied.
+ This is a default policy applied implicitly when policy is not set explicitly.
+ </p></li><li class="listitem"><p>
+ <span class="emphasis"><em>Ring</em></span>
+ - If a newly arriving message takes the queue over a limit, message(s) are
+ deleted from the queue until the queue falls within its limit again. When deleting
+ messages, the oldest messages are deleted first. For a
+ <a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-Priority" title="4.7.1.2. Priority">Priority Queue</a>
+ the oldest messages with lowest priorities are removed.
+ </p></li><li class="listitem"><p>
+ <span class="emphasis"><em>Producer Flow Control</em></span>
+ -The producing sessions
+ are blocked until queue depth falls below the <span class="emphasis"><em>resume threshold</em></span> set as a
+ context variable <span class="emphasis"><em>${queue.queueFlowResumeLimit}</em></span>
+ (specifying the percentage from the limit values. Default is 80%).
+ </p></li><li class="listitem"><p>
+ <span class="emphasis"><em>Flow to Disk</em></span>
+ -If the queue breaches a limit, newly arriving messages are written to disk and the in-memory
+ representation of the message is minimised. The Broker will transparently retrieve messages
+ from disk as they are required by a consumer or management. The flow to disk policy does not
+ actually restrict the overall size of the queue, merely the space occupied in memory.
+ The Broker's other <a class="link" href="Java-Broker-Runtime-Flow-To-Disk.html" title="9.6. Flow to Disk">Flow to Disk feature</a>
+ operates completely independent of this Queue Overflow Policy.
+ </p></li><li class="listitem"><p>
+ <span class="emphasis"><em>Reject</em></span>
+ -A newly arriving message is rejected when queue limit is breached.
+ </p></li></ul></div><p>
+ </p><p>
+ A negative value for <span class="emphasis"><em>maximum number of messages</em></span> or
+ <span class="emphasis"><em>maximum number of bytes</em></span> disables the limit.
+ </p><p>
+ The Broker issues Operational log messages when the queue sizes are breached. These are documented
+ at <a class="xref" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-List-Queue" title="Table C.6. Queue Log Messages">Table C.6, “Queue Log Messages”</a>.
+ </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queues-SetLowPrefetch" />4.7.6. Using low pre-fetch with special queue types</h3></div></div></div><p>Messaging clients may buffered messages for performance reasons. In Qpid, this is commonly known as
+ <span class="emphasis"><em>pre-fetch</em></span></p><p>When using some of the messaging features described on this section, using prefetch can give
+ unexpected behaviour. Once the broker has sent a message to the client its delivery order is then fixed,
+ regardless of the special behaviour of the queue. </p><p>For example, if using a priority queue and a prefetch of 100, and 100 messages arrive with
+ priority 2, the broker will send these messages to the client. If then a new message arrives
+ with priority 1, the broker cannot leap frog messages of lower priority. The priority 1 will
+ be delivered at the front of the next batch of messages to be sent to the client.</p><p>Using pre-fetch of 1 will give exact queue-type semantics as perceived by the
+ client however, this brings a performance cost. You could test with a slightly higher
+ pre-fetch to trade-off between throughput and exact semantics.</p><p>See the messaging client documentation for details of how to configure prefetch.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Exchanges.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right"> [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-RemoteReplicationNodes.html
similarity index 65%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-RemoteReplicationNodes.html
index ac2f32f..d3e7cd7 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-RemoteReplicationNodes.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>4.4. Remote Replication Nodes - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,11 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>4.4. Remote Replication Nodes</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.4. Remote Replication Nodes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Virtualhost-Nodes.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Concepts</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Virtualhosts.html">Next</a></td></tr></table>< [...]
+ another virtualhost node in the group.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Virtualhost-Nodes.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Virtualhosts.html">Next</a></td></tr><tr><td width="40%" align="left" v [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhost-Nodes.html
similarity index 65%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhost-Nodes.html
index ac2f32f..6b5c214 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhost-Nodes.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>4.3. Virtualhost Nodes - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,20 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>4.3. Virtualhost Nodes</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.3. Virtualhost Nodes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Broker.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Concepts</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Next</a></td></tr></table><hr /></d [...]
+ one virtualhost.</p><p>A <span class="emphasis"><em>virtualhost node</em></span> is backed by storage. This storage is used to record
+ the durable entities that exist beneath the virtualhost node (the virtualhost, queues, exchanges
+ etc).</p><p>When HA is in use, it is the virtualhost nodes of many Brokers that come together to form
+ the group. The virtualhost nodes together elect a master. When the high availability feature is
+ in use, the virtualhost node has <a class="link" href="Java-Broker-Concepts-RemoteReplicationNodes.html" title="4.4. Remote Replication Nodes">remote replications nodes</a>. There is a remote replication node corresponding to each
+ remote virtualhost node that form part of the group.</p><p>
+ <span class="emphasis"><em>Virtualhost node</em></span> also provides an initial configuration for its <span class="emphasis"><em>virtualhost</em></span>.
+ How to specify initial configuration for <span class="emphasis"><em>virtual host</em></span> is described at
+ <a class="xref" href="Java-Broker-Virtual-Host-Initial-Configuration.html" title="5.8. Virtualhost Initial Configuration">Section 5.8, “Virtualhost Initial Configuration”</a>.
+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-Broker.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.2. Broker </td><t [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhosts.html
similarity index 58%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhosts.html
index ac2f32f..8a8d590 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts-Virtualhosts.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>4.5. Virtualhosts - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,25 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>4.5. Virtualhosts</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.5. Virtualhosts</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Concepts</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Exchanges.html">Next</a></td></tr></table><hr /></div [...]
+ the messaging that goes on within one virtualhost is independent of any messaging that goes on
+ in another virtualhost. For instance, a queue named <span class="emphasis"><em>foo</em></span> defined in one
+ virtualhost is completely independent of a queue named <span class="emphasis"><em>foo</em></span> in another
+ virtualhost.</p><p>A virtualhost is identified by a name which must be unique broker-wide. Clients use the name
+ to identify the virtualhost to which they wish to connect when they connect.</p><p>A virtualhost exists in a virtualhost node.</p><p>The virtualhost comprises a number of entities. This section summaries the purpose of
+ each of the entities and describes the relationships between them. These details are developed
+ further in the sub-sections that follow.</p><p><span class="emphasis"><em>Exchanges</em></span> is a named entity within the Virtual Host which receives
+ messages from producers and routes them to matching Queues. When using AMQP 0-8, 0-9, 0-9-1, 0-10
+ the exchange is the only way ingressing a message into the virtualhost. When using AMQP 1.0
+ producers may route messages via exchanges or direct to queues.</p><p><span class="emphasis"><em>Queues</em></span> are named entities that hold messages for delivery to consumer
+ applications.</p><p><span class="emphasis"><em>Connections</em></span> represent a live connection to the virtualhost from a
+ messaging client.</p><p>A <span class="emphasis"><em>Session</em></span> represents a context for the production or consumption of
+ messages. A Connection can have many Sessions.</p><p>A <span class="emphasis"><em>Consumer</em></span> represents a live consumer that is attached to queue.</p><p><span class="emphasis"><em>Loggers</em></span> are responsible for producing logs for this virtualhost.</p><p> The following diagram depicts the Virtualhost model: </p><div class="figure"><a id="d0e519" /><p class="title"><strong>Figure 4.3. Virtualhost Model showing major entities</strong></p><div class="figure-c [...]
+ </p><p>A <span class="emphasis"><em>virtualhost</em></span> is backed by storage which is used to store the
+ messages.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Exchanges.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.4. Remot [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts.html
new file mode 100644
index 0000000..06306e5
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Concepts.html
@@ -0,0 +1,177 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>Chapter 4. Concepts - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Chapter 4. Concepts</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Concepts</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-CommandLine.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Broker.html">Next</a></td></tr></table><hr /></div><div class="chapter">< [...]
+ the entities and describes the relationships between them. These details are developed further
+ in the sub-sections that follow.</p><p>The most important entity is the <span class="emphasis"><em>Virtualhost</em></span>. A virtualhost is an
+ independent container in which messaging is performed. A <span class="emphasis"><em>virtualhost</em></span> exists
+ in a container called a <span class="emphasis"><em>virtualhost node</em></span>. A virtualhost node has exactly
+ one virtualhost.</p><p>An <span class="emphasis"><em>Exchange</em></span> accepts messages from a producer application and routes these
+ to one or more <span class="emphasis"><em>Queues</em></span> according to pre-arranged criteria called
+ <span class="emphasis"><em>bindings</em></span>. Exchange are an AMQP 0-8, 0-9, 0-9-1, 0-10 concept. They exist to
+ produce useful messaging behaviours such as fanout. When using AMQP 0-8, 0-9, 0-9-1, or 0-10, the
+ exchange is the only way ingressing a message into the virtualhost. When using AMQP
+ 1.0, the application may route messages using an exchange (to take advantage of advanced behaviours)
+ or it may publish messages direct to a queue.
+ </p><p><span class="emphasis"><em>Queue</em></span>s are named entities that hold/buffer messages for later delivery to
+ consumer applications.
+ </p><p><span class="emphasis"><em>Ports</em></span> accept connections for messaging and management. The Broker
+ supports any number of ports. When connecting for messaging, the user specifies a virtualhost
+ name to indicate the virtualhost to which it is to be connected.</p><p><span class="emphasis"><em>Authentication Providers</em></span> assert the identity of the user as it connects
+ for messaging or management. The Broker supports any number of authentication providers. Each
+ port is associated with exactly one authentication provider. The port uses the authentication
+ provider to assert the identity of the user as new connections are received.</p><p><span class="emphasis"><em>Group Providers</em></span> provide mechanisms that provide grouping of users. A
+ Broker supports zero or more group providers.</p><p><span class="emphasis"><em>Access Control Provider</em></span> allows the abilities of users (or groups of
+ users) to be restrained. A Broker can have zero or one access control providers.</p><p><span class="emphasis"><em>Keystores</em></span> provide a repositories of certificates and are used when the
+ Broker accepts SSL connections. Any number of keystore providers can be defined. Keystores are
+ be associated with Ports defined to accepts SSL.</p><p><span class="emphasis"><em>Truststores</em></span> provide a repositories of trust and are used to validate a
+ peer. Any number of truststore provides can be defined. Truststores can be associated with Ports
+ and other entities that form SSL connections.</p><p><span class="emphasis"><em>Remote Replication Nodes</em></span> are used when the high availability feature is
+ in use. It is the remote representation of other virtualhost nodes that form part of the same
+ group.</p><p><span class="emphasis"><em>Loggers</em></span>, at this point in the hierarchy, are responsible for the
+ production of a log for the Broker.</p><p>These concepts will be developed over the forthcoming pages. The diagrams below also help
+ put these entities in context of one and other.</p><p>
+ </p><div class="figure"><a id="d0e399" /><p class="title"><strong>Figure 4.1. Message Flow through Key Entities</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Broker-MessageFlow.png" height="360" alt="Message Flow through the Key Entities of the Broker" /></td></tr></table></div></div></div><p><br class="figure-break" />
+ </p><p>
+ </p><div class="figure"><a id="d0e411" /><p class="title"><strong>Figure 4.2. Broker Structure showing major entities</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Broker-Model.png" height="360" alt="Broker Structure" /></td></tr></table></div></div></div><p><br class="figure-break" />
+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-CommandLine.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Concepts-Broker.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">3.5. Using the command line </td><td width="20%" align="center"><a [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-CommandLine.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-CommandLine.html
new file mode 100644
index 0000000..4a95b94
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-CommandLine.html
@@ -0,0 +1,201 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>3.5. Using the command line - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>3.5. Using the command line</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.5. Using the command line</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Logging.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Getting Started</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Concepts.html">Next</a></td></tr></table><hr /></div> [...]
+ For additional details about the broker configuration and related command line arguments see
+ <a class="xref" href="Java-Broker-Initial-Configuration.html" title="Chapter 5. Initial Configuration">Chapter 5, <em>Initial Configuration</em></a>.
+ The broker is fully configurable via its Web Management Console, for details of this see
+ <a class="xref" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2. Web Management Console">Section 6.2, “Web Management Console”</a>.
+ </p><p>To see usage information for all command line options, use the <code class="option">--help</code> option</p><pre class="programlisting">bin/qpid-server --help</pre><pre class="screen">usage: Qpid [-cic <path>] [-h] [-icp <path>] [-mm] [-mmhttp <port>]
+ [-mmpass <password>] [-mmqv] [-os]
+ [-prop <name=value>] [-props <path>] [-sp <path>] [-st <type>] [-v]
+ -cic,--create-initial-config <path> 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 <path> 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 <port> override http
+ management port in
+ management mode
+ -mmpass,--management-mode-password <password> 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 <name=value> set a configuration
+ property to use when
+ resolving variables
+ in the broker
+ configuration store,
+ with format
+ "name=value"
+ -props,--system-properties-file <path> set the location of
+ initial properties
+ file to set
+ otherwise unset
+ system properties
+ -sp,--store-path <path> use given
+ configuration store
+ location
+ -st,--store-type <type> use given broker
+ configuration store
+ type
+ -v,--version print the version
+ information and exit
+</pre></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Logging.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Getting-Started.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Concepts.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">3.4. Log file </td><td widt [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Logging.html
similarity index 65%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Logging.html
index ac2f32f..959e6e7 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Logging.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>3.4. Log file - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,13 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>3.4. Log file</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.4. Log file</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Getting Started</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Getting-Started-CommandLine.html">Next</a></td></tr> [...]
+ conditions. By default the log file is written within the log subdirectory beneath the work directory
+ - <code class="computeroutput">$QPID_WORK/log/qpid.log</code> (UNIX) and
+ <code class="computeroutput">%QPID_WORK%\log\qpid.log</code> (Windows).</p><p>For details of how to control the logging, see <a class="xref" href="Java-Broker-Runtime.html#Java-Broker-Runtime-Logging" title="9.1. Logging">Section 9.1, “Logging”</a></p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Prev</a> </ [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Unix.html
similarity index 61%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Unix.html
index ac2f32f..e940bdb 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Unix.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>3.3. Starting/Stopping the broker on Unix - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,22 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>3.3. Starting/Stopping the broker on Unix</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.3. Starting/Stopping the broker on Unix</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Getting Started</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Getting-Started-Loggi [...]
+ and ensure that the <a class="link" href="Java-Broker-Installation-InstallationUnix.html#Java-Broker-Installation-InstallationUnix-SettingQPIDWORK" title="2.5.1. Setting the working directory">QPID_WORK environment variable is set</a>.</p><p>Now use the <span class="command"><strong>qpid-server</strong></span> script to start the server:</p><pre class="programlisting">bin/qpid-server</pre><p>Output similar to the following will be seen:</p><pre class="screen">[Broker] BRK-1006 [...]
+[Broker] BRK-1001 : Startup : Version: 8.0.5 Build: exported
+[Broker] BRK-1010 : Platform : JVM : Oracle Corporation version: 1.8.0_144-b01 OS : Mac OS X version: 10.12.6 arch: x86_64 cores: 8
+[Broker] BRK-1011 : Maximum Memory : Heap : 518,979,584 bytes Direct : 1,610,612,736 bytes
+[Broker] BRK-1002 : Starting : Listening on TCP port 5672
+[Broker] MNG-1001 : Web Management Startup
+[Broker] MNG-1002 : Starting : HTTP : Listening on port 8080
+[Broker] MNG-1004 : Web Management Ready
+[Broker] BRK-1004 : Qpid Broker Ready</pre><p>The BRK-1004 message confirms that the Broker is ready for work. The MNG-1002 and BRK-1002 confirm the ports on
+ which the Broker is listening (for HTTP management and AMQP respectively).</p><p>To stop the Broker, use Control-C from the controlling shell, use the
+ <span class="command"><strong>bin/qpid.stop</strong></span> script, use <span class="command"><strong>kill -TERM <pid></strong></span>, or
+ the <a class="link" href="Java-Broker-Management-Channel-REST-API.html#Java-Broker-Management-Channel-REST-API-Operations" title="6.3.8. Configured Object operations">REST operation broker/shutdown</a>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Jav [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Windows.html
similarity index 62%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Windows.html
index ac2f32f..b8df9ba 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started-Starting-Stopping-Windows.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>3.2. Starting/Stopping the broker on Windows - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,22 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>3.2. Starting/Stopping the broker on Windows</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.2. Starting/Stopping the broker on Windows</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Getting Started</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html" [...]
+ and ensure that the <a class="link" href="Java-Broker-Installation-InstallationWindows.html#Java-Broker-Installation-InstallationWindows-SettingQPIDWORK" title="2.4.1. Setting the working directory">QPID_WORK environment variable is set</a>.</p><p>Now use the <span class="command"><strong>qpid-server.bat</strong></span> to start the server</p><pre class="programlisting">bin\qpid-server.bat</pre><p>Output similar to the following will be seen:</p><pre class="screen">[Broker] BR [...]
+[Broker] BRK-1001 : Startup : Version: 8.0.5 Build: 1478262
+[Broker] BRK-1010 : Platform : JVM : Oracle Corporation version: 1.8.0_144-b01 OS : Windows 7 version: 6.1 arch: x86 cores: 4
+[Broker] BRK-1011 : Maximum Memory : Heap : 518,979,584 bytes Direct : 1,610,612,736 bytes
+[Broker] BRK-1002 : Starting : Listening on TCP port 5672
+[Broker] MNG-1001 : Web Management Startup
+[Broker] MNG-1002 : Starting : HTTP : Listening on port 8080
+[Broker] MNG-1004 : Web Management Ready
+[Broker] BRK-1004 : Qpid Broker Ready</pre><p>The BRK-1004 message confirms that the Broker is ready for work. The MNG-1002 and BRK-1002 confirm the ports on
+ which the Broker is listening (for HTTP management and AMQP respectively).</p><p>To stop the Broker, use Control-C from the controlling command prompt or
+ <a class="link" href="Java-Broker-Management-Channel-REST-API.html#Java-Broker-Management-Channel-REST-API-Operations" title="6.3.8. Configured Object operations">REST operation broker/shutdown</a>.
+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Getting-Started.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Getting-Started.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter  [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started.html
similarity index 64%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started.html
index ac2f32f..5900afd 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-Getting-Started.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>Chapter 3. Getting Started - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,17 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Chapter 3. Getting Started</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Getting Started</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Installation-OptionalDependencies.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Next</a></td></tr></t [...]
+ This section describes how to start and stop the Broker, and outlines the various command line options.
+ </p><p>
+ For additional details about the broker configuration store and related command line arguments see
+ <a class="xref" href="Java-Broker-Initial-Configuration.html" title="Chapter 5. Initial Configuration">Chapter 5, <em>Initial Configuration</em></a>.
+ The broker is fully configurable via its Web Management Console, for details of this see
+ <a class="xref" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2. Web Management Console">Section 6.2, “Web Management Console”</a>.
+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Installation-OptionalDependencies.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Optional Dependencies </td>< [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Backup.html
similarity index 65%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Backup.html
index ac2f32f..f01a871 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Backup.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>10.10. Backups - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,11 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>10.10. Backups</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.10. Backups</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Security.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-Reset-Group-Infomational.html">Next</a></t [...]
+ group. <a class="xref" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html#Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB-HA" title="11.2.2. BDB-HA">Section 11.2.2, “BDB-HA”</a>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Security.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Behaviour.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Behaviour.html
new file mode 100644
index 0000000..161949c
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Behaviour.html
@@ -0,0 +1,239 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>10.4. Behaviour of the Group - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>10.4. Behaviour of the Group</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.4. Behaviour of the Group</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-CreatingGroup.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-NodeOperations.html">Ne [...]
+ then goes on to talk about the various controls that are available to override it. It
+ describes the controls available that affect the <a class="link" href="http://en.wikipedia.org/wiki/ACID#Durability" target="_top">durability</a> of transactions and
+ the data consistency between the master and replicas and thus make trade offs between
+ performance and reliability.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-Default-Behaviour" />10.4.1. Default Behaviour</h3></div></div></div><p>Let's first look at the behaviour of a group in default configuration.</p><p>In the default configuration, for any messaging work to be done, there must be at least
+ <span class="emphasis"><em>quorum</em></span> nodes present. This means for example, in a three node group,
+ this means there must be at least two nodes available.</p><p>When a messaging client sends a transaction, it can be assured that, before the control
+ returns back to his application after the commit call that the following is true:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>At the master, the transaction is <span class="emphasis"><em>written to disk and OS level caches
+ are flushed</em></span> meaning the data is on the storage device.</p></li><li class="listitem"><p>At least quorum minus 1 replicas, <span class="emphasis"><em>acknowledge the receipt of
+ transaction</em></span>. The replicas will write the data to the storage device
+ sometime later.</p></li></ul></div><p>If there were to be a master failure immediately after the transaction was committed,
+ the transaction would be held by at least quorum minus one replicas. For example, if we had
+ a group of three, then we would be assured that at least one replica held the
+ transaction.</p><p>In the event of a master failure, if quorum nodes remain, those nodes hold an election.
+ The nodes will elect master the node with the most recent transaction. If two or more nodes
+ have the most recent transaction the group makes an arbitrary choice. If quorum number of
+ nodes does not remain, the nodes cannot elect a new master and will wait until nodes rejoin.
+ You will see later that manual controls are available allow service to be restored from
+ fewer than quorum nodes and to influence which node gets elected in the event of a
+ tie.</p><p>Whenever a group has fewer than quorum nodes present, the virtualhost will be
+ unavailable and messaging connections will be refused. If quorum disappears at the very
+ moment a messaging client sends a transaction that transaction will fail.</p><p>You will have noticed the difference in the synchronization policies applied the master
+ and the replicas. The replicas send the acknowledgement back before the data is written to
+ disk. The master synchronously writes the transaction to storage. This is an example of a
+ trade off between durability and performance. We will see more about how to control this
+ trade off later.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-SynchronizationPolicy" />10.4.2. Synchronization Policy</h3></div></div></div><p>The <span class="emphasis"><em>synchronization policy</em></span> dictates what a node must do when it
+ receives a transaction before it acknowledges that transaction to the rest of the
+ group.</p><p>The following options are available: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>SYNC</em></span>. The node must write the transaction to disk and flush
+ any OS level buffers before sending the acknowledgement. SYNC is offers the highest
+ durability but offers the least performance.</p></li><li class="listitem"><p><span class="emphasis"><em>WRITE_NO_SYNC</em></span>. The node must write the transaction to disk
+ before sending the acknowledgement. OS level buffers will be flush as some point
+ later. This typically provides an assurance against failure of the application but not
+ the operating system or hardware.</p></li><li class="listitem"><p><span class="emphasis"><em>NO_SYNC</em></span>. The node immediately sends the acknowledgement. The
+ transaction will be written and OS level buffers flushed as some point later. NO_SYNC
+ offers the highest performance but the lowest durability level. This synchronization
+ policy is sometimes known as <span class="emphasis"><em>commit to the network</em></span>.</p></li></ul></div><p>It is possible to assign a one policy to the master and a different policy to the
+ replicas. These are configured as <a class="link" href="Java-Broker-Management-Managing-Virtualhosts.html#Java-Broker-Management-Managing-Virtualhost-Attributes" title="7.4.3. Attributes">
+ attributes <span class="emphasis"><em>localTransactionSynchronizationPolicy</em></span> and
+ <span class="emphasis"><em>remoteTransactionSynchronizationPolicy</em></span> on the virtualhost</a>.
+ By default the master uses <span class="emphasis"><em>SYNC</em></span> and replicas use
+ <span class="emphasis"><em>NO_SYNC</em></span>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-NodePriority" />10.4.3. Node Priority</h3></div></div></div><p>Node priority can be used to influence the behaviour of the election algorithm. It is
+ useful in the case were you want to favour some nodes over others. For instance, if you wish
+ to favour nodes located in a particular data centre over those in a remote site. </p><p>
+ A new master is elected among nodes with the most current set of log files. When there is a tie,
+ the priority is used as a tie-breaker to select amongst these nodes.
+ </p><p>
+ The node priority is set as an integer value. A priority of zero is used to ensure that a node cannot
+ be elected master, even if it has the most current set of files.
+ </p><p>For convenience, the Web Management Console uses user friendly names for the priority integer values
+ in range from 0 to 3 inclusive. The following priority options are available: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Highest</em></span>. Nodes with this priority will be more favoured. In
+ the event of two or more nodes having the most recent transaction, the node with this
+ priority will be elected master. If two or more nodes have this priority the algorithm
+ will make an arbitrary choice. The priority value for option <span class="emphasis"><em>Highest</em></span> is <span class="emphasis"><em>3</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>High</em></span>. Nodes with this priority will be favoured but not as
+ much so as those with Highest. The priority value for this option is <span class="emphasis"><em>2</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>Normal</em></span>. This is a default election priority.
+ The priority value for this option is <span class="emphasis"><em>1</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>Never</em></span>. The node will never be elected <span class="emphasis"><em>even if the
+ node has the most recent transaction</em></span>. The node will still keep up to date
+ with the replication stream and will still vote itself, but can just never be
+ elected. The priority value for this option is <span class="emphasis"><em>0</em></span>.</p></li></ul></div><p>
+ </p><p>Node priority is configured as an <a class="link" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes" title="7.3.2. Attributes">
+ attribute <span class="emphasis"><em>priority</em></span> on the virtualhost node</a> and can be changed
+ at runtime and is effective immediately.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Use of the Never priority can lead to transaction loss. For example, consider a group
+ of three where replica-2 is marked as Never. If a transaction were to arrive and it be
+ acknowledged only by Master and Replica-2, the transaction would succeed. Replica 1 is
+ running behind for some reason (perhaps a full-GC). If a Master failure were to occur at
+ that moment, the replicas would elect Replica-1 even though Replica-2 had the most recent
+ transaction.</p><p>Transaction loss is reported by message <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-HA-1014">HA-1014</a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-MinimumNumberOfNodes" />10.4.4. Required Minimum Number Of Nodes</h3></div></div></div><p>This controls the required minimum number of nodes to compl [...]
+ elect a new master. By default, the required number of nodes is set to
+ <span class="emphasis"><em>Default</em></span> (which signifies quorum).</p><p>It is possible to reduce the required minimum number of nodes. The rationale for doing
+ this is normally to temporarily restore service from fewer than quorum nodes following an
+ extraordinary failure.</p><p>For example, consider a group of three. If one node were to fail, as quorum still
+ remained, the system would continue work without any intervention. If the failing node were
+ the master, a new master would be elected.</p><p>What if a further node were to fail? Quorum no longer remains, and the remaining node
+ would just wait. It cannot elect itself master. What if we wanted to restore service from
+ just this one node?</p><p>In this case, Required Number of Nodes can be reduced to 1 on the remain node, allowing
+ the node to elect itself and service to be restored from the singleton. Required minimum
+ number of nodes is configured as an <a class="link" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes" title="7.3.2. Attributes">
+ attribute <span class="emphasis"><em>quorumOverride</em></span> on the virtualhost node</a> and can be changed
+ at runtime and is effective immediately.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>The attribute must be used cautiously. Careless use will lead to lost transactions and
+ can lead to a <a class="link" href="http://en.wikipedia.org/wiki/Split-brain_(computing)" target="_top">split-brain</a> in the event of a network partition. If used to temporarily restore
+ service from fewer than quorum nodes, it is <span class="emphasis"><em>imperative</em></span> to revert it
+ to the Default value as the failed nodes are restored.</p><p>Transaction loss is reported by message <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-HA-1014">HA-1014</a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-DesignatedPrimary" />10.4.5. Allow to Operate Solo</h3></div></div></div><p>This attribute only applies to [...]
+ as quorum no longer exists. A single node cannot elect itself master. </p><p>The <code class="literal">allow to operate solo</code> flag allows a node in a two node group to elect itself master and
+ to operate sole. It is configured as an <a class="link" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes" title="7.3.2. Attributes">
+ attribute <span class="emphasis"><em>designatedPrimary</em></span> on the virtualhost node</a> and can be changed
+ at runtime and is effective immediately.</p><p>For example, consider a group of two where the master fails. Service will be interrupted
+ as the remaining node cannot elect itself master. To allow it to become master, apply the
+ <code class="literal">allow to operate solo</code> flag to it. It will elect itself master and work can continue, albeit
+ from one node.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>It is imperative not to allow the <code class="literal">allow to operate solo</code> flag to be set on both nodes at once. To
+ do so will mean, in the event of a network partition, a <a class="link" href="http://en.wikipedia.org/wiki/Split-brain_(computing)" target="_top">split-brain</a> will
+ occur.</p><p>Transaction loss is reported by message <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-HA-1014">HA-1014</a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-MaximumMessageSize" />10.4.6. Maximum message size</h3></div></div></div><p>
+ Internally, BDB JE HA restricts the maximum size of replication stream records passed from the master
+ to the replica(s). This helps prevent DOS attacks.
+ If expected application maximum message size is greater than 5MB, the BDB JE setting
+ <code class="literal">je.rep.maxMessageSize</code> and Qpid context variable <code class="literal">qpid.max_message_size</code>
+ needs to be adjusted to reflect this in order to avoid running into the BDB HA JE limit.
+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-CreatingGroup.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-NodeOperations.html">Next</a></td></tr><tr><td width="40%" align="left" valign [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-ClientFailover.html
similarity index 65%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-ClientFailover.html
index ac2f32f..7c0f9cd 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-ClientFailover.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>10.6. Client failover - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,14 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>10.6. Client failover</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.6. Client failover</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-NodeOperations.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-DiskSpace.html">Next</a></td> [...]
+ virtualhost within the group.</p><p>Clients can do this using a static technique, for example , utilising the failover feature of the Apache Qpid
+ JMS and Apache Qpid JMS AMQP 0-x clients where the client has a list of all the nodes, and tries each node in
+ sequence until it discovers the node with the active virtualhost.</p><p>Another possibility is a dynamic technique utilising a proxy or Virtual IP (VIP). These
+ require other software and/or hardware and are outside the scope of this document.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-NodeOperations.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-D [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-CreatingGroup.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-CreatingGroup.html
new file mode 100644
index 0000000..0817dd7
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-CreatingGroup.html
@@ -0,0 +1,185 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>10.3. Creating a group - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>10.3. Creating a group</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.3. Creating a group</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-OverviewOfHA.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-Behaviour.html">Next</a></td>< [...]
+ first creating the first node standalone, then creating subsequent nodes referencing the first
+ node so the nodes can introduce themselves and gradually the group is built up.</p><p>A group is created through either <a class="link" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2. Web Management Console">Web Management</a>
+ or the <a class="link" href="Java-Broker-Management-Channel-REST-API.html" title="6.3. REST API">REST API</a>
+ or the initial configuration (<a class="xref" href="Java-Broker-Appendix-BDB-HA-initial-configuration.html" title="Appendix H. BDB HA initial configuration">Appendix H, <em>BDB HA initial configuration</em></a>
+ illustrates how to use initial configuration for BDB HA group creation).
+ These instructions presume you are using Web Management. To illustrate the example it builds the group
+ illustrated in figure <a class="xref" href="Java-Broker-High-Availability-OverviewOfHA.html#Java-Broker-High-Availability-OverviewOfHA-Figure" title="Figure 10.1. 3-node group deployed across three Brokers.">Figure 10.1, “3-node group deployed across three Brokers.”</a></p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Install a Broker on each machine that will be used to host the group. As messaging
+ clients will need to be able to connect to and authentication to all Brokers, it usually
+ makes sense to choose a common authentication mechanism e.g. Simple LDAP Authentication,
+ External with SSL client authentication or Kerberos.</p></li><li class="listitem"><p>Select one Broker instance to host the first node instance. This choice is an
+ arbitrary one. The node is special only whilst creating group. Once creation is
+ complete, all nodes will be considered equal.</p></li><li class="listitem"><p>Click the <code class="literal">Add</code> button on the Virtualhost Panel on the Broker
+ tab.</p><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>Give the Virtualhost node a unique name e.g. <code class="literal">weather1</code>. The
+ name must be unique within the group and unique to that Broker. It is best if the
+ node names are chosen from a different nomenclature than the machine names
+ themselves.</p></li><li class="listitem"><p>Choose <code class="literal">BDB_HA</code> and select <code class="literal">New group</code>
+ </p></li><li class="listitem"><p>Give the group a name e.g. <code class="literal">weather</code>. The group name must be
+ unique and will be the name also given to the virtualhost, so this is the name the
+ messaging clients will use in their connection url.</p></li><li class="listitem"><p>Give the address of this node. This is an address on this node's host that
+ will be used for replication purposes. The hostname <span class="emphasis"><em>must</em></span> be
+ resolvable by all the other nodes in the group. This is separate from the address
+ used by messaging clients to connect to the Broker. It is usually best to choose a
+ symbolic name, rather than an IP address.</p></li><li class="listitem"><p>Now add the node addresses of all the other nodes that will form the group. In
+ our example we are building a three node group so we give the node addresses of
+ <code class="literal">chaac:5000</code> and <code class="literal">indra:5000</code>.</p></li><li class="listitem"><p>Click Add to create the node. The virtualhost node will be created with the
+ virtualhost. As there is only one node at this stage, the role will be
+ master.</p></li></ol></div><p>
+ </p><div class="figure"><a id="d0e6856" /><p class="title"><strong>Figure 10.2. Creating 1st node in a group</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/HA-Create-1.png" height="360" alt="Creating 1st node in a group" /></td></tr></table></div></div></div><p><br class="figure-break" />
+ </p></li><li class="listitem"><p>Now move to the second Broker to be the group. Click the <code class="literal">Add</code>
+ button on the Virtualhost Panel on the Broker tab of the second Broker.</p><p>
+ </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>Give the Virtualhost node a unique name e.g.
+ <code class="literal">weather2</code>.</p></li><li class="listitem"><p>Choose <code class="literal">BDB_HA</code> and choose <code class="literal">Existing group</code>
+ </p></li><li class="listitem"><p>Give the details of the <span class="emphasis"><em>existing node</em></span>. Following our
+ example, specify <code class="literal">weather</code>, <code class="literal">weather1</code> and
+ <code class="literal">thor:5000</code></p></li><li class="listitem"><p>Give the address of this node.</p></li><li class="listitem"><p>Click Add to create the node. The node will use the existing details to
+ contact it and introduce itself into the group. At this stage, the group will have
+ two nodes, with the second node in the replica role.</p></li><li class="listitem"><p>Repeat these steps until you have added all the nodes to the group.</p></li></ol></div><p>
+ </p><div class="figure"><a id="d0e6914" /><p class="title"><strong>Figure 10.3. Adding subsequent nodes to the group</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/HA-Create-2.png" height="360" alt="Adding subsequent nodes to the group" /></td></tr></table></div></div></div><p><br class="figure-break" />
+ </p></li></ol></div><p>The group is now formed and is ready for us. Looking at the virtualhost node of any of the
+ nodes shows a complete view of the whole group. </p><div class="figure"><a id="d0e6926" /><p class="title"><strong>Figure 10.4. View of group from one node</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/HA-Create-3.png" height="360" alt="View of group from one node" /></td></tr></table></div></div></div><p><br clas [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-DiskSpace.html
similarity index 65%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-DiskSpace.html
index ac2f32f..b9257e3 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-DiskSpace.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>10.7. Disk space requirements - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,13 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>10.7. Disk space requirements</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.7. Disk space requirements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-ClientFailover.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-Network-Requirements. [...]
+ for them to allow them to return to the replica role quickly.</p><p>By default, the master will retain up to 1hour of missed transactions. In a busy
+ production system, the disk space occupied could be considerable.</p><p>This setting is controlled by virtualhost context variable
+ <code class="literal">je.rep.repStreamTimeout</code>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-ClientFailover.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-Network-Requirements.html">N [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Network-Requirements.html
similarity index 65%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Network-Requirements.html
index ac2f32f..6180c8a 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Network-Requirements.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>10.8. Network Requirements - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,14 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>10.8. Network Requirements</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.8. Network Requirements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-DiskSpace.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-Security.html">Next</a></td>< [...]
+ and quality of service.</p><p>In order to achieve the best performance it is recommended to use a separate network
+ infrastructure for the Qpid HA Nodes which might include installation of dedicated network
+ hardware on Broker hosts, assigning a higher priority to replication ports, installing a group
+ in a separate network not impacted by any other traffic.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-DiskSpace.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-Security.html">Next</a></td></tr [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.1.2/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-NodeOperations.html
similarity index 51%
copy from content/releases/qpid-broker-j-7.1.2/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-NodeOperations.html
index 69ddd85..5c1f65d 100644
--- a/content/releases/qpid-broker-j-7.1.2/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-NodeOperations.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.1.2 - Apache Qpid™</title>
+ <title>10.5. Node Operations - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,30 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.1.2</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>10.5. Node Operations</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-712">Qpid Broker-J 7.1.2</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.2/apache-qpid-broker-j-7.1.2-src.tar.gz">apache-qpid-broker-j-7.1.2-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/apache-qpid-broker-j-7.1.2-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/apache-qpid-broker-j-7.1.2-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.tar.gz">apache-qpid-broker-j-7.1.2-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.zip">apache-qpid-broker-j-7.1.2-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.1.2/binaries/apache-qpid-broker-j-7.1.2-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.1.2">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.1.2%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.1.2">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.1.2" === "8.0.4" || "7.1.2" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.5. Node Operations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Behaviour.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-ClientFailover.html">Next</a></td> [...]
+ messaging clients will be disconnected and any in-flight transaction rollbacked. The
+ remaining nodes will elect a new master if quorum number of nodes still remains.</p><p>Stopping a replica node will cause the node to temporarily leave the group too.
+ Providing quorum still exists, the current master will continue without interruption. If
+ by leaving the group, quorum no longer exists, all the nodes will begin waiting,
+ disconnecting any messaging clients, and the virtualhost will become unavailable.</p><p>A stopped virtualhost node is still considered to be a member of the group.</p></li><li class="listitem"><p><span class="emphasis"><em>Start</em></span></p><p>Starting a virtualhost node allows it to rejoin the group.</p><p>If the group already has a master, the node will catch up from the master and then
+ become a replica once it has done so.</p><p>If the group did not have quorum and so had no master, but the rejoining of this
+ node means quorum now exists, an election will take place. The node with the most up to
+ date transaction will become master unless influenced by the priority rules described
+ above.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The length of time taken to catch up will depend on how long the node has been
+ stopped. The worst case is where the node has been stopped for more than one hour. In
+ this case, the master will perform an automated <code class="literal">network restore</code>.
+ This involves streaming all the data held by the master over to the replica. This
+ could take considerable time.</p></div></li><li class="listitem"><p><span class="emphasis"><em>Delete</em></span></p><p>A virtualhost node can be deleted. Deleting a node permanently removes the node from
+ the group. The data stored locally is removed but this does not affect the data held by
+ the remainder of the group.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The names of deleted virtualhost node cannot be reused within a group.</p></div></li></ul></div><p>It is also possible to add nodes to an existing group using the procedure described
+ above.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-NodeOperations-TransferMaster" />10.5.2. Transfer Master</h3></div></div></div><p>This operation allows the mastership to be moved from node to node. This is useful for
+ restoring a business as usual state after a failure.</p><p>When using this function, the following occurs. </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>The system first gives time for the chosen new master to become reasonable up to
+ date. </p></li><li class="listitem"><p>It then suspends transactions on the old master and allows the chosen node to
+ become up to date.</p></li><li class="listitem"><p>The suspended transactions are aborted and any messaging clients connected to the
+ old master are disconnected.</p></li><li class="listitem"><p>The chosen master becomes the new master. The old master becomes a replica.</p></li><li class="listitem"><p>Messaging clients reconnect the new master.</p></li></ol></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Behaviour.html">Prev</a> </td><td width="20%" align="center"><a ac [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-OverviewOfHA.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-OverviewOfHA.html
new file mode 100644
index 0000000..5e489b5
--- /dev/null
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-OverviewOfHA.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements. See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership. The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied. See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>10.2. High Availability Overview - Apache Qpid™</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+ <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+ <script type="text/javascript">var _deferredFunctions = [];</script>
+ <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+ <!--[if lte IE 8]>
+ <link rel="stylesheet" href="/ie.css" type="text/css"/>
+ <script type="text/javascript" src="/html5shiv.js"></script>
+ <![endif]-->
+
+ <!-- Redirects for `go get` and godoc.org -->
+ <meta name="go-import"
+ content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
+ <meta name="go-source"
+ content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+ </head>
+ <body>
+ <div id="-content">
+ <div id="-top" class="panel">
+ <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+ <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
+
+ <ul id="-global-navigation">
+ <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/download.html">Download</a></li>
+ <li><a href="/discussion.html">Discussion</a></li>
+ </ul>
+ </div>
+
+ <div id="-menu" class="panel" style="display: none;">
+ <div class="flex">
+ <section>
+ <h3>Project</h3>
+
+ <ul>
+ <li><a href="/overview.html">Overview</a></li>
+ <li><a href="/components/index.html">Components</a></li>
+ <li><a href="/releases/index.html">Releases</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Messaging APIs</h3>
+
+ <ul>
+ <li><a href="/proton/index.html">Qpid Proton</a></li>
+ <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+ <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Servers and tools</h3>
+
+ <ul>
+ <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+ <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
+ <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
+ </ul>
+ </section>
+
+ <section>
+ <h3>Resources</h3>
+
+ <ul>
+ <li><a href="/dashboard.html">Dashboard</a></li>
+ <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
+ <li><a href="/resources.html">More resources</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+
+ <div id="-search" class="panel" style="display: none;">
+ <form action="http://www.google.com/search" method="get">
+ <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+ <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+ <button type="submit">Search</button>
+ <a href="/search.html">More ways to search</a>
+ </form>
+ </div>
+
+ <div id="-middle" class="panel">
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>10.2. High Availability Overview</li></ul>
+
+ <div id="-middle-content">
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.2. High Availability Overview</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-CreatingGroup.html">Next</a></td> [...]
+ When using HA, many instances of the Broker work together to form an high availability group of two or more nodes.</p><p>The remainder of this section now talks about the specifics of how HA is achieved in terms
+ of the <a class="link" href="Java-Broker-Concepts.html" title="Chapter 4. Concepts">concepts</a> introduced earlier in this
+ book.</p><p>The <a class="link" href="Java-Broker-Concepts-Virtualhosts.html" title="4.5. Virtualhosts">Virtualhost</a> is the unit of
+ replication. This means that any <span class="emphasis"><em>durable</em></span> queues, exchanges, and bindings
+ belonging to that virtualhost, any <span class="emphasis"><em>persistent</em></span> messages contained within
+ the queues and any attribute settings applied to the virtualhost itself are automatically
+ replicated to all nodes within the group.<a href="#ftn.d0e6741" class="footnote" id="d0e6741"><sup class="footnote">[11]</sup></a></p><p>It is the <a class="link" href="Java-Broker-Concepts-Virtualhost-Nodes.html" title="4.3. Virtualhost Nodes">Virtualhost Nodes</a>
+ (from different Broker instances) that join together to form a group. The virtualhost nodes
+ collectively to coordinate the group: they organise replication between the master and
+ replicas and conduct elections to determine who becomes the new master in the event of the old
+ failing.</p><p>When a virtualhost node is in the <span class="emphasis"><em>master</em></span> role, the virtualhost
+ beneath it is available for messaging work. Any write operations sent to the virtualhost are
+ automatically replicated to all other nodes in group.</p><p>When a virtualhost node is in the <span class="emphasis"><em>replica</em></span> role, the virtualhost
+ beneath it is always unavailable for message work. Any attempted connections to a virtualhost
+ in this state are automatically turned away, allowing a messaging client to discover where the
+ master currently resides. When in replica role, the node sole responsibility is to consume a
+ replication stream in order that it remains up to date with the master.</p><p>Messaging clients discover the active virtualhost.This can be achieved using a static
+ technique (for instance, a failover url (a feature of the Apache Qpid JMS and Apache Qpid JMS AMQP 0-x clients),
+ or a dynamic one utilising some kind of proxy or virtual IP (VIP).</p><p>The figure that follows illustrates a group formed of three virtualhost nodes from three
+ separate Broker instances. A client is connected to the virtualhost node that is in the master
+ role. The two virtualhost nodes <code class="literal">weather1</code> and <code class="literal">weather3</code>
+ are replicas and are receiving a stream of updates.</p><div class="figure"><a id="Java-Broker-High-Availability-OverviewOfHA-Figure" /><p class="title"><strong>Figure 10.1. 3-node group deployed across three Brokers.</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/HA-Overview.png" height="360" alt="Diagram showing a [...]
+ this leverages the HA capabilities of the Berkeley DB JE edition.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The HA solution from the Apache Qpid Broker-J is incompatible with the HA solution offered by the CPP
+ Broker. It is not possible to co-locate Qpid Broker-J and CPP Brokers within the same group.</p></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.d0e6741" class="footnote"><p><a href="#d0e6741" class="para"><sup class="para">[11] </sup></a>Transient messages and messages on non-durable queues are not replicated.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40% [...]
+
+ <hr/>
+
+ <ul id="-apache-navigation">
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+ <li><a href="/security.html">Security</a></li>
+ <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
+ </ul>
+
+ <p id="-legal">
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015
+ The Apache Software Foundation; Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+ License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+ Proton, Apache, the Apache feather logo, and the Apache Qpid
+ project logo are trademarks of The Apache Software
+ Foundation; All other marks mentioned may be trademarks or
+ registered trademarks of their respective owners
+ </p>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Reset-Group-Infomational.html
similarity index 63%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Reset-Group-Infomational.html
index ac2f32f..132033a 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Reset-Group-Infomational.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>10.11. Reset Group Information - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,17 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>10.11. Reset Group Information</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.11. Reset Group Information</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Backup.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Backup-And-Recovery.html">Next</a></td></tr></ [...]
+ circumstances when resetting this information is useful.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Copying data between environments (e.g. production to UAT)</p></li><li class="listitem"><p>Some disaster recovery situations where a group must be recreated on new
+ hardware</p></li></ul></div><p>This is not an normal operation and is not usually required</p><p>The following command replaces the group table contained within the JE logs files with the
+ provided information. </p><div class="example"><a id="d0e7301" /><p class="title"><strong>Example 10.1. Resetting of replication group with <code class="classname">DbResetRepGroup</code></strong></p><div class="example-contents"><div class="cmdsynopsis"><p><code class="command">java</code> -cp je-7.4.5.jar com.sleepycat.je.rep.util.DbResetRepGroup -h <em class="replaceable"><code>path/to/jelogfiles</code></em> <br /> -groupName <em class="replaceable"><code>newgrou [...]
+ <code class="literal">${QPID_WORK}/<nodename>/config</code> directory of a target Broker. Then
+ start the Broker, and add a BDB HA Virtualhost node specify the same group name, node name and
+ node address. You will then have a group with a single node, ready to start re-adding
+ additional nodes as described above. </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Backup.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Backup-And-Recovery.html">Next</a></td></tr><tr><td width="40%" align="l [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Security.html
similarity index 65%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Security.html
index ac2f32f..9389a91 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability-Security.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>10.9. Security - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,12 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>10.9. Security</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz">apache-qpid-broker-j-7.0.8-bin.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.tar.gz.sha512">SHA512</a></td>
-</tr>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip">apache-qpid-broker-j-7.0.8-bin.zip</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/binaries/apache-qpid-broker-j-7.0.8-bin.zip.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="documentation">Documentation</h2>
-
-<div class="two-column">
-
-<ul>
-<li><a href="book/Java-Broker-Installation.html">Installing Qpid Broker-J</a></li>
-<li><a href="book/index.html">Broker book</a></li>
-</ul>
-
-</div>
-
-<h2 id="more-information">More information</h2>
-
-<ul>
-<li><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8">All release artefacts</a></li>
-<li><a href="https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-java-broker-7.0.8%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC">Resolved issues in JIRA</a></li>
-<li><a href="https://gitbox.apache.org/repos/asf/qpid-broker-j.git/tree/refs/tags/7.0.8">Source repository tag</a></li>
-</ul>
-
-<script type="text/javascript">
- _deferredFunctions.push(function() {
- if ("7.0.8" === "8.0.4" || "7.0.8" === "7.1.12") {
- _modifyCurrentReleaseLinks();
- }
- });
-</script>
-
+ <div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.9. Security</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Network-Requirements.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-Backup.html">Next</a></td></tr [...]
+ intercepted by anyone having access to the replication network.</p><p>In order to reduce the security risks the entire HA group is recommended to run in a
+ separate network protected from general access and/or utilise SSH-tunnels/IPsec.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Network-Requirements.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availabili [...]
<hr/>
diff --git a/content/releases/qpid-broker-j-7.0.8/index.html b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability.html
similarity index 50%
copy from content/releases/qpid-broker-j-7.0.8/index.html
copy to content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability.html
index ac2f32f..38d744b 100644
--- a/content/releases/qpid-broker-j-7.0.8/index.html
+++ b/content/releases/qpid-broker-j-8.0.5/book/Java-Broker-High-Availability.html
@@ -21,7 +21,7 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>Qpid Broker-J 7.0.8 - Apache Qpid™</title>
+ <title>Chapter 10. High Availability - Apache Qpid™</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,92 +111,19 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</div>
<div id="-middle" class="panel">
- <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Broker-J 7.0.8</li></ul>
+ <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-8.0.5/index.html">Qpid Broker-J 8.0.5</a></li><li><a href="/releases/qpid-broker-j-8.0.5/book/index.html">Apache Qpid Broker-J</a></li><li>Chapter 10. High Availability</li></ul>
<div id="-middle-content">
- <h1 id="qpid-broker-j-708">Qpid Broker-J 7.0.8</h1>
-
-<p><a href="/components/broker-j/index.html">Qpid Broker-J</a> is a message broker written in Java that stores, routes,
-and forwards messages using AMQP 1.0, 0-10, 0-9-1, 0-9 and 0-8. More about
-<a href="/index.html">Qpid</a>.</p>
-
-<p>For a detailed list of the changes in this release, see the <a href="release-notes.html">release
-notes</a>.</p>
-
-<p>It's important to <a href="/download.html#verify-what-you-download">verify the
-integrity</a> of the
-files you download.</p>
-
-<h2 id="source-archives">Source archives</h2>
-
-<table>
-<thead>
-<tr>
- <th>Content</th>
- <th>Download</th>
- <th>Verify</th>
-</tr>
-</thead>
-<tbody>
-<tr>
- <td>Qpid Broker-J</td>
- <td><a href="http://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz">apache-qpid-broker-j-7.0.8-src.tar.gz</a></td>
- <td><a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.asc">ASC</a>, <a href="https://archive.apache.org/dist/qpid/broker-j/7.0.8/apache-qpid-broker-j-7.0.8-src.tar.gz.sha512">SHA512</a></td>
-</tr>
-</tbody>
-</table>
-
-<h2 id="binaries">Binaries</h2>
-
... 9516 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org