qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From acon...@apache.org
Subject svn commit: r1368244 [4/14] - in /qpid/site/docs/books/trunk: AMQP-Messaging-Broker-CPP-Book/html/ AMQP-Messaging-Broker-CPP-Book/html/css/ AMQP-Messaging-Broker-CPP-Book/pdf/ AMQP-Messaging-Broker-Java-Book/html/ AMQP-Messaging-Broker-Java-Book/html/c...
Date Wed, 01 Aug 2012 20:54:49 GMT
Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chap-Messaging_User_Guide-Security.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chap-Messaging_User_Guide-Security.html?rev=1368244&r1=1368243&r2=1368244&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chap-Messaging_User_Guide-Security.html (original)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chap-Messaging_User_Guide-Security.html Wed Aug  1 20:54:46 2012
@@ -1,6 +1,6 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>1.5. Security</title><link rel="stylesheet" type="text/css" href="css/style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="up" href="ch01.html" title="Chapter 1.  Running the AMQP Messaging Broker"><link rel="prev" href="chap-Messaging_User_Guide-Broker_Federation.html" title="1.4. Broker Federation"><link rel="next" href="ch01s06.html" title="1.6. LVQ - Last Value Queue"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">1.5. Security</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="chap-Messaging_User_Guide-Broker_Federation.html">Prev</a> </td><th width="60%" align="center">Chapter 1. 
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>1.5. Security</title><link rel="stylesheet" type="text/css" href="css/style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="up" href="ch01.html" title="Chapter 1.  Running the AMQP Messaging Broker"><link rel="prev" href="chap-Messaging_User_Guide-Broker_Federation.html" title="1.4. Broker Federation"><link rel="next" href="ch01s06.html" title="1.6. LVQ - Last Value Queue"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/index.html">Home</A></LI><LI>
 <A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">0.14 Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A href="http://qpid.apache.or
 g/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A href="http://www.apache.org
 ">Home</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="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Implemented in C++)</a></span> &gt; <span class="breadcrumb-link"><a href="ch01.html">
       Running the AMQP Messaging Broker
-    </th><td width="20%" align="right"> <a accesskey="n" href="ch01s06.html">Next</a></td></tr></table><hr></div><div class="section" title="1.5. Security"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chap-Messaging_User_Guide-Security"></a>1.5. Security</h2></div></div></div><p>
+    </a></span> &gt; <span class="breadcrumb-node">Security</span></DIV><div class="section" title="1.5. Security"><div class="titlepage"><div><div><h2 class="title"><a name="chap-Messaging_User_Guide-Security"></a>1.5. Security</h2></div></div></div><p>
 		This chapter describes how authentication, rule-based authorization, encryption, and digital signing can be accomplished using Qpid. Authentication is the process of verifying the identity of a user; in Qpid, this is done using the SASL framework. Rule-based authorization is a mechanism for specifying the actions that each user is allowed to perform; in Qpid, this is done using an Access Control List (ACL) that is part of the Qpid broker. Encryption is used to ensure that data is not transferred in a plain-text format that could be intercepted and read. Digital signatures provide proof that a given message was sent by a known sender. Encryption and signing are done using SSL (they can also be done using SASL, but SSL provides stronger encryption).
 	</p><div class="section" title="1.5.1. User Authentication"><div class="titlepage"><div><div><h3 class="title"><a name="sect-Messaging_User_Guide-Security-User_Authentication"></a>1.5.1. User Authentication</h3></div></div></div><p>
 			AMQP uses Simple Authentication and Security Layer (SASL) to authenticate client connections to the broker. SASL is a framework that supports a variety of authentication methods. For secure applications, we suggest <span class="command"><strong>CRAM-MD5</strong></span>, <span class="command"><strong>DIGEST-MD5</strong></span>, or <span class="command"><strong>GSSAPI</strong></span>. The <span class="command"><strong>ANONYMOUS</strong></span> method is not secure. The <span class="command"><strong>PLAIN</strong></span> method is secure only when used together with SSL.
@@ -99,7 +99,7 @@ com.sun.security.jgss.initiate {
 									Enables detailed debug info for troubleshooting
 								</p></dd></dl></div></li><li class="step" title="Step 2"><p>
 						The client's Connection URL must specify the following Kerberos-specific broker properties:
-					</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+					</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
 								<code class="varname">sasl_mechs</code> must be set to <code class="literal">GSSAPI</code>.
 							</p></li><li class="listitem"><p>
 								<code class="varname">sasl_protocol</code> must be set to the principal for the qpidd broker, e.g. <code class="literal">qpidd</code>/
@@ -120,34 +120,6 @@ acl deny all all
 		</p><pre class="programlisting">
 acl allow rajith@QPID all all
 </pre><p>
-			In deny mode, denying rights to an action is redundant and has no effect.
-		</p><pre class="programlisting">
-acl allow rajith@QPID all all
-acl deny jonathan@QPID all all # This rule is redundant, and has no effect
-acl deny all all
-</pre><p>
-			If the last line in an ACL file is <code class="literal">acl allow all all</code>, ACL uses <em class="firstterm">allow mode</em>, and all rights are granted except those that are explicitly denied. The following ACL file allows everyone else to perform any action, but denies <code class="literal">jonathan@QPID</code> all permissions.
-		</p><pre class="programlisting">
-acl deny jonathan@QPID all all
-acl allow all all
-</pre><p>
-			In allow mode, allowing rights to an action is redundant and has no effect.
-		</p><pre class="programlisting">
-acl allow rajith@QPID all all # This rule is redundant, and has no effect
-acl deny jonathan@QPID all all
-acl allow all all
-</pre><div class="important" title="Important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>
-				ACL processing ends when one of the following lines is encountered:
-			</p><pre class="programlisting">
-acl allow all all
-</pre><pre class="programlisting">
-acl deny all all
-</pre><p>
-				Any lines that occur after one of these statements will be ignored:
-			</p><pre class="programlisting">
-acl allow all all
-acl deny jonathan@QPID all all # This line is ignored !!!
-</pre></div><p>
 			ACL syntax allows fine-grained access rights for specific actions:
 		</p><pre class="programlisting">
 acl allow carlt@QPID create exchange name=carl.*
@@ -163,8 +135,25 @@ acl allow admin create all
 acl deny all all
 </pre><div class="section" title="1.5.2.1. ACL Syntax"><div class="titlepage"><div><div><h4 class="title"><a name="sect-Messaging_User_Guide-Authorization-ACL_Syntax"></a>1.5.2.1. ACL Syntax</h4></div></div></div><p>
 				ACL rules must be on a single line and follow this syntax:
-</p><pre class="programlisting">acl permission {&lt;group-name&gt;|&lt;user-name&gt;|"all"} {action|"all"} [object|"all"] [property=&lt;property-value&gt;]
+</p><pre class="programlisting">
+user = username[/domain[@realm]]
+user-list = user1 user2 user3 ...
+group-name-list = group1 group2 group3 ...
+
+group &lt;group-name&gt; = [user-list] [group-name-list]
+
+permission = [allow|allow-log|deny|deny-log]
+action = [consume|publish|create|access|bind|unbind|delete|purge|update]
+object = [virtualhost|queue|exchange|broker|link|route|method]
+property = [name|durable|owner|routingkey|autodelete|exclusive|
+            type|alternate|queuename|schemapackage|schemaclass|
+            queuemaxsizelowerlimit|queuemaxsizeupperlimit|
+            queuemaxcountlowerlimit|queuemaxcountupperlimit]
+
+acl permission {&lt;group-name&gt;|&lt;user-name&gt;|"all"} {action|"all"} [object|"all" 
+            [property=&lt;property-value&gt; ...]]
 </pre><p>
+
 				 ACL rules can also include a single object name (or the keyword <em class="parameter"><code>all</code></em>) and one or more property name value pairs in the form <span class="command"><strong>property=value</strong></span>
 			</p><p>
 				The following tables show the possible values for <span class="command"><strong>permission</strong></span>, <span class="command"><strong>action</strong></span>, <span class="command"><strong>object</strong></span>, and <span class="command"><strong>property</strong></span> in an ACL rules file.
@@ -294,110 +283,91 @@ acl deny all all
 									Management or agent or broker method
 								</p>
 
-							</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesproperty"></a><p class="title"><b>Table 1.7. ACL Rules:property</b></p><div class="table-contents"><table summary="ACL Rules:property" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
-								<span class="command"><strong>name</strong></span>
-							</td><td>
-								<p>
-									String. Object name, such as a queue name or exchange name.
-								</p>
-
-							</td></tr><tr><td>
-								<span class="command"><strong>durable</strong></span>
-							</td><td>
-								<p>
-									Boolean. Indicates the object is durable
-								</p>
-
-							</td></tr><tr><td>
-								<span class="command"><strong>routingkey</strong></span>
-							</td><td>
-								<p>
-									Sring. Specifies routing key
-								</p>
-
-							</td></tr><tr><td>
-								<span class="command"><strong>passive</strong></span>
-							</td><td>
-								<p>
-									Boolean. Indicates the presence of a <em class="parameter"><code>passive</code></em> flag
-								</p>
-
-							</td></tr><tr><td>
-								<span class="command"><strong>autodelete</strong></span>
-							</td><td>
-								<p>
-									Boolean. Indicates whether or not the object gets deleted when the connection is closed
-								</p>
-
-							</td></tr><tr><td>
-								<span class="command"><strong>exclusive</strong></span>
-							</td><td>
-								<p>
-									Boolean. Indicates the presence of an <em class="parameter"><code>exclusive</code></em> flag
-								</p>
-
-							</td></tr><tr><td>
-								<span class="command"><strong>type</strong></span>
-							</td><td>
-								<p>
-									String. Type of object, such as topic, fanout, or xml
-								</p>
-
-							</td></tr><tr><td>
-								<span class="command"><strong>alternate</strong></span>
-							</td><td>
-								<p>
-									String. Name of the alternate exchange
-								</p>
-
-							</td></tr><tr><td>
-								<span class="command"><strong>queuename</strong></span>
-							</td><td>
-								<p>
-									String. Name of the queue (used only when the object is something other than <em class="parameter"><code>queue</code></em>
-								</p>
-
-							</td></tr><tr><td>
-								<span class="command"><strong>schemapackage</strong></span>
-							</td><td>
-								<p>
-									String. QMF schema package name
-								</p>
-
-							</td></tr><tr><td>
-								<span class="command"><strong>schemaclass</strong></span>
-							</td><td>
-								<p>
-									String. QMF schema class name
-								</p>
-
-							</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="1.5.2.2. ACL Syntactic Conventions"><div class="titlepage"><div><div><h4 class="title"><a name="sect-Messaging_User_Guide-Authorization-ACL_Syntactic_Conventions"></a>1.5.2.2. ACL Syntactic Conventions</h4></div></div></div><p>
+							</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesproperty"></a><p class="title"><b>Table 1.7. ACL Rules:property</b></p><div class="table-contents"><table summary="ACL Rules:property" border="1"><colgroup><col><col><col><col></colgroup><thead><tr><th>Property</th><th>Type</th><th>Description</th><th>Usage</th></tr></thead><tbody><tr><td> <span class="command"><strong>name</strong></span> </td><td>String</td><td>Object name, such as a queue name or exchange name.</td><td>.</td></tr><tr><td> <span class="command"><strong>durable</strong></span> </td><td>Boolean</td><td>Indicates the object is durable</td><td>CREATE QUEUE, CREATE EXCHANGE</td></tr><tr><td> <span class="command"><strong>routingkey</strong></span> </td><td>String</td><td>Specifies routing key</td><td>BIND EXCHANGE, UNBIND EXCHANGE, ACCESS EXCHANGE</td></tr><tr><td> <span class="command"><strong>autodelete</strong><
 /span> </td><td>Boolean</td><td>Indicates whether or not the object gets deleted when the connection is closed</td><td>CREATE QUEUE</td></tr><tr><td> <span class="command"><strong>exclusive</strong></span> </td><td>Boolean</td><td>Indicates the presence of an <em class="parameter"><code>exclusive</code></em> flag</td><td>CREATE QUEUE</td></tr><tr><td> <span class="command"><strong>type</strong></span> </td><td>String</td><td>Type of exchange, such as topic, fanout, or xml</td><td>CREATE EXCHANGE</td></tr><tr><td> <span class="command"><strong>alternate</strong></span> </td><td>String</td><td>Name of the alternate exchange</td><td>CREATE EXCHANGE, CREATE QUEUE</td></tr><tr><td> <span class="command"><strong>queuename</strong></span> </td><td>String</td><td>Name of the queue</td><td>ACCESS EXCHANGE</td></tr><tr><td> <span class="command"><strong>schemapackage</strong></span> </td><td>String</td><td>QMF schema package name</td><td>ACCESS METHOD</td></tr><tr><td> <span class="co
 mmand"><strong>schemaclass</strong></span> </td><td>String</td><td>QMF schema class name</td><td>ACCESS METHOD</td></tr><tr><td> <span class="command"><strong>queuemaxsizelowerlimit</strong></span> </td><td>Integer</td><td>Minimum value for queue.max_size</td><td>CREATE QUEUE</td></tr><tr><td> <span class="command"><strong>queuemaxsizeupperlimit</strong></span> </td><td>Integer</td><td>Maximum value for queue.max_size</td><td>CREATE QUEUE</td></tr><tr><td> <span class="command"><strong>queuemaxcountlowerlimit</strong></span> </td><td>Integer</td><td>Minimum value for queue.max_count</td><td>CREATE QUEUE</td></tr><tr><td> <span class="command"><strong>queuemaxcountupperlimit</strong></span> </td><td>Integer</td><td>Maximum value for queue.max_count</td><td>CREATE QUEUE</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="1.5.2.2. ACL Syntactic Conventions"><div class="titlepage"><div><div><h4 class="title"><a name="sect-Messaging_U
 ser_Guide-Authorization-ACL_Syntactic_Conventions"></a>1.5.2.2. ACL Syntactic Conventions</h4></div></div></div><p>
 				In ACL files, the following syntactic conventions apply:
-				</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+				</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
 							A line starting with the <span class="command"><strong>#</strong></span> character is considered a comment and is ignored.
 						</p></li><li class="listitem"><p>
-							Empty lines and lines that contain only whitespace are ignored
+							Empty lines and lines that contain only whitespace (' ', '\f', '\n', '\r', '\t', '\v') are ignored.
 						</p></li><li class="listitem"><p>
-							All tokens are case sensitive. <em class="parameter"><code>name1</code></em> is not the same as <em class="parameter"><code>Name1</code></em> and <em class="parameter"><code>create</code></em> is not the same as <em class="parameter"><code>CREATE</code></em>
+							All tokens are case sensitive. <em class="parameter"><code>name1</code></em> is not the same as <em class="parameter"><code>Name1</code></em> and <em class="parameter"><code>create</code></em> is not the same as <em class="parameter"><code>CREATE</code></em>.
 						</p></li><li class="listitem"><p>
-							Group lists can be extended to the following line by terminating the line with the <span class="command"><strong>\</strong></span> character
+							Group lists can be extended to the following line by terminating the line with the <span class="command"><strong>\</strong></span> character.
 						</p></li><li class="listitem"><p>
 							Additional whitespace - that is, where there is more than one whitespace character - between and after tokens is ignored. Group and ACL definitions must start with either <span class="command"><strong>group</strong></span> or <span class="command"><strong>acl</strong></span> and with no preceding whitespace.
 						</p></li><li class="listitem"><p>
-							All ACL rules are limited to a single line
+							All ACL rules are limited to a single line of at most 1024 characters.
 						</p></li><li class="listitem"><p>
-							Rules are interpreted from the top of the file down until the name match is obtained; at which point processing stops.
+							Rules are interpreted from the top of the file down until a matching rule is obtained. The matching rule then controls the allow or deny decision.
 						</p></li><li class="listitem"><p>
-							The keyword <em class="parameter"><code>all</code></em> matches all individuals, groups and actions
+							The keyword <em class="parameter"><code>all</code></em> is reserved and may be used in ACL rules to match all individuals and groups, all actions, or all objects.
 						</p></li><li class="listitem"><p>
-							The last line of the file - whether present or not - will be assumed to be <span class="command"><strong>acl deny all all</strong></span>. If present in the file, all lines below it are ignored.
+							By default ACL files are in 'Deny Mode' and deny all actions by all users. That is, there is an implicit <em class="parameter"><code>acl deny all all</code></em> rule appended to the ACL rule list.
 						</p></li><li class="listitem"><p>
-							Names and group names may contain only <em class="parameter"><code>a-z</code></em>, <em class="parameter"><code>A-Z</code></em>, <em class="parameter"><code>0-9</code></em>, <em class="parameter"><code>-</code></em> and <em class="parameter"><code>_</code></em>
+							Group names may contain only <em class="parameter"><code>a-z</code></em>, <em class="parameter"><code>A-Z</code></em>, <em class="parameter"><code>0-9</code></em>, <em class="parameter"><code>- hyphen</code></em> and <em class="parameter"><code>_ underscore</code></em>.
+						</p></li><li class="listitem"><p>
+							Individual user names may contain only <em class="parameter"><code>a-z</code></em>, <em class="parameter"><code>A-Z</code></em>, <em class="parameter"><code>0-9</code></em>, <em class="parameter"><code>- hyphen</code></em>, <em class="parameter"><code>_ underscore</code></em>, <em class="parameter"><code>. period</code></em>, <em class="parameter"><code>@ ampersand</code></em>, and  <em class="parameter"><code>/ slash</code></em>.
 						</p></li><li class="listitem"><p>
 							Rules must be preceded by any group definitions they can use. Any name not defined as a group will be assumed to be that of an individual.
 						</p></li></ul></div><p>
 
-			</p></div><div class="section" title="1.5.2.3. Specifying ACL Permissions"><div class="titlepage"><div><div><h4 class="title"><a name="sect-Messaging_User_Guide-Authorization-Specifying_ACL_Permissions"></a>1.5.2.3. Specifying ACL Permissions</h4></div></div></div><p>
+			</p></div><div class="section" title="1.5.2.3. ACL Rule Matching"><div class="titlepage"><div><div><h4 class="title"><a name="sect-Messaging_User_Guide-Authorization-ACL_Rule_Matching"></a>1.5.2.3. ACL Rule Matching</h4></div></div></div><p>
+			   The minimum matching criteria for ACL rules are:
+			   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem">An actor (individually named or group member)</li><li class="listitem">An action</li><li class="listitem">An object</li></ul></div><p>
+			 </p><p>
+			   If a rule does not match the minimum criteria then that rule does not control the ACL allow or deny decision.
+			 </p><p>
+			   ACL rules optionally specify object names and property name=value pairs. If an ACL rule specifies an object name or property values than all of them must match to cause the rule to match.
+			 </p><p>
+			   The following illustration shows how ACL rules are processed to find matching rules.
+</p><pre class="programlisting">
+# Example of rule matching
+#
+# Using this ACL file content:
+
+(1)  acl deny bob create exchange name=test durable=true passive=true
+(2)  acl deny bob create exchange name=myEx type=direct
+(3)  acl allow all all
+
+#
+# Lookup 1. id:bob action:create objectType:exchange name=test 
+#           {durable=false passive=false type=direct alternate=}
+#
+# ACL Match Processing:
+#  1. Rule 1 passes minimum criteria with user bob, action create, 
+#     and object exchange.
+#  2. Rule 1 matches name=test.
+#  3. Rule 1 does not match the rule's durable=true with the requested 
+#     lookup of durable=false.
+#  4. Rule 1 does not control the decision and processing continues 
+#     to Rule 2.
+#  5. Rule 2 passes minimum criteria with user bob, action create, 
+#     and object exchange.
+#  6. Rule 2 does not match the rule's name=myEx with the requested 
+#     lookup of name=test.
+#  7. Rule 2 does not control the decision and processing continues 
+#     to Rule 3.
+#  8. Rule 3 matches everything and the decision is 'allow'.
+#
+# Lookup 2. id:bob action:create objectType:exchange name=myEx 
+#           {durable=true passive=true type=direct alternate=}
+#
+# ACL Match Processing:
+#  1. Rule 1 passes minimum criteria with user bob, action create, 
+#     and object exchange.
+#  6. Rule 1 does not match the rule's name=test with the requested 
+#     lookup of name=myEx.
+#  4. Rule 1 does not control the decision and processing continues
+#     to Rule 2.
+#  5. Rule 2 passes minimum criteria with user bob, action create, 
+#     and object exchange.
+#  2. Rule 2 matches name=myEx.
+#  3. Rule 2 matches the rule's type=direct with the requested 
+#     lookup of type=direct.
+#  8. Rule 2 is the matching rule and the decision is 'deny'.
+#
+</pre><p>
+			 </p></div><div class="section" title="1.5.2.4. Specifying ACL Permissions"><div class="titlepage"><div><div><h4 class="title"><a name="sect-Messaging_User_Guide-Authorization-Specifying_ACL_Permissions"></a>1.5.2.4. Specifying ACL Permissions</h4></div></div></div><p>
 				Now that we have seen the ACL syntax, we will provide representative examples and guidelines for ACL files.
 			</p><p>
 				Most ACL files begin by defining groups:
@@ -427,6 +397,17 @@ acl deny all all
 </pre><p>
 				In the previous example, the last line, <code class="literal">acl deny all all</code>, denies all authorizations that have not been specifically granted. This is the default, but it is useful to include it explicitly on the last line for the sake of clarity. If you want to grant all rights by default, you can specify <code class="literal">acl allow all all</code> in the last line.
 			</p><p>
+			  ACL allows specification of conflicting rules. Be sure to specify the most specific rules first followed by more general rules. Here is an example:
+			</p><p>
+</p><pre class="programlisting">
+group users alice@QPID bob@QPID charlie@QPID
+acl deny  charlie@QPID create queue
+acl allow users        create queue
+acl deny all all
+</pre><p>
+			</p><p>
+			  In this example users alice and bob would be able to create queues due to their membership in the users group. However, user charlie is denied from creating a queue despite his membership in the users group because a deny rule for him is stated before the allow rule for the users group.
+			</p><p>
 				Do not allow <em class="parameter"><code>guest</code></em> to access and log QMF management methods that could cause security breaches:
 			</p><pre class="programlisting">
 group allUsers guest@QPID
@@ -435,7 +416,22 @@ acl deny-log allUsers create link
 acl deny-log allUsers access method name=connect
 acl deny-log allUsers access method name=echo
 acl allow all all
-</pre></div></div><div class="section" title="1.5.3. Encryption using SSL"><div class="titlepage"><div><div><h3 class="title"><a name="sect-Messaging_User_Guide-Security-Encryption_using_SSL"></a>1.5.3. Encryption using SSL</h3></div></div></div><p>
+</pre></div><div class="section" title="1.5.2.5. Specifying ACL Connection Limits"><div class="titlepage"><div><div><h4 class="title"><a name="sect-Messaging_User_Guide-Authorization-Specifying_ACL_Connection_Limits"></a>1.5.2.5. Specifying ACL Connection Limits</h4></div></div></div><p>
+			   The ACL module creates two broker command line switches that set limits on the number of connections allowed per user or per client host address. These settings are not specified in the ACL file.
+			 </p><p>
+</p><pre class="programlisting">
+--acl-max-connect-per-user N_USER
+--acl-max-connect-per-ip N_IP
+</pre><p>
+			 </p><p>
+			   If either of these switches is not specified or the value specified is zero then the corresponding connection limit is not enforced.
+			 </p><p>
+			   If a limit is set for user connections then all users are limited to that number of connections regardless of the client IP address the users are coming from.
+			 </p><p>
+			   If a limit is set for IP connections then connections for a given IP address are limited regardless of the user credentials presented with the connection.
+			 </p><p>
+			   Note that addresses using different transports are counted separately even though the host is actually the same physical machine. In the setting illustrated above a host would allow N_IP connections from [::1] IPv6 transport localhost and another N_IP connections from [127.0.0.1] IPv4 transport localhost.
+			 </p></div></div><div class="section" title="1.5.3. Encryption using SSL"><div class="titlepage"><div><div><h3 class="title"><a name="sect-Messaging_User_Guide-Security-Encryption_using_SSL"></a>1.5.3. Encryption using SSL</h3></div></div></div><p>
 			Encryption and certificate management for <span class="command"><strong>qpidd</strong></span> is provided by Mozilla's Network Security Services Library (NSS).
 		</p><div class="orderedlist" title="Enabling SSL for the Qpid broker"><a name="orde-Messaging_User_Guide-Encryption_using_SSL-Enabling_SSL_for_the_RHM_broker"></a><p class="title"><b>Enabling SSL for the Qpid broker</b></p><ol class="orderedlist" type="1"><li class="listitem"><p>
 					You will need a certificate that has been signed by a Certification Authority (CA). This certificate will also need to be trusted by your client. If you require client authentication in addition to server authentication, the client's certificate will also need to be signed by a CA and trusted by the broker.
@@ -526,4 +522,4 @@ certutil -S -d ${CERT_DIR} -n ${NICKNAME
 									If you need to debug problems in an SSL connection, enable Java's SSL debugging by passing the argument <code class="literal">-Djavax.net.debug=ssl</code> to the Java JVM when starting your client.
 								</p></li></ol></div><p>
 
-					</p></dd></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="chap-Messaging_User_Guide-Broker_Federation.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.4. Broker Federation </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 1.6. LVQ - Last Value Queue</td></tr></table></div></body></html>
+					</p></dd></dl></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="chap-Messaging_User_Guide-Broker_Federation.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.4. Broker Federation </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 1.6. LVQ - Last Value Queue</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chapter-Managing-CPP-Broker.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chapter-Managing-CPP-Broker.html?rev=1368244&r1=1368243&r2=1368244&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chapter-Managing-CPP-Broker.html (original)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chapter-Managing-CPP-Broker.html Wed Aug  1 20:54:46 2012
@@ -1,6 +1,6 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 2.  Managing the AMQP Messaging Broker</title><link rel="stylesheet" type="text/css" href="css/style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="up" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="prev" href="ch01s14.html" title="1.14. Queue Replication with the HA module"><link rel="next" href="ch02s02.html" title="2.2.  Qpid Management Framework"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. 
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 2.  Managing the AMQP Messaging Broker</title><link rel="stylesheet" type="text/css" href="css/style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="up" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="prev" href="ch01s14.html" title="1.14. Queue Replication with the HA module"><link rel="next" href="ch02s02.html" title="2.2.  Qpid Management Framework"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/index.html">H
 ome</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">0.14 Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A href="http:
 //qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A href="http:
 //www.apache.org">Home</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="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Implemented in C++)</a></span> &gt; <span class="breadcrumb-node">
       Managing the AMQP Messaging Broker
-    </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s14.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 2.  Managing the AMQP Messaging Broker"><div class="titlepage"><div><div><h2 class="title"><a name="chapter-Managing-CPP-Broker"></a>Chapter 2. 
+    </span></DIV><div class="chapter" title="Chapter 2.  Managing the AMQP Messaging Broker"><div class="titlepage"><div><div><h2 class="title"><a name="chapter-Managing-CPP-Broker"></a>Chapter 2. 
       Managing the AMQP Messaging Broker
     </h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#section-Managing-CPP-Broker">2.1.  Managing the C++ Broker </a></span></dt><dd><dl><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#MgmtC-2B-2B-Usingqpidconfig">2.1.1. 
             Using qpid-config
@@ -11,7 +11,7 @@
           </a></span></dt><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#MgmtC-2B-2B-Usingqpidprintevents">2.1.4. 
             Using
             qpid-printevents
-          </a></span></dt><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#id576093">2.1.5. Using qpid-ha</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s02.html">2.2. 
+          </a></span></dt><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#id492102">2.1.5. Using qpid-ha</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s02.html">2.2. 
       Qpid Management Framework
     </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s02.html#QpidManagementFramework-WhatIsQMF">2.2.1. 
             What Is QMF
@@ -42,11 +42,11 @@
             Console Operations
           </a></span></dt><dt><span class="section"><a href="ch02s03.html#QMFPythonConsoleTutorial-DiscoveringwhatKindsofObjectsareAvailable">2.3.4. 
             Discovering what Kinds of Objects are Available
-          </a></span></dt></dl></dd></dl></div><div class="section" title="2.1.  Managing the C++ Broker"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section-Managing-CPP-Broker"></a>2.1.  Managing the C++ Broker </h2></div></div></div><p>
+          </a></span></dt></dl></dd></dl></div><div class="section" title="2.1.  Managing the C++ Broker"><div class="titlepage"><div><div><h2 class="title"><a name="section-Managing-CPP-Broker"></a>2.1.  Managing the C++ Broker </h2></div></div></div><p>
             There are quite a few ways to interact with the C++ broker. The
             command line tools
             include:
-          </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>qpid-route - used to configure federation (a set of federated
+          </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>qpid-route - used to configure federation (a set of federated
             brokers)
             </p></li><li class="listitem"><p>qpid-config - used to configure queues, exchanges, bindings
             and list them etc
@@ -443,7 +443,7 @@ Options:
   -h, --help  show this help message and exit
 </pre><p>
             You get the idea... have fun!
-          </p></div><div class="section" title="2.1.5. Using qpid-ha"><div class="titlepage"><div><div><h3 class="title"><a name="id576093"></a>2.1.5. Using qpid-ha</h3></div></div></div><p>This utility lets you monitor and control the activity of the clustering behavior provided by the HA module.
+          </p></div><div class="section" title="2.1.5. Using qpid-ha"><div class="titlepage"><div><div><h3 class="title"><a name="id492102"></a>2.1.5. Using qpid-ha</h3></div></div></div><p>This utility lets you monitor and control the activity of the clustering behavior provided by the HA module.
   </p><pre class="programlisting">
     
 qpid-ha --help
@@ -459,6 +459,6 @@ Commands are:
 
 For help with a command type: qpid-ha &lt;command&gt; --help
 
-  </pre></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s14.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.14. Queue Replication with the HA module </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.2. 
+  </pre></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s14.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.14. Queue Replication with the HA module </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.2. 
       Qpid Management Framework
-    </td></tr></table></div></body></html>
+    </td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/css/style.css
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/css/style.css?rev=1368244&r1=1368243&r2=1368244&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/css/style.css (original)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/css/style.css Wed Aug  1 20:54:46 2012
@@ -35,15 +35,17 @@ th { 
 }
 
 body {
-    width:950px;
-    margin-left:100px;
-    margin-top:40px;
-
+    margin:0;
     background:#FFFFFF;
     font-family:"Verdana", sans-serif;
     font-size:10pt;
 }
 
+.container {
+    width:950px;
+    margin:0 auto;
+}
+
 body a {
     color:#000000;
 }
@@ -88,6 +90,12 @@ div.titlepage {
     padding-right:6px;
 }
 
+div.breadcrumbs {
+    font-size:9pt;
+    margin-right:10pt;
+    padding-bottom:16px;
+}
+
 .chapter h2.title {
     font-size:20pt;
     color:#0c3b82;
@@ -127,3 +135,145 @@ div.titlepage {
     font-size:9pt;
 }
 
+.header {
+    height:100px;
+    width:950px;
+    background:url(http://qpid.apache.org/images/header.png)
+}
+
+.logo {
+    text-align:center;
+    font-weight:600;
+    padding:0 0 0 0;
+    font-size:14px;
+    font-family:"Verdana", cursive;
+}
+
+.logo a {
+    color:#000000;
+    text-decoration:none;
+}
+
+.main_text_area {
+    margin-left:200px;
+}
+
+.main_text_area_top {
+    height:14px;
+    font-size:1px;
+}
+
+.main_text_area_bottom {
+    display:none;
+/*  height:14px;
+    margin-bottom:4px;*/
+}
+
+.main_text_area_body {
+    padding:5px 24px;
+}
+
+.main_text_area_body p {
+    text-align:justify;
+}
+
+.main_text_area br {
+    line-height:10px;
+}
+
+.main_text_area h1 {
+    font-size:28px;
+    font-weight:600;
+    margin:0 0 24px 0;
+    color:#0c3b82;
+    font-family:"Verdana", Times, serif;
+}
+
+.main_text_area h2 {
+    font-size:24px;
+    font-weight:600;
+    margin:24px 0 8px 0;
+    color:#0c3b82;
+    font-family:"Verdana",Times, serif;
+}
+
+.main_text_area ol, .main_text_area ul {
+    padding:0;
+    margin:10px 0;
+    margin-left:20px;
+}
+
+.main_text_area li {
+/*    margin-left:40px; */
+}
+
+.main_text_area, .menu_box {
+    font-size:13px;
+    line-height:17px;
+    color:#000000;
+}
+
+.main_text_area {
+    font-size:14px;
+}
+
+.main_text_area a {
+    color:#000000;
+}
+
+.main_text_area a:hover {
+    color:#000000;
+}
+
+.menu_box {
+    width:196px;
+    float:left;
+    margin-left:4px;
+}
+
+.menu_box_top {
+    background:url(http://qpid.apache.org/images/menu_top.png) no-repeat; 
+    height:14px;
+    font-size:1px;
+}
+
+.menu_box_body {
+    background:url(http://qpid.apache.org/images/menu_body.png) repeat-y; 
+    padding:5px 24px 5px 24px;
+}
+
+.menu_box_bottom {
+    background:url(http://qpid.apache.org/images/menu_bottom.png) no-repeat; 
+    height:14px;
+    font-size:1px;
+    margin-bottom:1px;
+}
+
+.menu_box h3 {
+    font-size:20px;
+    font-weight:500;
+    margin:0 0 8px 0;
+    color:#0c3b82;
+    font-family:"Verdana",Times, serif;
+}
+
+.menu_box ul {
+    margin:12px;
+    padding:0px;
+}
+
+.menu_box li {
+    list-style:square; 
+}
+
+.menu_box a {
+    color:#000000;
+    text-decoration:none;
+}
+
+.menu_box a:hover {
+    color:#000000;
+    text-decoration:underline;
+}
+
+

Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/index.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/index.html?rev=1368244&r1=1368243&r2=1368244&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/index.html (original)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/index.html Wed Aug  1 20:54:46 2012
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>AMQP Messaging Broker (Implemented in C++)</title><link rel="stylesheet" type="text/css" href="css/style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="next" href="pr01.html" title="Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">AMQP Messaging Broker (Implemented in C++)</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="pr01.html">Next</a></td></tr></table><hr></div><div class="book" title="AMQP Messaging Broker (Implemented in C++)"><div class="titlepage"><div><div><h1 class="title"><a name="id478069"></a>AMQP Messag
 ing Broker (Implemented in C++)</h1></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="pr01.html">Introduction</a></span></dt><dt><span class="chapter"><a href="ch01.html">1. 
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>AMQP Messaging Broker (Implemented in C++)</title><link rel="stylesheet" type="text/css" href="css/style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="next" href="pr01.html" title="Introduction"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">Li
 cense</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">0.14 Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href
 ="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A href="http://www.apache.org">Home</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="http://w
 ww.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-node">AMQP Messaging Broker (Implemented in C++)</span></DIV><div class="book" title="AMQP Messaging Broker (Implemented in C++)"><div class="titlepage"><div><div><h1 class="title"><a name="id409277"></a>AMQP Messaging Broker (Implemented in C++)</h1></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="pr01.html">Introduction</a></span></dt><dt><span class="chapter"><a href="ch01.html">1. 
       Running the AMQP Messaging Broker
     </a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#section-Running-a-Qpid-CPP-Broker">1.1. 
     Running a Qpid C++ Broker
@@ -59,7 +59,7 @@
         Well Behaved Consumers
       </a></span></dt><dt><span class="section"><a href="Using-message-groups.html#usingmessagegroups-BrokerConfig">1.12.5. 
         Broker Configuration
-      </a></span></dt></dl></dd><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html">1.13. Active-passive Messaging Clusters (Preview)</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id579486">1.13.1. Overview</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id585587">1.13.2. Virtual IP Addresses</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id576940">1.13.3. Configuring the Brokers</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id565105">1.13.4. The Cluster Resource Manager</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id554322">1.13.5. Configuring <span class="command"><strong>rgmanager</strong></span> as resource manager</a></span></dt><dt><span cla
 ss="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id546558">1.13.6. Broker Administration Tools</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#ha-creating-replicated">1.13.7. Creating replicated queues and exchanges</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id560960">1.13.8. Client Connection and Fail-over</a></span></dt></dl></dd><dt><span class="section"><a href="ch01s14.html">1.14. Queue Replication with the HA module</a></span></dt></dl></dd><dt><span class="chapter"><a href="chapter-Managing-CPP-Broker.html">2. 
+      </a></span></dt></dl></dd><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html">1.13. Active-passive Messaging Clusters</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id480158">1.13.1. Overview</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id485468">1.13.2. Virtual IP Addresses</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id504207">1.13.3. Configuring the Brokers</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id515081">1.13.4. The Cluster Resource Manager</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id502213">1.13.5. Configuring <span class="command"><strong>rgmanager</strong></span> as resource manager</a></span></dt><dt><span class="sectio
 n"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id499259">1.13.6. Broker Administration Tools</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#ha-creating-replicated">1.13.7. Creating replicated queues and exchanges</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id495282">1.13.8. Client Connection and Fail-over</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id508871">1.13.9. Security.</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#id504747">1.13.10. Integrating with other Cluster Resource Managers</a></span></dt></dl></dd><dt><span class="section"><a href="ch01s14.html">1.14. Queue Replication with the HA module</a></span></dt></dl></dd><dt><span class="chapter"><a href="chapter-Managing-CPP-Broker.html">2. 
       Managing the AMQP Messaging Broker
     </a></span></dt><dd><dl><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#section-Managing-CPP-Broker">2.1.  Managing the C++ Broker </a></span></dt><dd><dl><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#MgmtC-2B-2B-Usingqpidconfig">2.1.1. 
             Using qpid-config
@@ -70,7 +70,7 @@
           </a></span></dt><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#MgmtC-2B-2B-Usingqpidprintevents">2.1.4. 
             Using
             qpid-printevents
-          </a></span></dt><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#id576093">2.1.5. Using qpid-ha</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s02.html">2.2. 
+          </a></span></dt><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#id492102">2.1.5. Using qpid-ha</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s02.html">2.2. 
       Qpid Management Framework
     </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s02.html#QpidManagementFramework-WhatIsQMF">2.2.1. 
             What Is QMF
@@ -101,4 +101,4 @@
             Console Operations
           </a></span></dt><dt><span class="section"><a href="ch02s03.html#QMFPythonConsoleTutorial-DiscoveringwhatKindsofObjectsareAvailable">2.3.4. 
             Discovering what Kinds of Objects are Available
-          </a></span></dt></dl></dd></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="ch01.html#id540543">QMF Management - Broker Methods for Managing the Timestamp Configuration</a></dt><dt>1.2. <a href="chap-Messaging_User_Guide-Broker_Federation.html#tabl-Messaging_User_Guide-The_qpid_route_Utility-qpid_route_options"><span class="command">qpid-route</span> options</a></dt><dt>1.3. <a href="chap-Messaging_User_Guide-Broker_Federation.html#tabl-Messaging_User_Guide-Resilient_Connections-State_values_in_qpid_route_list_connections">State values in <span class="command">$ qpid-route list connections</span></a></dt><dt>1.4. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rules_permission">ACL Rules: permission</a></dt><dt>1.5. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesaction">ACL Rules:action</a></dt><dt>1.6. <a href="chap-Messaging_U
 ser_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesobject">ACL Rules:object</a></dt><dt>1.7. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesproperty">ACL Rules:property</a></dt><dt>1.8. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-Enabling_SSL_in_Clients-SSL_Client_Environment_Variables_for_C_clients">SSL Client Environment Variables for C++ clients</a></dt><dt>1.9. <a href="chap-Messaging_User_Guide-Active_Active_Cluster.html#tabl-Messaging_User_Guide-Starting_a_Broker_in_a_Cluster-Options_for_High_Availability_Messaging_Cluster">Options for High Availability Messaging Cluster</a></dt><dt>1.10. <a href="producer-flow-control.html#id544823">Queue Declare Method Flow Control Arguments</a></dt><dt>1.11. <a href="producer-flow-control.html#id573143">Flow Control Statistics available in Queue's QMF Class</a></dt><dt>1.12. <a href="AMQP-Compatibility.html#id577476">AMQP Version Suppor
 t by Qpid Release</a></dt><dt>1.13. <a href="AMQP-Compatibility.html#id564197">AMQP Version Support - alternate format</a></dt><dt>1.14. <a href="QpidInteroperabilityDocumentation-QpidInteroperabilityDocumentation.html#id579025">SASL Mechanism Support</a></dt><dt>1.15. <a href="QpidInteroperabilityDocumentation-QpidInteroperabilityDocumentation.html#id577042">SASL Custom Mechanisms</a></dt><dt>1.16. <a href="Using-message-groups.html#id554285">qpid-config options for creating message group queues</a></dt><dt>1.17. <a href="Using-message-groups.html#id587082">Queue Declare/Address Syntax Message Group Configuration Arguments</a></dt><dt>1.18. <a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#ha-broker-options">Options for High Availability Messaging Cluster</a></dt><dt>2.1. <a href="ch02s02.html#id541740">XML Attributes for QMF Properties and Statistics</a></dt><dt>2.2. <a href="ch02s02.html#id587286">QMF Datatypes</a></dt><dt>2.3. <a href="ch02s02.html#id580243"
 >XML Schema Mapping for QMF Types</a></dt><dt>2.4. <a href="ch02s03.html#id585087">QMF Python Console Class Methods</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>1.1. <a href="ch01.html#id540600">Enabling Message Timestamping via QMF - Python</a></dt><dt>1.2. <a href="Using-message-groups.html#id580091">Creating a message group queue via qpid-config</a></dt><dt>1.3. <a href="Using-message-groups.html#id575880">Creating a message group queue using address syntax (C++)</a></dt><dt>1.4. <a href="Using-message-groups.html#id579797">Overriding the default message group identifier for the broker</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="pr01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="cente
 r"> </td><td width="40%" align="right" valign="top"> Introduction</td></tr></table></div></body></html>
+          </a></span></dt></dl></dd></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="ch01.html#id471724">QMF Management - Broker Methods for Managing the Timestamp Configuration</a></dt><dt>1.2. <a href="chap-Messaging_User_Guide-Broker_Federation.html#tabl-Messaging_User_Guide-The_qpid_route_Utility-qpid_route_options"><span class="command">qpid-route</span> options</a></dt><dt>1.3. <a href="chap-Messaging_User_Guide-Broker_Federation.html#tabl-Messaging_User_Guide-Resilient_Connections-State_values_in_qpid_route_list_connections">State values in <span class="command">$ qpid-route list connections</span></a></dt><dt>1.4. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rules_permission">ACL Rules: permission</a></dt><dt>1.5. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesaction">ACL Rules:action</a></dt><dt>1.6. <a href="chap-Messaging_U
 ser_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesobject">ACL Rules:object</a></dt><dt>1.7. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesproperty">ACL Rules:property</a></dt><dt>1.8. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-Enabling_SSL_in_Clients-SSL_Client_Environment_Variables_for_C_clients">SSL Client Environment Variables for C++ clients</a></dt><dt>1.9. <a href="chap-Messaging_User_Guide-Active_Active_Cluster.html#tabl-Messaging_User_Guide-Starting_a_Broker_in_a_Cluster-Options_for_High_Availability_Messaging_Cluster">Options for High Availability Messaging Cluster</a></dt><dt>1.10. <a href="producer-flow-control.html#id475969">Queue Declare Method Flow Control Arguments</a></dt><dt>1.11. <a href="producer-flow-control.html#id490908">Flow Control Statistics available in Queue's QMF Class</a></dt><dt>1.12. <a href="AMQP-Compatibility.html#id511148">AMQP Version Suppor
 t by Qpid Release</a></dt><dt>1.13. <a href="AMQP-Compatibility.html#id495332">AMQP Version Support - alternate format</a></dt><dt>1.14. <a href="QpidInteroperabilityDocumentation-QpidInteroperabilityDocumentation.html#id515669">SASL Mechanism Support</a></dt><dt>1.15. <a href="QpidInteroperabilityDocumentation-QpidInteroperabilityDocumentation.html#id488838">SASL Custom Mechanisms</a></dt><dt>1.16. <a href="Using-message-groups.html#id505289">qpid-config options for creating message group queues</a></dt><dt>1.17. <a href="Using-message-groups.html#id519037">Queue Declare/Address Syntax Message Group Configuration Arguments</a></dt><dt>1.18. <a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#ha-broker-options">Broker Options for High Availability Messaging Cluster</a></dt><dt>1.19. <a href="chap-Messaging_User_Guide-Active_Passive_Cluster.html#ha-broker-security-options">Security options for High Availability Messaging Cluster</a></dt><dt>2.1. <a href="ch02s02.ht
 ml#id491846">XML Attributes for QMF Properties and Statistics</a></dt><dt>2.2. <a href="ch02s02.html#id507703">QMF Datatypes</a></dt><dt>2.3. <a href="ch02s02.html#id505065">XML Schema Mapping for QMF Types</a></dt><dt>2.4. <a href="ch02s03.html#id508290">QMF Python Console Class Methods</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>1.1. <a href="ch01.html#id471781">Enabling Message Timestamping via QMF - Python</a></dt><dt>1.2. <a href="Using-message-groups.html#id475497">Creating a message group queue via qpid-config</a></dt><dt>1.3. <a href="Using-message-groups.html#id491757">Creating a message group queue using address syntax (C++)</a></dt><dt>1.4. <a href="Using-message-groups.html#id481885">Overriding the default message group identifier for the broker</a></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"
 > </td><td width="40%" align="right"> <a accesskey="n" href="pr01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Introduction</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/pr01.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/pr01.html?rev=1368244&r1=1368243&r2=1368244&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/pr01.html (original)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/pr01.html Wed Aug  1 20:54:46 2012
@@ -1,6 +1,6 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Introduction</title><link rel="stylesheet" type="text/css" href="css/style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="up" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="prev" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="next" href="ch01.html" title="Chapter 1.  Running the AMQP Messaging Broker"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Introduction</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html
 ">Next</a></td></tr></table><hr></div><div class="preface" title="Introduction"><div class="titlepage"><div><div><h2 class="title"><a name="id478111"></a>Introduction</h2></div></div></div><p>Qpid provides two AMQP messaging brokers:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Implemented in C++ - high performance, low latency, and RDMA support.</p></li><li class="listitem"><p>Implemented in Java - Fully JMS compliant, runs on any Java platform.</p></li></ul></div><p>Both AMQP messaging brokers support clients in multiple
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Introduction</title><link rel="stylesheet" type="text/css" href="css/style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="up" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="prev" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="next" href="ch01.html" title="Chapter 1.  Running the AMQP Messaging Broker"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/index.html">Home</A></LI><LI><A href="http:/
 /qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">0.14 Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A href="http://qpid.apache.org/mailing_lists
 .html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A href="http://www.apache.org">Home</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="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Implemented in C++)</a></span> &gt; <span class="breadcrumb-node">Introduction</span></DIV><div class="preface" title="Introduction"><div class="titlepage"><div><div><h2 class="title"><a name="id409381"></a>Introduction</h2></div></div></div><p>Qpid provides two AMQP messaging brokers:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>Implemented in C++ - high performance, low latency, and RDMA support.</p></li><li class="listitem"><p>Implemented in Java - Fully JMS compliant, runs on 
 any Java platform.</p></li></ul></div><p>Both AMQP messaging brokers support clients in multiple
     languages, as long as the messaging client and the messaging
     broker use the same version of AMQP. See <a class="link" href="AMQP-Compatibility.html" title="1.10.  AMQP compatibility">AMQP Compatibility</a> to see
-    which messaging clients work with each broker.</p><p>This manual contains information specific to the broker that is implemented in C++.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">AMQP Messaging Broker (Implemented in C++) </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. 
+    which messaging clients work with each broker.</p><p>This manual contains information specific to the broker that is implemented in C++.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">AMQP Messaging Broker (Implemented in C++) </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. 
       Running the AMQP Messaging Broker
-    </td></tr></table></div></body></html>
+    </td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/producer-flow-control.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/producer-flow-control.html?rev=1368244&r1=1368243&r2=1368244&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/producer-flow-control.html (original)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/producer-flow-control.html Wed Aug  1 20:54:46 2012
@@ -1,8 +1,8 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>1.9.  Producer Flow Control</title><link rel="stylesheet" type="text/css" href="css/style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="up" href="ch01.html" title="Chapter 1.  Running the AMQP Messaging Broker"><link rel="prev" href="chap-Messaging_User_Guide-Active_Active_Cluster.html" title="1.8. Active-active Messaging Clusters"><link rel="next" href="AMQP-Compatibility.html" title="1.10.  AMQP compatibility"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">1.9. 
-    Producer Flow Control
-  </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="chap-Messaging_User_Guide-Active_Active_Cluster.html">Prev</a> </td><th width="60%" align="center">Chapter 1. 
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>1.9.  Producer Flow Control</title><link rel="stylesheet" type="text/css" href="css/style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in C++)"><link rel="up" href="ch01.html" title="Chapter 1.  Running the AMQP Messaging Broker"><link rel="prev" href="chap-Messaging_User_Guide-Active_Active_Cluster.html" title="1.8. Active-active Messaging Clusters"><link rel="next" href="AMQP-Compatibility.html" title="1.10.  AMQP compatibility"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpi
 d.apache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">0.14 Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository<
 /A></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache<
 /H3><UL><LI><A href="http://www.apache.org">Home</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="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Implemented in C++)</a></span> &gt; <span class="breadcrumb-link"><a href="ch01.html">
       Running the AMQP Messaging Broker
-    </th><td width="20%" align="right"> <a accesskey="n" href="AMQP-Compatibility.html">Next</a></td></tr></table><hr></div><div class="section" title="1.9.  Producer Flow Control"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="producer-flow-control"></a>1.9. 
+    </a></span> &gt; <span class="breadcrumb-node">
+    Producer Flow Control
+  </span></DIV><div class="section" title="1.9.  Producer Flow Control"><div class="titlepage"><div><div><h2 class="title"><a name="producer-flow-control"></a>1.9. 
     Producer Flow Control
   </h2></div></div></div><div class="section" title="1.9.1.  Overview"><div class="titlepage"><div><div><h3 class="title"><a name="producerflowcontrol-Overview"></a>1.9.1. 
       Overview
@@ -168,7 +168,7 @@
         <span class="command"><strong>queue.declare</strong></span> method, via the
         <span class="command"><strong>arguments</strong></span> parameter map.  The following keys can be
         provided in the arguments map for setting flow thresholds:
-      </p><div class="table"><a name="id544823"></a><p class="title"><b>Table 1.10. Queue Declare Method Flow Control Arguments</b></p><div class="table-contents"><table summary="Queue Declare Method Flow Control Arguments" border="1"><colgroup><col><col></colgroup><thead><tr><th>Key</th><th>Value</th></tr></thead><tbody><tr><td>qpid.flow_stop_size</td><td>integer - queue's flow stop threshold value in bytes</td></tr><tr><td>qpid.flow_resume_size</td><td>integer - queue's flow resume threshold value in bytes</td></tr><tr><td>qpid.flow_stop_count</td><td>integer - queue's flow stop threshold value as a message count</td></tr><tr><td>qpid.flow_resume_count</td><td>integer - queue's flow resume threshold value as a message count</td></tr></tbody></table></div></div><br class="table-break"><p>
+      </p><div class="table"><a name="id475969"></a><p class="title"><b>Table 1.10. Queue Declare Method Flow Control Arguments</b></p><div class="table-contents"><table summary="Queue Declare Method Flow Control Arguments" border="1"><colgroup><col><col></colgroup><thead><tr><th>Key</th><th>Value</th></tr></thead><tbody><tr><td>qpid.flow_stop_size</td><td>integer - queue's flow stop threshold value in bytes</td></tr><tr><td>qpid.flow_resume_size</td><td>integer - queue's flow resume threshold value in bytes</td></tr><tr><td>qpid.flow_stop_count</td><td>integer - queue's flow stop threshold value as a message count</td></tr><tr><td>qpid.flow_resume_count</td><td>integer - queue's flow resume threshold value as a message count</td></tr></tbody></table></div></div><br class="table-break"><p>
         The user may disable flow control on a per queue basis by setting
         the flow-stop-size and flow-stop-count to zero for the queue.
       </p><p>
@@ -184,6 +184,6 @@
         the queue's capacity exceeds a flow stop threshold.  This statistic can
         be used to monitor the activity of flow control for any given queue
         over time.
-      </p><div class="table"><a name="id573143"></a><p class="title"><b>Table 1.11. Flow Control Statistics available in Queue's QMF Class</b></p><div class="table-contents"><table summary="Flow Control Statistics available in Queue's QMF Class" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Statistic Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>flowStopped</td><td>Boolean</td><td>If true, producers are blocked by flow control.</td></tr><tr><td>flowStoppedCount</td><td>count32</td><td>Number of times flow control was activated for this queue</td></tr></tbody></table></div></div><br class="table-break"></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="chap-Messaging_User_Guide-Active_Active_Cluster.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accessk
 ey="n" href="AMQP-Compatibility.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.8. Active-active Messaging Clusters </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 1.10. 
+      </p><div class="table"><a name="id490908"></a><p class="title"><b>Table 1.11. Flow Control Statistics available in Queue's QMF Class</b></p><div class="table-contents"><table summary="Flow Control Statistics available in Queue's QMF Class" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Statistic Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>flowStopped</td><td>Boolean</td><td>If true, producers are blocked by flow control.</td></tr><tr><td>flowStoppedCount</td><td>count32</td><td>Number of times flow control was activated for this queue</td></tr></tbody></table></div></div><br class="table-break"></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="chap-Messaging_User_Guide-Active_Active_Cluster.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a a
 ccesskey="n" href="AMQP-Compatibility.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.8. Active-active Messaging Clusters </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 1.10. 
       AMQP compatibility
-    </td></tr></table></div></body></html>
+    </td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>



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


Mime
View raw message