http://git-wip-us.apache.org/repos/asf/qpid-site/blob/d1947fd4/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Ports.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Ports.html b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Ports.html new file mode 100644 index 0000000..53672de --- /dev/null +++ b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Ports.html @@ -0,0 +1,155 @@ +<!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.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"/> + <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>™</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-java-6.1.7/index.html">Qpid for Java 6.1.7</a></li><li><a href="/releases/qpid-java-6.1.7/java-broker/book/index.html">Apache Qpid Broker for Java</a></li><li>4.8. Ports</li></ul> + + <div id="-middle-content"> + <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.8. Ports</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Concepts-Queues.html">Prev</a> </td><th align="center" width="60%">Chapter 4. Concepts</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Concepts-Authentication-Providers.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-Ports"></a>4.8. Ports</h2></div></div></div><p> The Broker supports configuration of <span class="emphasis"><em>Ports</em></span> to specify the particular + AMQP messaging and HTTP management connectivity it offers for use. </p><p> Each Port is configured with the particular <span class="emphasis"><em>Protocols</em></span> and + <span class="emphasis"><em>Transports</em></span> it supports, as well as the <span class="emphasis"><em>Authentication + Provider</em></span> to be used to authenticate connections. Where SSL is in use, the + <span class="emphasis"><em>Port</em></span> configuration also defines which <span class="emphasis"><em>Keystore</em></span> + to use and (where supported) which <span class="emphasis"><em>TrustStore(s)</em></span> and whether Client + Certificates should be requested/required. </p><p> Different <span class="emphasis"><em>Ports</em></span> can support different protocols, and many + <span class="emphasis"><em>Ports</em></span> can be configured on the Broker.</p><p> The following AMQP protocols are currently supported by the Broker: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>AMQP 0-8</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>AMQP 0-9</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>AMQP 0-9-1</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>AMQP 0-10</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>AMQP 1.0</em></span></p></li></ul></div><p> + </p><p> Additionally, HTTP ports can be configured for use by the associated management + plugin. </p><p>This diagram explains how Ports, <a class="link" href="Java-Broker-Concepts-Authentication-Providers.html" title="4.9. 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="d0e1289"></a><p class="title"><strong>Figure 4.9. Control flow during Authentication</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Control flow during Authentication" src="images/Broker-PortAuthFlow.png" /></div></div></div><p><br class="figure-break" /></p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Concepts-Queues.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Concepts-Authentication-Providers.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">4.7. Queues </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%"> 4.9.&# 160;Authentication 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 © 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/d1947fd4/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Queues.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Queues.html b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Queues.html new file mode 100644 index 0000000..cd43671 --- /dev/null +++ b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Queues.html @@ -0,0 +1,290 @@ +<!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://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>™</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-java-6.1.7/index.html">Qpid for Java 6.1.7</a></li><li><a href="/releases/qpid-java-6.1.7/java-broker/book/index.html">Apache Qpid Broker for Java</a></li><li>4.7. Queues</li></ul> + + <div id="-middle-content"> + <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.7. Queues</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Concepts-Exchanges.html">Prev</a> </td><th align="center" width="60%">Chapter 4. Concepts</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Concepts-Ports.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-Queues"></a>4.7. Queues</h2></div></div></div><p><span class="emphasis"><em>Queue</em></span>s are named entities within a <a class="link" href="Java-Broker-Concepts-Virtualhosts.html" title="4.5. Virtualhosts">Virtualhost</a> that + hold/buffer messages for later delivery to consumer applications. An <a class="link" href="Java-Broker-Concepts-Exchanges.html" title="4.6. Exchanges">Exchange</a> for passing messages to a queue. + Consumers subscribe to a queue in order to receive messages for it. </p><p>The Broker supports different queue types, each with different delivery semantics. Queues also have the ability to group messages + together for delivery to a single consumer.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queues-Types"></a>4.7.1. Types</h3></div></div></div><p>The Broker supports four different queue types, each with different delivery semantics.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-Standard" title="4.7.1.1. Standard">Standard</a> - a simple First-In-First-Out (FIFO) queue</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-Priority" title="4.7.1.2. Priority">Priority</a> - delivery order depends on the priority of each message</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-Sorted" title="4.7.1.3. Sorted Queues">Sorte d</a> - + delivery order depends on the value of the sorting key property in each message</p></li><li class="listitem"><p><a class="link" href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types-LVQ" title="4.7.1.4. Last Value Queues (LVQ)">Last Value + Queue</a> - also known as an LVQ, retains only the last (newest) message received + with a given LVQ key value</p></li></ul></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-Standard"></a>4.7.1.1. Standard</h4></div></div></div><p>A simple First-In-First-Out (FIFO) queue</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-Priority"></a>4.7.1.2. Priority</h4></div></div></div><p>In a priority queue, messages on the queue are delivered in an order determined by the + <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSPriority()" target="_top">JMS priority message + header</a> within the message. By default Qpid supports the 10 priority levels + mandated by JMS, with priority value 0 as the lowest priority and 9 as the highest. </p><p>It is possible to reduce the effective number of priorities if desired.</p><p>JMS defines the <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#DEFAULT_PRIORITY" target="_top"> + default message priority</a> as 4. Messages sent without a specified priority use this + default. </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-Sorted"></a>4.7.1.3. Sorted Queues</h4></div></div></div><p>Sorted queues allow the message delivery order to be determined by value of an arbitrary + <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getStringProperty()" target="_top">JMS message + property</a>. Sort order is alpha-numeric and the property value must have a type + java.lang.String.</p><p>Messages sent to a sorted queue without the specified JMS message property will be + put at the head of the queue.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-Types-LVQ"></a>4.7.1.4. Last Value Queues (LVQ)</h4></div></div></div><p>LVQs (or conflation queues) are special queues that automatically discard any message + when a newer message arrives with the same key value. The key is specified by arbitrary + <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getPropertyNames()" target="_top">JMS message + property</a>.</p><p>An example of an LVQ might be where a queue represents prices on a stock exchange: when + you first consume from the queue you get the latest quote for each stock, and then as new + prices come in you are sent only these updates. </p><p>Like other queues, LVQs can either be browsed or consumed from. When browsing an + individual subscriber does not remove the message from the queue when receiving it. This + allows for many subscriptions to browse the same LVQ (i.e. you do not need to create and + bind a separate LVQ for each subscriber who wishes to receive the contents of the + LVQ).</p><p>Messages sent to an LVQ without the specified property will be delivered as normal and + will never be "replaced".</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queues-QueueDeclareArguments"></a>4.7.2. Queue Declare Arguments</h3></div></div></div><p>To create a priority, sorted or LVQ queue programmatically from AMQP, pass the + appropriate queue-declare arguments.</p><div class="table"><a id="d0e933"></a><p class="title"><strong>Table 4.1. Queue-declare arguments understood for priority, sorted and LVQ queues</strong></p><div class="table-contents"><table border="1" summary="Queue-declare arguments understood for priority, sorted and LVQ queues"><colgroup><col /><col /><col /><col /></colgroup><thead><tr><th>Queue type</th><th>Argument name</th><th>Argument name</th><th>Argument Description</th></tr></thead><tbody><tr><td>priority</td><td>x-qpid-priorities</td><td>java.lang.Integer</td><td>Specifies a priority queue with given number priorities</td></tr><tr><td>sorted</td><td>qpid.queue_sort_key</td><td>java.lang.String</td><td>Specifies sorted queue with given message property used to sort the + entries</td></tr><tr><td>lvq</td><td>qpid.last_value_queue_key</td><td>java.lang.String</td><td>Specifies lvq queue with given message property used to conflate the + entries</td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queues-Message-Grouping"></a>4.7.3. Messaging Grouping</h3></div></div></div><p> The broker allows messaging applications to classify a set of related messages as + belonging to a group. This allows a message producer to indicate to the consumer that a group + of messages should be considered a single logical operation with respect to the application. </p><p> The broker can use this group identification to enforce policies controlling how messages + from a given group can be distributed to consumers. For instance, the broker can be configured + to guarantee all the messages from a particular group are processed in order across multiple + consumers. </p><p> For example, assume we have a shopping application that manages items in a virtual + shopping cart. A user may add an item to their shopping cart, then change their mind and + remove it. If the application sends an <span class="emphasis"><em>add</em></span> message to the broker, + immediately followed by a <span class="emphasis"><em>remove</em></span> message, they will be queued in the + proper order - <span class="emphasis"><em>add</em></span>, followed by <span class="emphasis"><em>remove</em></span>. </p><p> However, if there are multiple consumers, it is possible that once a consumer acquires + the <span class="emphasis"><em>add</em></span> message, a different consumer may acquire the + <span class="emphasis"><em>remove</em></span> message. This allows both messages to be processed in parallel, + which could result in a "race" where the <span class="emphasis"><em>remove</em></span> operation is incorrectly + performed before the <span class="emphasis"><em>add</em></span> operation. </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-GroupingMessages"></a>4.7.3.1. Grouping Messages</h4></div></div></div><p> In order to group messages, the application would designate a particular message header + as containing a message's <span class="emphasis"><em>group identifier</em></span>. The group identifier stored + in that header field would be a string value set by the message producer. Messages from the + same group would have the same group identifier value. The key that identifies the header + must also be known to the message consumers. This allows the consumers to determine a + message's assigned group. </p><p> The header that is used to hold the group identifier, as well as the values used as + group identifiers, are totally under control of the application. </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Concepts-Queues-BrokerRole"></a>4.7.3.2.  The Role of the Broker in Message Grouping </h4></div></div></div><p> The broker will apply the following processing on each grouped message: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Enqueue a received message on the destination queue.</p></li><li class="listitem"><p>Determine the message's group by examining the message's group identifier + header.</p></li><li class="listitem"><p>Enforce <span class="emphasis"><em>consumption ordering</em></span> among messages belonging to the + same group. <span class="emphasis"><em>Consumption ordering</em></span> means one of two things + depending on how the queue has been configured. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p> In default mode, a group gets assigned to a single consumer for the lifetime + of that consumer, and the broker will pass all subsequent messages in the group to + that consumer. </p></li><li class="listitem"><p>In 'shared groups' mode (which gives the same behaviour as the Qpid C++ + Broker) the broker enforces a looser guarantee, namely that all the + <span class="emphasis"><em>currently unacknowledged messages</em></span> in a group are sent to + the same consumer, but the consumer used may change over time even if the + consumers do not. This means that only one consumer can be processing messages + from a particular group at any given time, however if the consumer acknowledges + all of its acquired messages then the broker <span class="emphasis"><em>may</em></span> pass the + next pending message in that group to a different consumer. </p></li></ul></div></li></ul></div><p> + </p><p> The absence of a value in the designated group header field of a message is treated as + follows: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> In default mode, failure for a message to specify a group is treated as a desire + for the message not to be grouped at all. Such messages will be distributed to any + available consumer, without the ordering quarantees imposed by grouping. </p></li><li class="listitem"><p> In 'shared groups' mode (which gives the same behaviour as the Qpid C++ Broker) + the broker assigns messages without a group value to a 'default group'. Therefore, all + such "unidentified" messages are considered by the broker as part of the same group, + which will handled like any other group. The name of this default group is + "qpid.no-group", although it can be customised as detailed below. </p></li></ul></div><p> + </p><p> Note that message grouping has no effect on queue browsers.</p><p> Note well that distinct message groups would not block each other from delivery. For + example, assume a queue contains messages from two different message groups - say group "A" + and group "B" - and they are enqueued such that "A"'s messages are in front of "B". If the + first message of group "A" is in the process of being consumed by a client, then the + remaining "A" messages are blocked, but the messages of the "B" group are available for + consumption by other consumers - even though it is "behind" group "A" in the queue. </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queues-SetLowPrefetch"></a>4.7.4. Using low pre-fetch with special queue types</h3></div></div></div><p>Qpid clients receive buffered messages in batches, sized according to the pre-fetch value. + The current default is 500. </p><p>However, if you use the default value you will probably <span class="emphasis"><em>not</em></span> see + desirable behaviour when using priority, sorted, lvq or grouped queues. Once the broker has + sent a message to the client its delivery order is then fixed, regardless of the special + behaviour of the queue. </p><p>For example, if using a priority queue and a prefetch of 100, and 100 messages arrive with + priority 2, the broker will send these messages to the client. If then a new message arrives + with priority 1, the broker cannot leap frog messages of lower priority. The priority 1 will + be delivered at the front of the next batch of messages to be sent to the client.</p><p> So, you need to set the prefetch values for your client (consumer) to make this sensible. + To do this set the Java system property <code class="varname">max_prefetch</code> on the client + environment (using -D) before creating your consumer. </p><p>A default for all client connections can be set via a system property: </p><pre class="programlisting"> +-Dmax_prefetch=1 +</pre><p> The prefetch can be also be adjusted on a per connection basis by adding a + <code class="varname">maxprefetch</code> value to the <a class="link" href="../../jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html" target="_top">Connection URLs</a> + </p><pre class="programlisting"> +amqp://guest:guest@client1/development?maxprefetch='1'&brokerlist='tcp://localhost:5672' +</pre><p>Setting the Qpid pre-fetch to 1 will give exact queue-type semantics as perceived by the + client however, this brings a performance cost. You could test with a slightly higher + pre-fetch to trade-off between throughput and exact semantics.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queue-EnsureNonDestructiveConsumers"></a>4.7.5. Forcing all consumers to be non-destructive</h3></div></div></div><p>When a consumer attaches to a queue, the normal behaviour is that messages are + sent to that consumer are acquired exclusively by that consumer, and when the consumer + acknowledges them, the messages are removed from the queue.</p><p>Another common pattern is to have queue "browsers" which send all messages to the + browser, but do not prevent other consumers from receiving the messages, and do not + remove them from the queue when the browser is done with them. Such a browser is an + instance of a "non-destructive" consumer.</p><p>If every consumer on a queue is non destructive then we can obtain some interesting + behaviours. In the case of a LVQ + then the queue will always contain the most up to date value for every key. For + a standard queue, if every consumer is non-destructive then we have something that + behaves like a topic (every consumer receives every message) except that instead of + only seeing messages that arrive after the point at which the consumer is created, all + messages which have not been removed due to TTL expiry (or, in the case of LVQs, + overwirtten by newer values for the same key).</p><p>A queue can be created to enforce all consumers are non-destructive. This can be + be achieved using the following queue declare argument:</p><div class="table"><a id="d0e1116"></a><p class="title"><strong>Table 4.2. </strong></p><div class="table-contents"><table border="1"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Argument Name</th><th>Argument Type</th><th>Argument Description</th></tr></thead><tbody><tr><td>qpid.ensure_nondestructive_consumers</td><td>java.lang.Boolean</td><td>Set to true if the queue should make all consumers attached to it behave + non-destructively. (Default is false).</td></tr></tbody></table></div></div><br class="table-break" /><p>Through the <a class="link" href="Java-Broker-Management-Channel-REST-API.html" title="6.3. REST API">REST</a> api, + the equivalent attribute is named <code class="varname">ensureNondestructiveConsumers</code>. + </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1142"></a>4.7.5.1. Bounding size using min/max TTL</h4></div></div></div><p>For queues other than LVQs, having only non-destructive consumers could mean that + messages would never get deleted, leaving the queue to grow unconstrainedly. To + prevent this you can use the ability to set the maximum TTL of the queue. To ensure + all messages have the same TTL you could also set the minimum TTL to the same value. + </p><p>Minimum/Maximum TTL for a queue can be set though the HTTP Management UI, using the + REST API or by hand editing the configuration file (for JSON configuration stores). + The attribute names are <code class="varname">minimumMessageTtl</code> and + <code class="varname">maximumMessageTtl</code> and the TTL value is given in milliseconds.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1155"></a>4.7.5.2. Choosing to receive messages based on arrival time</h4></div></div></div><p>A queue with no destructive consumers will retain all messages until they expire + due to TTL. It may be the case that a consumer only wishes to receive messages + that have been sent in the last 60 minutes, and any new messages that arrive, or + alternatively it may wish only to receive newly arriving messages and not any that + are already in the queue. This can be achieved by using a filter on the arrival + time.</p><p>A special parameter <code class="varname">x-qpid-replay-period</code> can be used in the + consumer declaration to control the messages the consumer wishes to receive. The + value of <code class="varname">x-qpid-replay-period</code> is the time, in seconds, for which + the consumer wishes to see messages. A replay period of 0 indicates only newly + arriving messages should be sent. A replay period of 3600 indicates that only + messages sent in the last hour - along with any newly arriving messages - should be + sent.</p><div class="table"><a id="d0e1168"></a><p class="title"><strong>Table 4.3. Setting the replay period</strong></p><div class="table-contents"><table border="1" summary="Setting the replay period"><colgroup><col /><col /></colgroup><thead><tr><th>Syntax</th><th>Example</th></tr></thead><tbody><tr><td>Addressing</td><td>myqueue : { link : { x-subscribe: { arguments : { x-qpid-replay-period : '3600' } } } }</td></tr><tr><td>Binding URL</td><td>direct://amq.direct/myqueue/myqueue?x-qpid-replay-period='3600'</td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1189"></a>4.7.5.3. Setting a default filter</h4></div></div></div><p>A common case might be that the desired default behaviour is that newly attached consumers + see only newly arriving messages (i.e. standard topic-like behaviour) but other consumers + may wish to start their message stream from some point in the past. This can be achieved by + setting a default filter on the queue so that consumers which do not explicitly set a replay + period get a default (in this case the desired default would be 0).</p><p>The default filter set for a queue can be set via the REST API using the attribute named + <code class="varname">defaultFilters</code>. This value is a map from filter name to type and arguments. + To set the default behaviour for the queue to be that consumers only receive newly arrived + messages, then you should set this attribute to the value:</p><pre class="screen"> + { "x-qpid-replay-period" : { "x-qpid-replay-period" : [ "0" ] } } + </pre><p> + If the desired default behaviour is that each consumer should see all messages arriving in + the last minute, as well as all new messages then the value would need to be:</p><pre class="screen"> + { "x-qpid-replay-period" : { "x-qpid-replay-period" : [ "60" ] } } + </pre></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Concepts-Queue-HoldingEntries"></a>4.7.6. Holding messages on a Queue</h3></div></div></div><p>Sometimes it is required that while a message has been placed on a queue, it is not released to consumers + until some external condition is met. </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="d0e1210"></a>4.7.6.1. 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><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Concepts-Exchanges.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Concepts-Ports.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">4.6. Exchanges </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%"> 4.8. Ports</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 © 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/d1947fd4/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-RemoteReplicationNodes.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-RemoteReplicationNodes.html b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-RemoteReplicationNodes.html new file mode 100644 index 0000000..294db79 --- /dev/null +++ b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-RemoteReplicationNodes.html @@ -0,0 +1,145 @@ +<!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.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"/> + <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>™</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-java-6.1.7/index.html">Qpid for Java 6.1.7</a></li><li><a href="/releases/qpid-java-6.1.7/java-broker/book/index.html">Apache Qpid Broker for Java</a></li><li>4.4. Remote Replication Nodes</li></ul> + + <div id="-middle-content"> + <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.4. Remote Replication Nodes</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Concepts-Virtualhost-Nodes.html">Prev</a> </td><th align="center" width="60%">Chapter 4. Concepts</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Concepts-Virtualhosts.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-RemoteReplicationNodes"></a>4.4. Remote Replication Nodes</h2></div></div></div><p>Used for HA only. A <span class="emphasis"><em>remote replication node</em></span> is a representation of + another virtualhost node in the group.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Concepts-Virtualhost-Nodes.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Concepts-Virtualhosts.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">4.3. Virtualhost Nodes </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%"> 4.5. Virtualhosts</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 © 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/d1947fd4/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Virtualhost-Nodes.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Virtualhost-Nodes.html b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Virtualhost-Nodes.html new file mode 100644 index 0000000..2e93ef9 --- /dev/null +++ b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Virtualhost-Nodes.html @@ -0,0 +1,150 @@ +<!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.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"/> + <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>™</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-java-6.1.7/index.html">Qpid for Java 6.1.7</a></li><li><a href="/releases/qpid-java-6.1.7/java-broker/book/index.html">Apache Qpid Broker for Java</a></li><li>4.3. Virtualhost Nodes</li></ul> + + <div id="-middle-content"> + <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.3. Virtualhost Nodes</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Concepts-Broker.html">Prev</a> </td><th align="center" width="60%">Chapter 4. Concepts</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-Virtualhost-Nodes"></a>4.3. Virtualhost Nodes</h2></div></div></div><p>A <span class="emphasis"><em>virtualhost node</em></span> is a container for the virtualhost. It has exactly + one virtualhost.</p><p>A <span class="emphasis"><em>virtualhost node</em></span> is backed by storage. This storage is used to record + the durable entities that exist beneath the virtualhost node (the virtualhost, queues, exchanges + etc).</p><p>When HA is in use, it is the virtualhost nodes of many Brokers that come together to form + the group. The virtualhost nodes together elect a master. When the high availability feature is + in use, the virtualhost node has <a class="link" href="Java-Broker-Concepts-RemoteReplicationNodes.html" title="4.4. Remote Replication Nodes">remote replications nodes</a>. There is a remote replication node corresponding to each + remote virtualhost node that form part of the group.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Concepts-Broker.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">4.2. Broker </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%"> 4.4. Remote Replication Nodes</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 © 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/d1947fd4/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Virtualhosts.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Virtualhosts.html b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Virtualhosts.html new file mode 100644 index 0000000..ae1b4d7 --- /dev/null +++ b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts-Virtualhosts.html @@ -0,0 +1,158 @@ +<!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.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"/> + <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>™</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-java-6.1.7/index.html">Qpid for Java 6.1.7</a></li><li><a href="/releases/qpid-java-6.1.7/java-broker/book/index.html">Apache Qpid Broker for Java</a></li><li>4.5. Virtualhosts</li></ul> + + <div id="-middle-content"> + <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.5. Virtualhosts</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Prev</a> </td><th align="center" width="60%">Chapter 4. Concepts</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Concepts-Exchanges.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-Virtualhosts"></a>4.5. Virtualhosts</h2></div></div></div><p>A virtualhost is a namespace in which messaging is performed. Virtualhosts are independent; + the messaging that goes on within one virtualhost is independent of any messaging that goes on + in another virtualhost. For instance, a queue named <span class="emphasis"><em>foo</em></span> defined in one + virtualhost is completely independent of a queue named <span class="emphasis"><em>foo</em></span> in another + virtualhost.</p><p>A virtualhost is identified by a name which must be unique broker-wide. Clients use the name + to identify the virtualhost to which they wish to connect when they connect.</p><p>A virtualhost exists in a container called a virtualhost node.</p><p>The virtualhost comprises a number of entities. This section summaries the purpose of + each of the entities and describes the relationships between them. These details are developed + further in the sub-sections that follow.</p><p><span class="emphasis"><em>Exchanges</em></span> is a named entity within the Virtual Host which receives + messages from producers and routes them to matching Queues.</p><p><span class="emphasis"><em>Queues</em></span> are named entities that hold messages for delivery to consumer + applications.</p><p><span class="emphasis"><em>Bindings</em></span> are relationships between Exchanges and Queue that facilitate + routing of messages from the Exchange to the Queue.</p><p><span class="emphasis"><em>Connections</em></span> represent a live connection to the virtualhost from a + messaging client.</p><p>A <span class="emphasis"><em>Session</em></span> represents a context for the production or consumption of + messages. A Connection can have many Sessions.</p><p>A <span class="emphasis"><em>Consumer</em></span> represents a live consumer that is attached to queue.</p><p><span class="emphasis"><em>Loggers</em></span> are responsible for producing logs for this virtualhost.</p><p> The following diagram depicts the Virtualhost model: </p><div class="figure"><a id="d0e503"></a><p class="title"><strong>Figure 4.3. Virtualhost Model showing major entities</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Virtual Host Model" src="images/VirtualHost-Model.png" /></div></div></div><p><br class="figure-break" /> + </p><p>A <span class="emphasis"><em>virtualhost</em></span> is backed by storage which is used to store the + messages.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Concepts-RemoteReplicationNodes.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Concepts.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Concepts-Exchanges.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">4.4. Remote Replication Nodes </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%"> 4.6. Exchanges</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 © 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/d1947fd4/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts.html b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts.html new file mode 100644 index 0000000..a887fd3 --- /dev/null +++ b/content/releases/qpid-java-6.1.7/java-broker/book/Java-Broker-Concepts.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>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://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>™</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-java-6.1.7/index.html">Qpid for Java 6.1.7</a></li><li><a href="/releases/qpid-java-6.1.7/java-broker/book/index.html">Apache Qpid Broker for Java</a></li><li>Chapter 4. Concepts</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 4. Concepts</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Getting-Started-CommandLine.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Concepts-Broker.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="Java-Broker-Concepts"></a>Chapter 4. Concepts</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="Java-Broker-Concepts.html#Java-Broker-Concepts-Overview">4.1. Overview</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Broker.html">4.2. Broker</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Virtualhost-Nodes.html" >4.3. Virtualhost Nodes</a></span></dt><dt><span class="section"><a >href="Java-Broker-Concepts-RemoteReplicationNodes.html">4.4. Remote >Replication Nodes</a></span></dt><dt><span class="section"><a >href="Java-Broker-Concepts-Virtualhosts.html">4.5. >Virtualhosts</a></span></dt><dt><span class="section"><a >href="Java-Broker-Concepts-Exchanges.html">4.6. >Exchanges</a></span></dt><dd><dl><dt><span class="section"><a >href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-Predeclared">4.6.1. > Predeclared Exchanges</a></span></dt><dt><span class="section"><a >href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-Types">4.6.2. > Exchange Types</a></span></dt><dt><span class="section"><a >href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-BindingArguments">4.6.3. > Binding Arguments</a></span></dt><dt><span class="section"><a >href="Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage">4.6.4. > Unrouteable Messa ges</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Concepts-Queues.html">4.7. Queues</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Types">4.7.1. Types</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-QueueDeclareArguments">4.7.2. Queue Declare Arguments</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-Message-Grouping">4.7.3. Messaging Grouping</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queues-SetLowPrefetch">4.7.4. Using low pre-fetch with special queue types</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-EnsureNonDestructiveConsumers">4.7.5. Forcing all consumers to be non-destructive</a></span></dt><dt><span class="section"><a href="Java-Br oker-Concepts-Queues.html#Java-Broker-Concepts-Queue-HoldingEntries">4.7.6. Holding messages on a Queue</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Concepts-Ports.html">4.8. Ports</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Authentication-Providers.html">4.9. Authentication Providers</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Other-Services.html">4.10. Other Services</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Concepts-Other-Services.html#Java-Broker-Concepts-Access-Control-Providers">4.10.1. Access Control Providers</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Other-Services.html#Java-Broker-Concepts-Group-Providers">4.10.2. Group Providers</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Other-Services.html#Java-Broker-Concepts-Keystores">4.10.3. Keystores</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts- Other-Services.html#Java-Broker-Concepts-Truststores">4.10.4. Truststores</a></span></dt><dt><span class="section"><a href="Java-Broker-Concepts-Other-Services.html#Java-Broker-Concepts-Loggers">4.10.5. Loggers</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Concepts-Overview"></a>4.1. Overview</h2></div></div></div><p>The Broker comprises a number of entities. This section summaries the purpose of each of + the entities and describes the relationships between them. These details are developed further + in the sub-sections that follow.</p><p>The most important entity is the <span class="emphasis"><em>Virtualhost</em></span>. A virtualhost is an + independent namespace in which messaging is performed. A <span class="emphasis"><em>virtualhost</em></span> exists + in a container called a <span class="emphasis"><em>virtualhost node</em></span>. A virtualhost node has exactly + one virtualhost.</p><p><span class="emphasis"><em>Ports</em></span> accept connections for messaging and management. The Broker + supports any number of ports. When connecting for messaging, the user specifies a virtualhost + name to indicate the virtualhost to which it is to be connected.</p><p><span class="emphasis"><em>Authentication Providers</em></span> assert the identity of the user as it connects + for messaging or management. The Broker supports any number of authentication providers. Each + port is associated with exactly one authentication provider. The port uses the authentication + provider to assert the identity of the user as new connections are received.</p><p><span class="emphasis"><em>Group Providers</em></span> provide mechanisms that provide grouping of users. A + Broker supports zero or more group providers.</p><p><span class="emphasis"><em>Access Control Provider</em></span> allows the abilities of users (or groups of + users) to be restrained. A Broker can have zero or one access control providers.</p><p><span class="emphasis"><em>Keystores</em></span> provide a repositories of certificates and are used when the + Broker accepts SSL connections. Any number of keystore providers can be defined. Keystores are + be associated with Ports defined to accepts SSL.</p><p><span class="emphasis"><em>Truststores</em></span> provide a repositories of trust and are used to validate a + peer. Any number of truststore provides can be defined. Truststores can be associated with Ports + and other entities that form SSL connections.</p><p><span class="emphasis"><em>Remote Replication Nodes</em></span> are used when the high availability feature is + in use. It is the remote representation of other virtualhost nodes that form part of the same + group.</p><p><span class="emphasis"><em>Loggers</em></span>, at this point in the hierarchy, are responsible for the + production of a log for the Broker.</p><p>These concepts will be developed over the forthcoming pages. The diagrams below also help + put these entities in context of one and other.</p><p> + </p><div class="figure"><a id="d0e392"></a><p class="title"><strong>Figure 4.1. Message Flow through Key Entities</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Message Flow through the Key Entities of the Broker" src="images/Broker-MessageFlow.png" /></div></div></div><p><br class="figure-break" /> + </p><p> + </p><div class="figure"><a id="d0e404"></a><p class="title"><strong>Figure 4.2. Broker Structure showing major entities</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Broker Structure" src="images/Broker-Model.png" /></div></div></div><p><br class="figure-break" /> + </p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Getting-Started-CommandLine.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Concepts-Broker.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">3.5. Using the command line </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%"> 4.2. Broker</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 © 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> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
