http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Security.html
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Security.html
 
b/content/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Security.html
new file mode 100644
index 0000000..1cedacd
--- /dev/null
+++ 
b/content/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Security.html
@@ -0,0 +1,295 @@
+<!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&#160;8.&#160;Security - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git 
https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" 
alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache 
Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid 
Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/java-broker/index.html">Broker for 
Java</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-master/index.html">Qpid Broker-J documentation 
snapshot</a></li><li><a 
href="/releases/qpid-broker-j-master/java-broker/book/index.html">Apache Qpid 
Broker for Java</a></li><li>Chapter&#160;8.&#160;Security</li></ul>
+
+        <div id="-middle-content">
+          <div class="docbook"><div class="navheader"><table 
summary="Navigation header" width="100%"><tr><th align="center" 
colspan="3">Chapter&#160;8.&#160;Security</th></tr><tr><td align="left" 
width="20%"><a accesskey="p" 
href="Java-Broker-Management-Managing-Plugin-HTTP.html">Prev</a>&#160;</td><th 
align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a 
accesskey="n" 
href="Java-Broker-Security-Group-Providers.html">Next</a></td></tr></table><hr 
/></div><div class="chapter"><div class="titlepage"><div><div><h1 
class="title"><a 
id="Java-Broker-Security"></a>Chapter&#160;8.&#160;Security</h1></div></div></div><div
 class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span 
class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-Authentication-Providers">8.1.
 Authentication Providers</a></span></dt><dd><dl><dt><span class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-LDAP-Provider">8.1.1. 
Simple LDAP</a></s
 pan></dt><dt><span class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-Kerberos-Provider">8.1.2. 
Kerberos</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-OAuth2-Provider">8.1.3. 
OAuth2</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-External-Provider">8.1.4. 
External (SSL Client Certificates)</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-Anonymous-Provider">8.1.5. 
Anonymous</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-ScramSha-Providers">8.1.6. 
SCRAM SHA</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-Plain-Provider">8.1.7. 
Plain</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-PlainPasswordFile-Provider">8.1.8.
 Plain Password File <span class="emphasis"><em>(Deprecated)
 </em></span></a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-MD5-Provider">8.1.9. MD5 
Provider</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security.html#Java-Broker-Security-Base64MD5PasswordFile-Provider">8.1.10.
 Base64MD5 Password File <span 
class="emphasis"><em>(Deprecated)</em></span></a></span></dt></dl></dd><dt><span
 class="section"><a href="Java-Broker-Security-Group-Providers.html">8.2. Group 
Providers</a></span></dt><dd><dl><dt><span class="section"><a 
href="Java-Broker-Security-Group-Providers.html#File-Group-Manager">8.2.1. 
GroupFile Provider</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security-Group-Providers.html#Java-Broker-Security-Group-Providers-ManagedGroupProvider">8.2.2.
 ManagedGroupProvider</a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security-Group-Providers.html#Java-Broker-Security-Group-Providers-CloudFoundry">8.2.3.
 CloudFoundryDashboardManagementGroupProvi
 der</a></span></dt></dl></dd><dt><span class="section"><a 
href="Java-Broker-Security-ACLs.html">8.3. Access Control 
Lists</a></span></dt><dd><dl><dt><span class="section"><a 
href="Java-Broker-Security-ACLs.html#Java-Broker-Security-ACLs-WriteACL">8.3.1. 
+       Writing .acl files
+    </a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security-ACLs.html#Java-Broker-Security-ACLs-Syntax">8.3.2. 
+       Syntax
+    </a></span></dt><dt><span class="section"><a 
href="Java-Broker-Security-ACLs.html#Java-Broker-Security-ACLs-WorkedExamples">8.3.3.
 
+      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-Alternate-Implementations">8.4.2.
 Alternate Implementations</a></span></dt></dl></dd></dl></div><div 
class="section"><div class="titlepage"><div><div><h2 class="title" 
style="clear: both"><a 
id="Java-Broker-Security-Authentication-Providers"></a>8.1.&#160;Authentication 
Providers</h2></div></div></div><p> In order to successfully establish a 
connection to the Broker, the connection must be
+    authenticated. The Broker supports a number of different authentication 
schemes, each with
+    its own "authentication provider". Any number of Authentication Providers 
can be configured on
+    the Broker at the same time. </p><div class="important" 
style="margin-left: 0.5in; margin-right: 0.5in;"><h3 
class="title">Important</h3><p> Only unused Authentication Provider can be 
deleted. For delete requests attempting to
+      delete Authentication Provider associated with the Ports, the errors 
will be returned and
+      delete operations will be aborted. It is possible to change the 
Authentication Provider on
+      Port at runtime. However, the Broker restart is required for changes on 
Port to take effect.
+    </p></div><div class="note" style="margin-left: 0.5in; margin-right: 
0.5in;"><h3 class="title">Note</h3><p>
+      Authentication Providers may choose to selectively disable certain 
authentication mechanisms
+      depending on whether an encrypted transport is being used or not. This 
is to avoid insecure
+      configurations. Notably, by default the PLAIN mechanism will be disabled 
on non-SSL
+      connections. This security feature can be overwritten by setting
+      </p><pre class="programlisting">secureOnlyMechanisms = []</pre><p> in 
the authentication provider
+      section of the config.json.
+      </p><div class="warning" style="margin-left: 0.5in; margin-right: 
0.5in;"><h3 class="title">Warning</h3><p>
+          Changing the secureOnlyMechanism is a breach of security and might 
cause passwords to be
+          transfered in the clear. Use at your own risk!
+        </p></div><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="Java-Broker-Security-LDAP-Provider"></a>8.1.1.&#160;Simple 
LDAP</h3></div></div></div><p> The Simple LDAP authenticates connections 
against a Directory (LDAP). </p><p> To create a 
SimpleLDAPAuthenticationProvider the following mandatory fields are required: 
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: 
disc; "><li class="listitem"><p><span class="emphasis"><em>LDAP server 
URL</em></span> is the URL of the server, for example,
+                <code 
class="literal">ldaps://example.com:636</code></p></li><li 
class="listitem"><p><span class="emphasis"><em>Search context</em></span> is 
the distinguished name of the search base
+                object. It defines the location from which the search for 
users begins, for example,
+                <code 
class="literal">dc=users,dc=example,dc=com</code></p></li><li 
class="listitem"><p><span class="emphasis"><em>Search filter</em></span> is a 
DN template to find an LDAP user entry by
+                provided user name, for example, <code 
class="literal">(uid={0})</code></p></li></ul></div><p> Additionally, the 
following optional fields can be specified: </p><div class="itemizedlist"><ul 
class="itemizedlist" style="list-style-type: disc; "><li 
class="listitem"><p><span class="emphasis"><em>LDAP context factory</em></span> 
is a fully qualified class name for the
+                JNDI LDAP context factory. This class must implement the <a 
class="link" 
href="http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/InitialContextFactory.html";
 target="_top">InitialContextFactory</a> interface and produce instances of <a 
class="link" 
href="http://docs.oracle.com/javase/7/docs/api/javax/naming/directory/DirContext.html";
 target="_top">DirContext</a>. If
+                not specified a default value of <code 
class="literal">com.sun.jndi.ldap.LdapCtxFactory</code> is
+                used.</p></li><li class="listitem"><p><span 
class="emphasis"><em>LDAP authentication URL</em></span> is the URL of LDAP 
server for
+                performing "ldap bind". If not specified, the <span 
class="emphasis"><em>LDAP server URL</em></span> will
+                be used for both searches and authentications.</p></li><li 
class="listitem"><p><span class="emphasis"><em>Truststore name</em></span> is a 
name of <a class="link" 
href="Java-Broker-Management-Managing-Truststores.html#Java-Broker-Management-Managing-Truststores-Attributes"
 title="7.13.2.&#160;Attributes">configured
+                truststore</a>. Use this if connecting to a Directory over SSL 
(i.e. ldaps://)
+                which is protected by a certificate signed by a private CA (or 
utilising a self-signed
+                certificate).</p></li><li class="listitem"><p>Additional group 
information can be obtained from LDAP.
+                There are two common ways of representing group membership in 
LDAP.
+                </p><div class="itemizedlist"><ul class="itemizedlist" 
style="list-style-type: circle; "><li class="listitem">
+                        User entries can hold membership information as 
attribute.
+                        To use this the <span class="emphasis"><em>attribute 
name</em></span> that holds the group information must be specified.
+                    </li><li class="listitem">
+                        Group entries can hold a list of their members as 
attribute.
+                        This can be used by specifying a <span 
class="emphasis"><em>search context</em></span> and <span 
class="emphasis"><em>search filter</em></span> to find all groups that the user 
should be considered a member of.
+                        Typically this involves filtering groups by looking 
for the user's DN on a group attribute.
+                        The <span class="emphasis"><em>subtree search 
scope</em></span> determines whether the search should include the subtree 
extending from the <span class="emphasis"><em>search context</em></span>.
+                    </li></ul></div><p>
+            </p></li></ul></div><p>
+    </p><div class="important" style="margin-left: 0.5in; margin-right: 
0.5in;"><h3 class="title">Important</h3><p>In order to protect the security of 
the user's password, when using LDAP authentication,
+            you must: </p><div class="itemizedlist"><ul class="itemizedlist" 
style="list-style-type: disc; "><li class="listitem"><p>Use SSL on the broker's 
AMQP and HTTP ports to protect the password during
+                    transmission to the Broker. The Broker enforces this 
restriction automatically on AMQP
+                    and HTTP ports.</p></li><li 
class="listitem"><p>Authenticate to the Directory using SSL (i.e. ldaps://) to 
protect the password
+                    during transmission from the Broker to the 
Directory.</p></li></ul></div></div><p> The LDAP Authentication Provider works 
in the following manner. If not in <code class="literal">bind
+        without search</code> mode, it first connects to the Directory and 
searches for the ldap
+        entity which is identified by the username. The search begins at the 
distinguished name
+        identified by <code class="literal">Search Context</code> and uses the 
username as a filter. The search
+        scope is sub-tree meaning the search will include the base object and 
the subtree extending
+        beneath it. </p><p> If the search returns a match, or is configured in 
<code class="literal">bind without search</code>
+        mode, the Authentication Provider then attempts to bind to the LDAP 
server with the given name
+        and the password. Note that <a class="link" 
href="http://docs.oracle.com/javase/7/docs/api/javax/naming/Context.html#SECURITY_AUTHENTICATION";
 target="_top">simple security
+            authentication</a> is used so the Directory receives the password 
in the clear.
+    </p><p>
+        By default, this authentication provider caches the result of an 
authentication for a short period of time. This
+        reduces the load on the Directory service if the same credentials are 
presented frequently within a short
+        period of time.  The length of time a result will be cached is defined 
by context variable
+        <code class="literal">qpid.auth.cache.expiration_time</code> (default 
to 600 seconds).  The cache can be disabled by
+        setting the context variable <code 
class="literal">qpid.auth.cache.size</code> to 0.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a 
id="Java-Broker-Security-Kerberos-Provider"></a>8.1.2.&#160;Kerberos</h3></div></div></div><p>
 Kereberos Authentication Provider uses java GSS-API SASL mechanism to 
authenticate the
+        connections. </p><p> Configuration of kerberos is done through system 
properties (there doesn't seem to be a
+        way around this unfortunately). </p><pre class="programlisting">
+    export JAVA_OPTS=-Djavax.security.auth.useSubjectCredsOnly=false 
-Djava.security.auth.login.config=qpid.conf
+    ${QPID_HOME}/bin/qpid-server
+  </pre><p>Where qpid.conf would look something like this:</p><pre 
class="programlisting">
+com.sun.security.jgss.accept {
+    com.sun.security.auth.module.Krb5LoginModule required
+    useKeyTab=true
+    storeKey=true
+    doNotPrompt=true
+    realm="EXAMPLE.COM"
+    useSubjectCredsOnly=false
+    kdc="kerberos.example.com"
+    keyTab="/path/to/keytab-file"
+    principal="&lt;name&gt;/&lt;host&gt;";
+};</pre><p> Where realm, kdc, keyTab and principal should obviously be set 
correctly for the
+        environment where you are running (see the existing documentation for 
the C++ broker about
+        creating a keytab file). </p><p> Note: You may need to install the 
"Java Cryptography Extension (JCE) Unlimited Strength
+        Jurisdiction Policy Files" appropriate for your JDK in order to get 
Kerberos support working. </p></div><div class="section"><div 
class="titlepage"><div><div><h3 class="title"><a 
id="Java-Broker-Security-OAuth2-Provider"></a>8.1.3.&#160;OAuth2</h3></div></div></div><p>
 This authentication provider allows users to login to the broker using 
credentials from a different service supporting OAuth2.
+        Unfortunately, the <a class="link" 
href="https://www.rfc-editor.org/rfc/rfc6749.txt"; target="_top">OAuth2 
specification</a> does not define a standard why to get the identity of a 
subject from an access token.
+        However, most OAuth2 implementations provide such functionality, 
although in different ways. Qpid handles this by providing so called 
IdentityResolvers.
+        Currently the following services are supported:
+        </p><div class="itemizedlist"><ul class="itemizedlist" 
style="list-style-type: disc; "><li 
class="listitem"><p>CloudFoundry</p></li><li 
class="listitem"><p>Facebook</p></li><li class="listitem"><p>GitHub</p></li><li 
class="listitem"><p>Google</p></li><li class="listitem"><p>Microsoft 
Live</p></li></ul></div><p>
+        Since all of these, with the exception of CloudFoundry, are tied to a 
specific service they come with defaults for the Scope, Authorization-, Token-, 
and IdentityResolverEndpoint.
+    </p><p>
+        By default, this authentication provider caches the result of an 
authentication for a short period of time. This
+        reduces the load on the OAuth2 service if the same token is presented 
frequently within a short
+        period of time.  The length of time a result will be cached is defined 
by context variable
+        <code class="literal">qpid.auth.cache.expiration_time</code> (default 
to 600 seconds).  The cache can be disabled by
+        setting the context variable <code 
class="literal">qpid.auth.cache.size</code> to 0.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a 
id="Java-Broker-Security-External-Provider"></a>8.1.4.&#160;External (SSL 
Client Certificates)</h3></div></div></div><p> When <a class="link" 
href="Java-Broker-Management-Managing-Truststores.html" 
title="7.13.&#160;Truststores"> requiring SSL Client
+        Certificates</a> be presented the External Authentication Provider can 
be used, such that
+        the user is authenticated based on trust of their certificate alone, 
and the X500Principal
+        from the SSL session is then used as the username for the connection, 
instead of also
+        requiring the user to present a valid username and password. </p><p>
+        <span class="bold"><strong>Note:</strong></span> The External 
Authentication Provider should typically
+        only be used on the AMQP/HTTP ports, in conjunction with <a 
class="link" href="Java-Broker-Management-Managing-Ports.html" 
title="7.10.&#160;Ports">SSL client certificate
+            authentication</a>. It is not intended for other uses and
+        will treat any non-sasl authentication processes on these ports as 
successful with the given
+        username.</p><p>On creation of External Provider the use of full DN or 
username CN as a principal name can
+        be configured. If attribute "Use the full DN as the Username" is set 
to "true" the full DN is
+        used as an authenticated principal name. If attribute "Use the full DN 
as the Username" is set
+        to "false" the user name CN part is used as the authenticated 
principal name. Setting the
+        field to "false" is particular useful when <a class="link" 
href="Java-Broker-Security-ACLs.html" title="8.3.&#160;Access Control 
Lists">ACL</a> is required, as at the moment, ACL does not support commas in 
the user name.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a 
id="Java-Broker-Security-Anonymous-Provider"></a>8.1.5.&#160;Anonymous</h3></div></div></div><p>
 The Anonymous Authentication Provider will allow users to connect with or 
without
+    credentials and result in their identification on the broker as the user 
ANONYMOUS. This
+    Provider does not require specification of any additional attributes on 
creation. </p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a 
id="Java-Broker-Security-ScramSha-Providers"></a>8.1.6.&#160;SCRAM 
SHA</h3></div></div></div><p>The SCRAM SHA Providers uses the Broker 
configuration itself to store the database of
+        users. The users'
+        passwords are stored as salted SHA digested password. This can be 
further encrypted using the
+        facilities described in <a class="xref" 
href="Java-Broker-Security-Configuration-Encryption.html" 
title="8.4.&#160;Configuration Encryption">Section&#160;8.4, 
&#8220;Configuration Encryption&#8221;</a>.</p><p>There are two variants of 
this provider, SHA1 and SHA256. SHA256 is recommended whenever
+        possible. SHA1 is provided with compatibility with clients utilising 
JDK 1.6 (which does not
+        support SHA256).</p><p>For these providers user credentials can be 
added, removed or changed using
+        Management.</p></div><div class="section"><div 
class="titlepage"><div><div><h3 class="title"><a 
id="Java-Broker-Security-Plain-Provider"></a>8.1.7.&#160;Plain</h3></div></div></div><p>The
 Plain Provider uses the Broker configuration itself to store the database of 
users
+        (unlike the <a class="link" 
href="Java-Broker-Security.html#Java-Broker-Security-PlainPasswordFile-Provider"
 title="8.1.8.&#160;Plain Password File (Deprecated)">PlainPasswordFile</a>, 
there is no separate password file). As the name suggests,
+        the user data (including password) is not hashed in any way. In order 
to provide encryption,
+        the facilities described in <a class="xref" 
href="Java-Broker-Security-Configuration-Encryption.html" 
title="8.4.&#160;Configuration Encryption">Section&#160;8.4, 
&#8220;Configuration Encryption&#8221;</a>
+        must be used.</p><p>For this provider user credentials can be added, 
removed or changed using
+        Management.</p></div><div class="section"><div 
class="titlepage"><div><div><h3 class="title"><a 
id="Java-Broker-Security-PlainPasswordFile-Provider"></a>8.1.8.&#160;Plain 
Password File <span 
class="emphasis"><em>(Deprecated)</em></span></h3></div></div></div><p><span 
class="emphasis"><em>This provider is deprecated and will be removed in a 
future release. The <a class="link" 
href="Java-Broker-Security.html#Java-Broker-Security-Plain-Provider" 
title="8.1.7.&#160;Plain">Plain</a> provider should be used
+            instead.</em></span></p><p> The PlainPasswordFile Provider uses 
local file to store and manage user credentials. When
+        creating an authentication provider the path to the file needs to be 
specified. If specified
+        file does not exist an empty file is created automatically on 
Authentication Provider
+        creation. On Provider deletion the password file is deleted as 
well.</p><p>For this provider user credentials can be added, removed or changed 
using
+        Management.</p><div class="section"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="d0e4667"></a>8.1.8.1.&#160;Plain Password File 
Format</h4></div></div></div><p> The user credentials are stored on the single 
file line as user name and user
+            password pairs separated by colon character. This file must not be 
modified externally
+            whilst the Broker is running.</p><pre class="programlisting">
+# password file format
+# &lt;user name&gt;: &lt;user password&gt;
+guest:guest
+        </pre></div></div><div class="section"><div 
class="titlepage"><div><div><h3 class="title"><a 
id="Java-Broker-Security-MD5-Provider"></a>8.1.9.&#160;MD5 
Provider</h3></div></div></div><p> MD5 Provider  uses the Broker configuration 
itself to store the database of
+        users (unlike the <a class="link" 
href="Java-Broker-Security.html#Java-Broker-Security-Base64MD5PasswordFile-Provider"
 title="8.1.10.&#160;Base64MD5 Password File (Deprecated)">Base64MD5 Password 
File</a>, there is no separate password file). Rather than store the
+        unencrypted user password (as the Plain provider does) it instead 
stores the MD5 password
+        digest.  This can be further encrypted using the
+        facilities described in <a class="xref" 
href="Java-Broker-Security-Configuration-Encryption.html" 
title="8.4.&#160;Configuration Encryption">Section&#160;8.4, 
&#8220;Configuration Encryption&#8221;</a>.</p><p>For this provider user 
credentials can be added, removed or changed using
+        Management.</p></div><div class="section"><div 
class="titlepage"><div><div><h3 class="title"><a 
id="Java-Broker-Security-Base64MD5PasswordFile-Provider"></a>8.1.10.&#160;Base64MD5
 Password File <span 
class="emphasis"><em>(Deprecated)</em></span></h3></div></div></div><p><span 
class="emphasis"><em>This provider is deprecated and will be removed in a 
future release.  The
+        <a class="link" 
href="Java-Broker-Security.html#Java-Broker-Security-MD5-Provider" 
title="8.1.9.&#160;MD5 Provider">MD5</a> provider should be used
+        instead.</em></span></p><p> Base64MD5PasswordFile Provider uses local 
file to store and manage user credentials
+        similar to PlainPasswordFile but instead of storing a password the MD5 
password digest encoded
+        with Base64 encoding is stored in the file. When creating an 
authentication provider the path
+        to the file needs to be specified. If specified file does not exist an 
empty file is created
+        automatically on Authentication Provider creation. On 
Base64MD5PasswordFile Provider deletion
+        the password file is deleted as well.</p><p>For this provider user 
credentials can be added, removed or changed using
+        Management.</p><div class="section"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="d0e4703"></a>8.1.10.1.&#160;Base64MD5 File Format</h4></div></div></div><p> 
The user credentials are stored on the single file line as user name and user 
password
+            pairs separated by colon character. The password is stored MD5 
digest/Base64 encoded. This
+            file must not be modified externally whilst the Broker is 
running.</p></div></div></div></div><div class="navfooter"><hr /><table 
summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a 
accesskey="p" 
href="Java-Broker-Management-Managing-Plugin-HTTP.html">Prev</a>&#160;</td><td 
align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a 
accesskey="n" 
href="Java-Broker-Security-Group-Providers.html">Next</a></td></tr><tr><td 
align="left" valign="top" width="40%">7.16.&#160;HTTP Plugin&#160;</td><td 
align="center" width="20%"><a accesskey="h" 
href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;8.2.&#160;Group 
Providers</td></tr></table></div></div>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/";>Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/";>License</a></li>
+            <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+            <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/";><img id="-apache-feather" 
width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-broker-j-master/java-broker/book/css/style.css
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-broker-j-master/java-broker/book/css/style.css 
b/content/releases/qpid-broker-j-master/java-broker/book/css/style.css
new file mode 100644
index 0000000..8179bf4
--- /dev/null
+++ b/content/releases/qpid-broker-j-master/java-broker/book/css/style.css
@@ -0,0 +1,131 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+ul {
+    list-style-type:square;
+}
+
+th {
+    font-weight: bold;
+}
+
+.navfooter td {
+    font-size:10pt;
+}
+
+.navheader td {
+    font-size:10pt;
+}
+
+body {
+    margin:0;
+    background:#FFFFFF;
+    font-family:"Verdana", sans-serif;
+    font-size:10pt;
+}
+
+.container {
+    width:950px;
+    margin:0 auto;
+}
+
+body a {
+    color:#000000;
+}
+
+
+div.book {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.preface {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.chapter {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.section {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.titlepage {
+    margin-left:-10pt;
+    margin-right:-10pt;
+}
+
+.calloutlist td {
+    font-size:10pt;
+}
+
+.table-contents table {
+    border-spacing: 0px;
+}
+
+.table-contents td {
+    font-size:10pt;
+    padding-left:6px;
+    padding-right:6px;
+}
+
+.chapter h2.title {
+    font-size:20pt;
+    color:#0c3b82;
+}
+
+.chapter .section h2.title {
+    font-size:18pt;
+    color:#0c3b82;
+}
+
+.section h2.title {
+    font-size:16pt;
+    color:#0c3b82;
+}
+
+.section h3.title {
+    font-size:14pt;
+    color:#0c3b82;
+}
+
+.section h4.title {
+    font-size:12pt;
+    color:#0c3b82;
+}
+
+.section h5.title {
+    font-size:12pt;
+    color:#0c3b82;
+}
+
+.section h6.title {
+    font-size:12pt;
+    color:#0c3b82;
+}
+
+.toc a {
+    font-size:9pt;
+}
+

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-MessageFlow.png
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-MessageFlow.png
 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-MessageFlow.png
new file mode 100755
index 0000000..b687dfe
Binary files /dev/null and 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-MessageFlow.png
 differ

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-Model.png
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-Model.png
 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-Model.png
new file mode 100755
index 0000000..a254565
Binary files /dev/null and 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-Model.png
 differ

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-PortAuthFlow.png
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-PortAuthFlow.png
 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-PortAuthFlow.png
new file mode 100755
index 0000000..4df2fa1
Binary files /dev/null and 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Broker-PortAuthFlow.png
 differ

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Direct.png
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Direct.png
 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Direct.png
new file mode 100755
index 0000000..184fb80
Binary files /dev/null and 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Direct.png
 differ

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Direct.svg
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Direct.svg
 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Direct.svg
new file mode 100755
index 0000000..76d25fa
--- /dev/null
+++ 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Direct.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ 
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+ 
+   http://www.apache.org/licenses/LICENSE-2.0
+ 
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ 
+-->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xl="http://www.w3.org/1999/xlink"; version="1.1" viewBox="17 70 436 355" 
width="436pt" height="355pt"><metadata 
xmlns:dc="http://purl.org/dc/elements/1.1/";><dc:date>2013-10-01 
22:37Z</dc:date><!-- Produced by OmniGraffle Professional 5.4.4 
--></metadata><defs><filter id="Shadow" 
filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" 
stdDeviation="3.488"/><feOffset in="blur" result="offset" dx="0" 
dy="4"/><feFlood flood-color="black" flood-opacity=".75" 
result="flood"/><feComposite in="flood" in2="offset" 
operator="in"/></filter><font-face font-family="Helvetica" font-size="12" 
units-per-em="1000" underline-position="-75.683594" 
underline-thickness="49.316406" slope="0" x-height="532.22656" 
cap-height="719.72656" ascent="770.01953" descent="-229.98047" 
font-weight="bold"><font-face-src><font-face-name 
name="Helvetica-Bold"/></font-face-src></font-face><marker orient="auto" 
overflow="visible" markerUnits="strokeWidth" i
 d="FilledArrow_Marker" viewBox="-1 -3 6 6" markerWidth="6" markerHeight="6" 
color="black"><g><path d="M 3.2 0 L 0 -1.2 L 0 1.2 Z" fill="currentColor" 
stroke="currentColor" stroke-width="1"/></g></marker><font-face 
font-family="Helvetica" font-size="9" units-per-em="1000" 
underline-position="-75.683594" underline-thickness="49.316406" slope="0" 
x-height="522.94922" cap-height="717.28516" ascent="770.01953" 
descent="-229.98047" font-weight="500"><font-face-src><font-face-name 
name="Helvetica"/></font-face-src></font-face><font-face 
font-family="Helvetica" font-size="9" units-per-em="1000" 
underline-position="-75.683594" underline-thickness="49.316406" 
slope="-1333.3334" x-height="539.55078" cap-height="719.72656" 
ascent="770.01953" descent="-229.98047" font-style="italic" 
font-weight="bold"><font-face-src><font-face-name 
name="Helvetica-BoldOblique"/></font-face-src></font-face></defs><g 
stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" 
fill-opacity="1"><title>Canva
 s 1</title><g><title>Layer 1</title><g><use xl:href="#id4_Graphic" 
filter="url(#Shadow)"/><use xl:href="#id1902_Graphic" 
filter="url(#Shadow)"/><use xl:href="#id2284_Graphic" 
filter="url(#Shadow)"/></g><g id="id4_Graphic"><path d="M 66.296997 107.000005 
L 160.297 107.000005 C 165.26756 107.000005 169.297 111.02944 169.297 
116.000005 L 169.297 136.000005 C 169.297 140.97057 165.26756 145.000005 
160.297 145.000005 L 66.296997 145.000005 C 61.326434 145.000005 57.296997 
140.97057 57.296997 136.000005 L 57.296997 116.000005 C 57.296997 111.02944 
61.326434 107.000005 66.296997 107.000005 Z" fill="#acffa2"/><path d="M 
66.296997 107.000005 L 160.297 107.000005 C 165.26756 107.000005 169.297 
111.02944 169.297 116.000005 L 169.297 136.000005 C 169.297 140.97057 165.26756 
145.000005 160.297 145.000005 L 66.296997 145.000005 C 61.326434 145.000005 
57.296997 140.97057 57.296997 136.000005 L 57.296997 116.000005 C 57.296997 
111.02944 61.326434 107.000005 66.296997 107.000005 Z" stroke="black" st
 roke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text 
transform="translate(62.296997 112.000005)" fill="black"><tspan 
font-family="Helvetica" font-size="12" font-weight="bold" x="0" y="11" 
textLength="56.015625">Producer </tspan><tspan font-family="Helvetica" 
font-size="12" font-weight="bold" x="55.576172" y="11" 
textLength="8.6660156">A</tspan></text></g><g id="id1902_Graphic"><path d="M 
197.65201 107.500005 L 291.652 107.500005 C 296.62257 107.500005 300.652 
111.52944 300.652 116.500005 L 300.652 136.500005 C 300.652 141.47057 296.62257 
145.500005 291.652 145.500005 L 197.65201 145.500005 C 192.68144 145.500005 
188.65201 141.47057 188.65201 136.500005 L 188.65201 116.500005 C 188.65201 
111.52944 192.68144 107.500005 197.65201 107.500005 Z" fill="#acffa2"/><path 
d="M 197.65201 107.500005 L 291.652 107.500005 C 296.62257 107.500005 300.652 
111.52944 300.652 116.500005 L 300.652 136.500005 C 300.652 141.47057 296.62257 
145.500005 291.652 145.500005 L 197.65201 145.5000
 05 C 192.68144 145.500005 188.65201 141.47057 188.65201 136.500005 L 188.65201 
116.500005 C 188.65201 111.52944 192.68144 107.500005 197.65201 107.500005 Z" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="1"/><text transform="translate(193.65201 112.500005)" 
fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="bold" 
x="0" y="11" textLength="64.68164">Producer B</tspan></text></g><rect 
x="255.297" y="90.000006" width="31.222" height="16.5076" fill="#ff0b22"/><rect 
x="255.297" y="90.000006" width="31.222" height="16.5076" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="256.716" y1="91.375606" x2="263.812" y2="91.375606" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="256.716" y1="92.750806" x2="263.812" y2="92.750806" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="256.716" y1="94.126806" x2="263.
 812" y2="94.126806" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width=".72000003"/><line x1="265.231" 
y1="98.253806" x2="276.585" y2="98.253806" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="265.231" y1="99.629806" x2="276.585" y2="99.629806" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="265.231" y1="101.004806" x2="276.585" y2="101.004806" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><rect 
x="282.261" y="91.375606" width="2.83837" height="2.75126" fill="none"/><rect 
x="282.261" y="91.375606" width="2.83837" height="2.75126" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><rect 
x="262.297" y="96.08351" width="31.222" height="16.5076" fill="#ff0b22"/><rect 
x="262.297" y="96.08351" width="31.222" height="16.5076" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
 x1="263.716" y1="97.45851" x2="270.812" y2="97.45851" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="263.716" y1="98.83451" x2="270.812" y2="98.83451" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="263.716" y1="100.20951" x2="270.812" y2="100.20951" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="272.231" y1="104.33651" x2="283.584" y2="104.33651" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="272.231" y1="105.71251" x2="283.584" y2="105.71251" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="272.231" y1="107.08751" x2="283.584" y2="107.08751" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><rect 
x="289.261" y="97.45851" width="2.83837" height="2.75126" fill="none"/><rect 
x="289.261" y="97.45851" width="2.83837" h
 eight="2.75126" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="124.296996" y="90.00001" width="31.222" 
height="16.5076" fill="#ff9"/><rect x="124.296996" y="90.00001" width="31.222" 
height="16.5076" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="125.715996" y1="91.37501" x2="132.812" 
y2="91.37501" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="125.715996" y1="92.75101" x2="132.812" 
y2="92.75101" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="125.715996" y1="94.12701" x2="132.812" 
y2="94.12701" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="134.231" y1="98.25351" x2="145.585" 
y2="98.25351" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="134.231" y1="99.62951" x2="145.585" y2="99.62951" 
stroke="black" st
 roke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="134.231" y1="101.00551" x2="145.585" y2="101.00551" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><rect 
x="151.261" y="91.37501" width="2.83837" height="2.75126" fill="none"/><rect 
x="151.261" y="91.37501" width="2.83837" height="2.75126" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><rect 
x="129.084" y="96.08351" width="31.222" height="16.5076" fill="#ff9"/><rect 
x="129.084" y="96.08351" width="31.222" height="16.5076" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="130.503" y1="97.45851" x2="137.599" y2="97.45851" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="130.503" y1="98.83451" x2="137.599" y2="98.83451" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="130.503" y1="100.21051" x2="137.599" y
 2="100.21051" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="139.018" y1="104.33651" x2="150.372" 
y2="104.33651" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="139.018" y1="105.71251" x2="150.372" 
y2="105.71251" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="139.018" y1="107.08851" x2="150.372" 
y2="107.08851" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="156.048" y="97.45851" width="2.83837" 
height="2.75126" fill="none"/><rect x="156.048" y="97.45851" width="2.83837" 
height="2.75126" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="134.002" y="103.58351" width="31.222" 
height="16.5076" fill="#ff9"/><rect x="134.002" y="103.58351" width="31.222" 
height="16.5076" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="135.422
 " y1="104.95951" x2="142.518" y2="104.95951" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="135.422" y1="106.33451" x2="142.518" y2="106.33451" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="135.422" y1="107.71051" x2="142.518" y2="107.71051" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="143.937" y1="111.83751" x2="155.29" y2="111.83751" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="143.937" y1="113.21251" x2="155.29" y2="113.21251" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="143.937" y1="114.58851" x2="155.29" y2="114.58851" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><rect 
x="160.967" y="104.95951" width="2.83837" height="2.75126" fill="none"/><rect 
x="160.967" y="104.95951" width="2.83837" height="2
 .75126" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><path d="M 133.699005 163 L 355.605 163 C 360.57557 163 
364.605 167.02944 364.605 172 L 364.605 391.274 C 364.605 396.24457 360.57557 
400.274 355.605 400.274 L 133.699005 400.274 C 128.72844 400.274 124.699005 
396.24457 124.699005 391.274 L 124.699005 172 C 124.699005 167.02944 128.72844 
163 133.699005 163 Z" fill="#78caff"/><path d="M 133.699005 163 L 355.605 163 C 
360.57557 163 364.605 167.02944 364.605 172 L 364.605 391.274 C 364.605 
396.24457 360.57557 400.274 355.605 400.274 L 133.699005 400.274 C 128.72844 
400.274 124.699005 396.24457 124.699005 391.274 L 124.699005 172 C 124.699005 
167.02944 128.72844 163 133.699005 163 Z" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><text transform="translate(129.699005 
168)" fill="black"><tspan font-family="Helvetica" font-size="12" 
font-weight="bold" x="0" y="11" textLength="69.345703">Qpid 
Broker</tspan></text><path
  d="M 148.554005 211.5 L 255.554 211.5 C 260.52457 211.5 264.554 215.52944 
264.554 220.5 L 264.554 311.5 C 264.554 316.47057 260.52457 320.5 255.554 320.5 
L 148.554005 320.5 C 143.58344 320.5 139.554005 316.47057 139.554005 311.5 L 
139.554005 220.5 C 139.554005 215.52944 143.58344 211.5 148.554005 211.5 Z" 
fill="#a788ff"/><path d="M 148.554005 211.5 L 255.554 211.5 C 260.52457 211.5 
264.554 215.52944 264.554 220.5 L 264.554 311.5 C 264.554 316.47057 260.52457 
320.5 255.554 320.5 L 148.554005 320.5 C 143.58344 320.5 139.554005 316.47057 
139.554005 311.5 L 139.554005 220.5 C 139.554005 215.52944 143.58344 211.5 
148.554005 211.5 Z" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><text transform="translate(144.554005 
216.5)" fill="black"><tspan font-family="Helvetica" font-size="12" 
font-weight="bold" x="0" y="11" 
textLength="60.685547">amq.direct</tspan></text><path d="M 282.554 211.5 L 
341.554 211.5 C 346.52457 211.5 350.554 215.52944 350.554 220.5 L 35
 0.554 255.5 C 350.554 260.47057 346.52457 264.5 341.554 264.5 L 282.554 264.5 
C 277.58344 264.5 273.554 260.47057 273.554 255.5 L 273.554 220.5 C 273.554 
215.52944 277.58344 211.5 282.554 211.5 Z" fill="#93d9ff"/><path d="M 282.554 
211.5 L 341.554 211.5 C 346.52457 211.5 350.554 215.52944 350.554 220.5 L 
350.554 255.5 C 350.554 260.47057 346.52457 264.5 341.554 264.5 L 282.554 264.5 
C 277.58344 264.5 273.554 260.47057 273.554 255.5 L 273.554 220.5 C 273.554 
215.52944 277.58344 211.5 282.554 211.5 Z" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text 
transform="translate(278.554 216.5)" fill="black"><tspan 
font-family="Helvetica" font-size="12" font-weight="bold" x="7.1591797" y="11" 
textLength="52.68164">myqueue</tspan></text><path d="M 250.19663 211.12414 C 
257.98164 202.25032 264.9523 188.93692 273.554 184.5 C 282.1557 180.06309 
296.25709 180.08229 301.812 184.5 C 303.83 186.10487 304.82832 188.87613 
305.36258 192.17813" marker-end="url(#FilledAr
 row_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="4"/><path d="M 282.554 274.425 L 341.554 274.425 C 346.52457 
274.425 350.554 278.45444 350.554 283.425 L 350.554 318.425 C 350.554 323.39557 
346.52457 327.425 341.554 327.425 L 282.554 327.425 C 277.58344 327.425 273.554 
323.39557 273.554 318.425 L 273.554 283.425 C 273.554 278.45444 277.58344 
274.425 282.554 274.425 Z" fill="#93d9ff"/><path d="M 282.554 274.425 L 341.554 
274.425 C 346.52457 274.425 350.554 278.45444 350.554 283.425 L 350.554 318.425 
C 350.554 323.39557 346.52457 327.425 341.554 327.425 L 282.554 327.425 C 
277.58344 327.425 273.554 323.39557 273.554 318.425 L 273.554 283.425 C 273.554 
278.45444 277.58344 274.425 282.554 274.425 Z" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text 
transform="translate(278.554 279.425)" fill="black"><tspan 
font-family="Helvetica" font-size="12" font-weight="bold" x="20.826172" y="11" 
textLength="25.347656">bar1<
 /tspan></text><rect x="210.054" y="291.18696" width="48" height="13.6119385" 
fill="white"/><rect x="210.054" y="291.18696" width="48" height="13.6119385" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="1"/><text transform="translate(215.054 292.49293)" 
fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" 
x="13.249756" y="9" textLength="11.500488">….</tspan></text><rect 
x="146.05401" y="291.18696" width="63.999992" height="13.6119385" 
fill="white"/><rect x="146.05401" y="291.18696" width="63.999992" 
height="13.6119385" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><text transform="translate(151.05401 
292.49293)" fill="black"><tspan font-family="Helvetica" font-size="9" 
font-weight="500" x="23.249264" y="9" 
textLength="7.501465">...</tspan></text><rect x="210.054" y="277.57496" 
width="48" height="13.6119995" fill="white"/><rect x="210.054" y="277.57496" 
width="48" height="13.6119995" stroke="black" 
 stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text 
transform="translate(215.054 278.88096)" fill="black"><tspan 
font-family="Helvetica" font-size="9" font-weight="500" x="9.993408" y="9" 
textLength="18.013184">bar2</tspan></text><rect x="146.05401" y="277.57496" 
width="63.999992" height="13.6119995" fill="white"/><rect x="146.05401" 
y="277.57496" width="63.999992" height="13.6119995" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text 
transform="translate(151.05401 278.88096)" fill="black"><tspan 
font-family="Helvetica" font-size="9" font-weight="500" x="20.744381" y="9" 
textLength="12.5112305">foo</tspan></text><rect x="210.054" y="263.96296" 
width="48" height="13.6119995" fill="white"/><rect x="210.054" y="263.96296" 
width="48" height="13.6119995" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><text transform="translate(215.054 
265.26896)" fill="black"><tspan font-family="Helvetica" font-size="9
 " font-weight="500" x="9.993408" y="9" 
textLength="18.013184">bar1</tspan></text><rect x="146.05401" y="263.96296" 
width="63.999992" height="13.6119995" fill="white"/><rect x="146.05401" 
y="263.96296" width="63.999992" height="13.6119995" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text 
transform="translate(151.05401 265.26896)" fill="black"><tspan 
font-family="Helvetica" font-size="9" font-weight="500" x="20.744381" y="9" 
textLength="12.5112305">foo</tspan></text><rect x="210.054" y="250.35105" 
width="48" height="13.611908" fill="white"/><rect x="210.054" y="250.35105" 
width="48" height="13.611908" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><text transform="translate(215.054 
251.65701)" fill="black"><tspan font-family="Helvetica" font-size="9" 
font-weight="500" x=".4880371" y="9" 
textLength="37.023926">myqueue</tspan></text><rect x="146.05401" y="250.35105" 
width="63.999992" height="13.611908" fill="white"/><
 rect x="146.05401" y="250.35105" width="63.999992" height="13.611908" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="1"/><text transform="translate(151.05401 251.65701)" 
fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" 
x="8.4880333" y="9" textLength="37.023926">myqueue</tspan></text><rect 
x="210.054" y="239.57501" width="48" height="10.776047" fill="white"/><rect 
x="210.054" y="239.57501" width="48" height="10.776047" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text 
transform="translate(215.054 239.46303)" fill="black"><tspan 
font-family="Helvetica" font-size="9" font-style="italic" font-weight="bold" 
x="5.748291" y="9" textLength="26.503418">queue</tspan></text><rect 
x="146.05401" y="239.57501" width="63.999992" height="10.776047" 
fill="white"/><rect x="146.05401" y="239.57501" width="63.999992" 
height="10.776047" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1
 "/><text transform="translate(151.05401 239.46303)" fill="black"><tspan 
font-family="Helvetica" font-size="9" font-style="italic" font-weight="bold" 
x=".74486923" y="9" textLength="52.510254">binding_key</tspan></text><path d="M 
222.4567 320.96876 C 224.43994 326.31197 225.22727 333.49515 228.407 337 C 
231.58674 340.50486 233.90403 344.3383 241.537 342 C 245.68743 340.72856 
251.76463 337.0884 258.19681 333.01168" marker-end="url(#FilledArrow_Marker)" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="4"/><path d="M 282.554 337.349 L 341.554 337.349 C 346.52457 
337.349 350.554 341.37844 350.554 346.349 L 350.554 381.349 C 350.554 386.31957 
346.52457 390.349 341.554 390.349 L 282.554 390.349 C 277.58344 390.349 273.554 
386.31957 273.554 381.349 L 273.554 346.349 C 273.554 341.37844 277.58344 
337.349 282.554 337.349 Z" fill="#93d9ff"/><path d="M 282.554 337.349 L 341.554 
337.349 C 346.52457 337.349 350.554 341.37844 350.554 346.349 L 350.554 381.349 
C 350.554 3
 86.31957 346.52457 390.349 341.554 390.349 L 282.554 390.349 C 277.58344 
390.349 273.554 386.31957 273.554 381.349 L 273.554 346.349 C 273.554 341.37844 
277.58344 337.349 282.554 337.349 Z" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><text transform="translate(278.554 
342.349)" fill="black"><tspan font-family="Helvetica" font-size="12" 
font-weight="bold" x="20.826172" y="11" 
textLength="25.347656">bar2</tspan></text><path d="M 217.1713 320.98211 C 
219.37232 328.98728 220.64087 338.99762 223.775 345 C 226.90914 351.00239 
227.76532 354.44391 235.978 357 C 240.33458 358.35593 247.02521 358.89955 
254.1924 359.2772" marker-end="url(#FilledArrow_Marker)" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/><rect 
x="307.659" y="230.333" width="31.222" height="16.5076" fill="#ff9"/><rect 
x="307.659" y="230.333" width="31.222" height="16.5076" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line
  x1="309.078" y1="231.708" x2="316.174" y2="231.708" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="309.078" y1="233.084" x2="316.174" y2="233.084" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="309.078" y1="234.46" x2="316.174" y2="234.46" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="317.593" y1="238.587" x2="328.947" y2="238.587" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="317.593" y1="239.963" x2="328.947" y2="239.963" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="317.593" y1="241.339" x2="328.947" y2="241.339" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><rect 
x="334.623" y="231.708" width="2.83837" height="2.75126" fill="none"/><rect 
x="334.623" y="231.708" width="2.83837" height="2.75126" stroke=
 "black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="312.446" y="236.417" width="31.222" 
height="16.5076" fill="#ff9"/><rect x="312.446" y="236.417" width="31.222" 
height="16.5076" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="313.865" y1="237.792" x2="320.961" y2="237.792" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="313.865" y1="239.168" x2="320.961" 
y2="239.168" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="313.865" y1="240.544" x2="320.961" 
y2="240.544" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="322.38" y1="244.67" x2="333.734" 
y2="244.67" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="322.38" y1="246.046" x2="333.734" y2="246.046" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-wi
 dth=".24"/><line x1="322.38" y1="247.422" x2="333.734" y2="247.422" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="339.41" y="237.792" width="2.83837" 
height="2.75126" fill="none"/><rect x="339.41" y="237.792" width="2.83837" 
height="2.75126" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="317.364" y="243.917" width="31.222" 
height="16.5076" fill="#ff9"/><rect x="317.364" y="243.917" width="31.222" 
height="16.5076" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="318.783" y1="245.293" x2="325.879" y2="245.293" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="318.783" y1="246.668" x2="325.879" 
y2="246.668" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="318.783" y1="248.044" x2="325.879" 
y2="248.044" stroke="black" stroke-linecap="round" stroke-linejoin="roun
 d" stroke-width=".72000003"/><line x1="327.298" y1="252.171" x2="338.652" 
y2="252.171" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="327.298" y1="253.546" x2="338.652" y2="253.546" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="327.298" y1="254.922" x2="338.652" y2="254.922" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="344.328" y="245.293" width="2.83837" 
height="2.75126" fill="none"/><rect x="344.328" y="245.293" width="2.83837" 
height="2.75126" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="309.079" y="294.564" width="31.222" 
height="16.5076" fill="#ff0b22"/><rect x="309.079" y="294.564" width="31.222" 
height="16.5076" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="310.498" y1="295.94" x2="317.594" y2="295.94" 
stroke="black" stroke-linecap="round" stroke-line
 join="round" stroke-width=".72000003"/><line x1="310.498" y1="297.316" 
x2="317.594" y2="297.316" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width=".72000003"/><line x1="310.498" 
y1="298.691" x2="317.594" y2="298.691" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width=".72000003"/><line x1="319.013" 
y1="302.818" x2="330.366" y2="302.818" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width=".24"/><line x1="319.013" y1="304.194" 
x2="330.366" y2="304.194" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width=".24"/><line x1="319.013" y1="305.569" 
x2="330.366" y2="305.569" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width=".24"/><rect x="336.043" y="295.94" 
width="2.83837" height="2.75126" fill="none"/><rect x="336.043" y="295.94" 
width="2.83837" height="2.75126" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width=".24"/><rect x="312.873" y="300.98
 4" width="31.222" height="16.5076" fill="#ff0b22"/><rect x="312.873" 
y="300.984" width="31.222" height="16.5076" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="314.292" y1="302.359" x2="321.388" y2="302.359" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="314.292" y1="303.736" x2="321.388" y2="303.736" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="314.292" y1="305.111" x2="321.388" y2="305.111" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="322.807" y1="309.238" x2="334.16" y2="309.238" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="322.807" y1="310.614" x2="334.16" y2="310.614" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="322.807" y1="311.989" x2="334.16" y2="311.989" stroke="black" stroke-linecap
 ="round" stroke-linejoin="round" stroke-width=".24"/><rect x="339.837" 
y="302.359" width="2.83837" height="2.75126" fill="none"/><rect x="339.837" 
y="302.359" width="2.83837" height="2.75126" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><rect 
x="308.652" y="359.347" width="31.222" height="16.5076" fill="#ff0b22"/><rect 
x="308.652" y="359.347" width="31.222" height="16.5076" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="310.071" y1="360.723" x2="317.167" y2="360.723" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="310.071" y1="362.099" x2="317.167" y2="362.099" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="310.071" y1="363.474" x2="317.167" y2="363.474" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="318.586" y1="367.601" x2="329.939" y2="367.601" strok
 e="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="318.586" y1="368.977" x2="329.939" y2="368.977" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="318.586" y1="370.352" x2="329.939" y2="370.352" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="335.616" y="360.723" width="2.83837" 
height="2.75126" fill="none"/><rect x="335.616" y="360.723" width="2.83837" 
height="2.75126" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="312.446" y="365.767" width="31.222" 
height="16.5076" fill="#ff0b22"/><rect x="312.446" y="365.767" width="31.222" 
height="16.5076" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="313.865" y1="367.142" x2="320.961" y2="367.142" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="313.865" y1="368.519" x2="320.961" y2="36
 8.519" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="313.865" y1="369.894" x2="320.961" 
y2="369.894" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="322.38" y1="374.021" x2="333.733" 
y2="374.021" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="322.38" y1="375.397" x2="333.733" y2="375.397" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="322.38" y1="376.772" x2="333.733" y2="376.772" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="339.41" y="367.142" width="2.83837" 
height="2.75126" fill="none"/><rect x="339.41" y="367.142" width="2.83837" 
height="2.75126" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><text transform="translate(26.796997 79.00001)" 
fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="5
 00" x="42.09546" y="9" 
textLength="88.80908">routing_key=myqueue</tspan></text><text 
transform="translate(202.031 79.00001)" fill="black"><tspan 
font-family="Helvetica" font-size="9" font-weight="500" x="10.472812" y="9" 
textLength="64.296387">routing_key=foo</tspan></text><g 
id="id2284_Graphic"><path d="M 329.00702 107.000005 L 423.00702 107.000005 C 
427.97758 107.000005 432.00702 111.02944 432.00702 116.000005 L 432.00702 
136.000005 C 432.00702 140.97057 427.97758 145.000005 423.00702 145.000005 L 
329.00702 145.000005 C 324.03645 145.000005 320.00702 140.97057 320.00702 
136.000005 L 320.00702 116.000005 C 320.00702 111.02944 324.03645 107.000005 
329.00702 107.000005 Z" fill="#acffa2"/><path d="M 329.00702 107.000005 L 
423.00702 107.000005 C 427.97758 107.000005 432.00702 111.02944 432.00702 
116.000005 L 432.00702 136.000005 C 432.00702 140.97057 427.97758 145.000005 
423.00702 145.000005 L 329.00702 145.000005 C 324.03645 145.000005 320.00702 
140.97057 320.00702 136.000005 L 320.00
 702 116.000005 C 320.00702 111.02944 324.03645 107.000005 329.00702 107.000005 
Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="1"/><text transform="translate(325.00702 112.000005)" 
fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="bold" 
x="0" y="11" textLength="64.68164">Producer C</tspan></text></g><text 
transform="translate(333.38602 79.00001)" fill="black"><tspan 
font-family="Helvetica" font-size="9" font-weight="500" x="9.473056" y="9" 
textLength="66.2959">routing_key=qux</tspan></text><path d="M 348.5369 
145.28732 C 342.97682 149.191155 347.46709 154.21483 331.855 157 C 316.24291 
159.78517 271.83745 152.99187 254.855 162 C 243.4814 168.03298 239.89471 
180.65409 236.27266 193.24423" marker-end="url(#FilledArrow_Marker)" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="4"/><path d="M 147.98082 145.24257 C 161.65251 152.82762 
181.23191 161.374425 189 168 C 196.76809 174.62558 193.26267 177.8337 194.594
  185 C 194.99444 187.15549 195.29843 189.58266 195.54949 192.1589" 
marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="4"/><path d="M 240.89769 145.99098 C 
240.38351 148.66039 243.08474 149.24897 239.355 154 C 235.62526 158.75103 
223.08431 164.99963 218.517 174.5 C 216.17447 179.37265 215.08286 185.64978 
214.27983 192.25062" marker-end="url(#FilledArrow_Marker)" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/><rect x="393" 
y="96.08351" width="31.222" height="16.5076" fill="#0d46ff"/><rect x="393" 
y="96.08351" width="31.222" height="16.5076" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".24"/><line 
x1="394.419" y1="97.45851" x2="401.515" y2="97.45851" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line 
x1="394.419" y1="98.83451" x2="401.515" y2="98.83451" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stro
 ke-width=".72000003"/><line x1="394.419" y1="100.20951" x2="401.515" 
y2="100.20951" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".72000003"/><line x1="402.934" y1="104.33651" x2="414.287" 
y2="104.33651" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="402.934" y1="105.71251" x2="414.287" 
y2="105.71251" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><line x1="402.934" y1="107.08751" x2="414.287" 
y2="107.08751" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/><rect x="419.964" y="97.45851" width="2.83837" 
height="2.75126" fill="none"/><rect x="419.964" y="97.45851" width="2.83837" 
height="2.75126" stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width=".24"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Fanout.png
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Fanout.png
 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Fanout.png
new file mode 100755
index 0000000..1e7f8ca
Binary files /dev/null and 
b/content/releases/qpid-broker-j-master/java-broker/book/images/Exchange-Fanout.png
 differ


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

Reply via email to