You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by jo...@apache.org on 2011/02/09 22:39:32 UTC

svn commit: r1069126 [6/24] - in /qpid/site/docs/books: 0.7/AMQP-Messaging-Broker-CPP-Book/html-single/ 0.7/AMQP-Messaging-Broker-CPP-Book/html/ 0.7/AMQP-Messaging-Broker-CPP-Book/pdf/ 0.7/AMQP-Messaging-Broker-Java-Book/AMQP-Messaging-Broker-Java-Book...

Modified: qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html-single/AMQP-Messaging-Broker-Java-Book.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html-single/AMQP-Messaging-Broker-Java-Book.html?rev=1069126&r1=1069125&r2=1069126&view=diff
==============================================================================
--- qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html-single/AMQP-Messaging-Broker-Java-Book.html (original)
+++ qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html-single/AMQP-Messaging-Broker-Java-Book.html Wed Feb  9 21:39:27 2011
@@ -1,152 +1,267 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>AMQP Messaging Broker (Implemented in Java)</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" title="AMQP Messaging Broker (Implemented in Java)"><div class="titlepage"><div><div><h1 class="title"><a name="id2282955"></a>AMQP Messaging Broker (Implemented in Java)</h1></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="#id2528294">Introduction</a></span></dt><dt><span class="chapter"><a href="#id2528352">1. General User Guides</a></span></dt><dd><dl><dt><span class="section"><a href="#id2283001">1. 
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book"><div class="titlepage"><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="#id2627708">I. AMQP Messaging Broker (Implemented in Java)</a></span></dt><dd><dl><dt><span class="chapter"><a href="#id2638731">1. General User Guides</a></span></dt><dd><dl><dt><span class="section"><a href="#id2644212">1.1. 
       Java Broker Feature Guide
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#JavaBrokerFeatureGuide-TheQpidpureJavabrokercurrentlysupportsthefollowingfeatures-3A">1.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#JavaBrokerFeatureGuide-TheQpidpureJavabrokercurrentlysupportsthefollowingfeatures-3A">1.1.1. 
             The Qpid pure Java broker currently supports the following
             features:
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2527609">2. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2626308">1.2. 
       Qpid Java FAQ
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaFAQ-Purpose">2.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="#id2530604">3. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaFAQ-Purpose">1.2.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="#id2628828">1.3. 
       Java Environment Variables
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#JavaEnvironmentVariables-SettingQpidEnvironmentVariables">3.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#JavaEnvironmentVariables-SettingQpidEnvironmentVariables">1.3.1. 
             Setting
             Qpid Environment Variables
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2530607">4. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2608509">1.4. 
       Qpid Troubleshooting Guide
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mgettingajava.lang.UnsupportedClassVersionErrorwhenItrytostartthebroker.Whatdoesthismean-3F">4.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mgettingajava.lang.UnsupportedClassVersionErrorwhenItrytostartthebroker.Whatdoesthismean-3F">1.4.1. 
             I'm getting a java.lang.UnsupportedClassVersionError when I
             try to start the broker. What does this mean ?
-          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mhavingaproblembindingtotherequiredhost-3Aportatbrokerstartup-3F">4.2. 
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mhavingaproblembindingtotherequiredhost-3Aportatbrokerstartup-3F">1.4.2. 
             I'm having a problem binding to the required host:port at
             broker startup ?
-          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mhavingproblemswithmyclasspath.HowcanIensurethatmyclasspathisok-3F">4.3. 
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mhavingproblemswithmyclasspath.HowcanIensurethatmyclasspathisok-3F">1.4.3. 
             I'm having problems with my classpath. How can I ensure that
             my classpath is ok ?
-          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-Ican-27tgetthebrokertostart.HowcanIdiagnosetheproblem-3F">4.4. 
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-Ican-27tgetthebrokertostart.HowcanIdiagnosetheproblem-3F">1.4.4. 
             I can't get the broker to start. How can I diagnose the
             problem ?
-          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-WhenItrytosendmessagestoaqueueI-27mgettingaerrorasthequeuedoesnotexist.WhatcanIdo-3F">4.5. 
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-WhenItrytosendmessagestoaqueueI-27mgettingaerrorasthequeuedoesnotexist.WhatcanIdo-3F">1.4.5. 
             When I try to send messages to a queue I'm getting a error as
             the queue does not exist. What can I do ?
-          </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#Qpid-Java-Broker-HowTos">2. How Tos</a></span></dt><dd><dl><dt><span class="section"><a href="#id2528262">1. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2600040">1.5. Broker Configuration Guide </a></span></dt><dd><dl><dt><span class="section"><a href="#id2645449">1.5.1. Topic Configuration on Java Broker</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#Qpid-Java-Broker-HowTos">2. How Tos</a></span></dt><dd><dl><dt><span class="section"><a href="#id2629083">2.1. 
       Add New Users
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#AddNewUsers-AvailablePasswordfileformats">1.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#AddNewUsers-AvailablePasswordfileformats">2.1.1. 
             Available
             Password file formats
-          </a></span></dt><dt><span class="section"><a href="#AddNewUsers-Dynamicchangestopasswordfiles.">1.2. 
+          </a></span></dt><dt><span class="section"><a href="#AddNewUsers-Dynamicchangestopasswordfiles.">2.1.2. 
             Dynamic
             changes to password files.
-          </a></span></dt><dt><span class="section"><a href="#AddNewUsers-HowpasswordfilesandPrincipalDatabasesrelatetoauthenticationmechanisms">1.3. 
+          </a></span></dt><dt><span class="section"><a href="#AddNewUsers-HowpasswordfilesandPrincipalDatabasesrelatetoauthenticationmechanisms">2.1.3. 
             How password files and PrincipalDatabases relate to
             authentication mechanisms
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2527674">2. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2647540">2.2. 
       Configure ACLs
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureACLs-ConfigureACLs">2.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureACLs-ConfigureACLs">2.2.1. 
             Configure ACLs
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2528192">3. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2623400">2.3. 
       Configure Java Qpid to use a SSL connection.
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-UsingSSLconnectionwithQpidJava.">3.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-UsingSSLconnectionwithQpidJava.">2.3.1. 
             Using SSL connection with Qpid Java.
-          </a></span></dt><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-Setup">3.2. 
+          </a></span></dt><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-Setup">2.3.2. 
             Setup
-          </a></span></dt><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-Performingtheconnection.">3.3. 
+          </a></span></dt><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-Performingtheconnection.">2.3.3. 
             Performing
             the connection.
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2530096">4. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2634330">2.4. 
       Configure Log4j CompositeRolling Appender
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureLog4jCompositeRollingAppender-HowtoconfiguretheCompositeRollinglog4jAppender">4.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureLog4jCompositeRollingAppender-HowtoconfiguretheCompositeRollinglog4jAppender">2.4.1. 
             How to configure the CompositeRolling log4j Appender
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2528191">5. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2635086">2.5. 
       Configure the Broker via config.xml
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfiguretheBrokerviaconfig.xml-Brokerconfig.xmlOverview">5.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfiguretheBrokerviaconfig.xml-Brokerconfig.xmlOverview">2.5.1. 
             Broker config.xml Overview
-          </a></span></dt><dt><span class="section"><a href="#ConfiguretheBrokerviaconfig.xml-QpidVersion">5.2. 
+          </a></span></dt><dt><span class="section"><a href="#ConfiguretheBrokerviaconfig.xml-QpidVersion">2.5.2. 
             Qpid
             Version
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2528927">6. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2620361">2.6. 
       Configure the Virtual Hosts via virtualhosts.xml
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfiguretheVirtualHostsviavirtualhosts.xml-virtualhosts.xmlOverview">6.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfiguretheVirtualHostsviavirtualhosts.xml-virtualhosts.xmlOverview">2.6.1. 
             virtualhosts.xml Overview
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2528256">7. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2635471">2.7. 
       Debug using log4j
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#Debugusinglog4j-Debuggingwithlog4jconfigurations">7.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#Debugusinglog4j-Debuggingwithlog4jconfigurations">2.7.1. 
             Debugging
             with log4j configurations
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#How-to-Tune-M3-Java-Broker-Performance">8. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#How-to-Tune-M3-Java-Broker-Performance">2.8. 
       How to Tune M3 Java Broker Performance
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-ProblemStatement">8.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-ProblemStatement">2.8.1. 
             Problem
             Statement
-          </a></span></dt><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-SuccessfulTuningOptions">8.2. 
+          </a></span></dt><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-SuccessfulTuningOptions">2.8.2. 
             Successful
             Tuning Options
-          </a></span></dt><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-NextSteps">8.3. 
+          </a></span></dt><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-NextSteps">2.8.3. 
             Next
             Steps
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2528243">9. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2641941">2.9. 
       Qpid Java Build How To
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaBuildHowTo-BuildInstructionsGeneral">9.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaBuildHowTo-BuildInstructionsGeneral">2.9.1. 
             Build
             Instructions - General
-          </a></span></dt><dt><span class="section"><a href="#QpidJavaBuildHowTo-BuildInstructionsTrunk">9.2. 
+          </a></span></dt><dt><span class="section"><a href="#QpidJavaBuildHowTo-BuildInstructionsTrunk">2.9.2. 
             Build
             Instructions - Trunk
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2532013">10. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2608688">2.10. 
       Use Priority Queues
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#UsePriorityQueues-GeneralInformation">10.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#UsePriorityQueues-GeneralInformation">2.10.1. 
             General
             Information
-          </a></span></dt><dt><span class="section"><a href="#UsePriorityQueues-DefiningPriorityQueues">10.2. 
+          </a></span></dt><dt><span class="section"><a href="#UsePriorityQueues-DefiningPriorityQueues">2.10.2. 
             Defining
             Priority Queues
-          </a></span></dt><dt><span class="section"><a href="#UsePriorityQueues-Clientconfiguration-2Fmessagingmodelforpriorityqueues">10.3. 
+          </a></span></dt><dt><span class="section"><a href="#UsePriorityQueues-Clientconfiguration-2Fmessagingmodelforpriorityqueues">2.10.3. 
             Client configuration/messaging model for priority queues
-          </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#Qpid-JMX-Management-Console">3. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2637321">2.11. Slow Consumer Disconnect - User Guide</a></span></dt><dd><dl><dt><span class="section"><a href="#id2629072">2.11.1. Introduction</a></span></dt><dt><span class="section"><a href="#id2608480">2.11.2. What can it do?</a></span></dt><dt><span class="section"><a href="#id2653937">2.11.3. Frequency of SCD Checking</a></span></dt><dt><span class="section"><a href="#id2634674">2.11.4. Client Exception<span class="bold"><strong>s</strong></span></a></span></dt><dt><span class="section"><a href="#id2610884">2.11.5. Disconnection Thresholds</a></span></dt><dt><span class="section"><a href="#id2623184">2.11.6. Important Points To Note</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#Qpid-JMX-Management-Console">3. 
     Qpid JMX Management Console
-  </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJMXManagementConsole-QpidJMXManagementConsole">1.  Qpid JMX Management Console </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJMXManagementConsole-Overview">1.1. 
+  </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJMXManagementConsole-QpidJMXManagementConsole">3.1.  Qpid JMX Management Console </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJMXManagementConsole-Overview">3.1.1. 
 	Overview
-      </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#QpidJavaBroker-ManagementTools">4. Management Tools</a></span></dt><dd><dl><dt><span class="section"><a href="#id2530497">1. 
+      </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#QpidJavaBroker-ManagementTools">4. Management Tools</a></span></dt><dd><dl><dt><span class="section"><a href="#id2645004">4.1. 
       MessageStore Tool
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#MessageStoreTool-MessageStoreTool">1.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#MessageStoreTool-MessageStoreTool">4.1.1. 
             MessageStore Tool
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2535035">2. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2608465">4.2. 
       Qpid Java Broker Management CLI
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaBrokerManagementCLI-HowtobuildApacheQpidCLI">2.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaBrokerManagementCLI-HowtobuildApacheQpidCLI">4.2.1. 
             How to
             build Apache Qpid CLI
-          </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="#id2530697">
+          </a></span></dt></dl></dd></dl></dd></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="#id2653682">
             Command Line Options
-          </a></dt><dt>2.1. <a href="#id2529715"></a></dt><dt>2.2. <a href="#id2532098"></a></dt><dt>2.3. <a href="#id2531954"></a></dt><dt>2.4. <a href="#id2532361"></a></dt><dt>2.5. <a href="#id2532416"></a></dt></dl></div><div class="preface" title="Introduction"><div class="titlepage"><div><div><h2 class="title"><a name="id2528294"></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 languages, as long as the messaging client and the messaging broker use the same version of AMQP. See <a class="link" href="#">???</a> to see which messaging clients work with each broker.</p><p>This manual contains information
  specific to the broker that is implemented in Java.</p></div><div class="chapter" title="Chapter 1. General User Guides"><div class="titlepage"><div><div><h2 class="title"><a name="id2528352"></a>Chapter 1. General User Guides</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2283001">1. 
+          </a></dt><dt>2.1. <a href="#id2637521">File Format and Principal Database</a></dt><dt>2.2. <a href="#id2643996"></a></dt><dt>2.3. <a href="#id2609191"></a></dt><dt>2.4. <a href="#id2627141"></a></dt><dt>2.5. <a href="#id2641780"></a></dt></dl></div><div class="part" title="Part I. AMQP Messaging Broker (Implemented in Java)"><div class="titlepage"><div><div><h1 class="title"><a name="id2627708"></a>Part I. AMQP Messaging Broker (Implemented in Java)</h1></div></div></div><div class="partintro" title="AMQP Messaging Broker (Implemented in Java)"><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 languages, as long as the me
 ssaging client and the messaging broker use the same version of AMQP. See <a class="link" href="#">???</a> to see which messaging clients work with each broker.</p><p>This section contains information specific to the broker that is implemented in Java.</p><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#id2638731">1. General User Guides</a></span></dt><dd><dl><dt><span class="section"><a href="#id2644212">1.1. 
       Java Broker Feature Guide
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#JavaBrokerFeatureGuide-TheQpidpureJavabrokercurrentlysupportsthefollowingfeatures-3A">1.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#JavaBrokerFeatureGuide-TheQpidpureJavabrokercurrentlysupportsthefollowingfeatures-3A">1.1.1. 
             The Qpid pure Java broker currently supports the following
             features:
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2527609">2. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2626308">1.2. 
       Qpid Java FAQ
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaFAQ-Purpose">2.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="#id2530604">3. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaFAQ-Purpose">1.2.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="#id2628828">1.3. 
       Java Environment Variables
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#JavaEnvironmentVariables-SettingQpidEnvironmentVariables">3.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#JavaEnvironmentVariables-SettingQpidEnvironmentVariables">1.3.1. 
             Setting
             Qpid Environment Variables
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2530607">4. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2608509">1.4. 
       Qpid Troubleshooting Guide
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mgettingajava.lang.UnsupportedClassVersionErrorwhenItrytostartthebroker.Whatdoesthismean-3F">4.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mgettingajava.lang.UnsupportedClassVersionErrorwhenItrytostartthebroker.Whatdoesthismean-3F">1.4.1. 
             I'm getting a java.lang.UnsupportedClassVersionError when I
             try to start the broker. What does this mean ?
-          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mhavingaproblembindingtotherequiredhost-3Aportatbrokerstartup-3F">4.2. 
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mhavingaproblembindingtotherequiredhost-3Aportatbrokerstartup-3F">1.4.2. 
             I'm having a problem binding to the required host:port at
             broker startup ?
-          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mhavingproblemswithmyclasspath.HowcanIensurethatmyclasspathisok-3F">4.3. 
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mhavingproblemswithmyclasspath.HowcanIensurethatmyclasspathisok-3F">1.4.3. 
             I'm having problems with my classpath. How can I ensure that
             my classpath is ok ?
-          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-Ican-27tgetthebrokertostart.HowcanIdiagnosetheproblem-3F">4.4. 
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-Ican-27tgetthebrokertostart.HowcanIdiagnosetheproblem-3F">1.4.4. 
             I can't get the broker to start. How can I diagnose the
             problem ?
-          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-WhenItrytosendmessagestoaqueueI-27mgettingaerrorasthequeuedoesnotexist.WhatcanIdo-3F">4.5. 
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-WhenItrytosendmessagestoaqueueI-27mgettingaerrorasthequeuedoesnotexist.WhatcanIdo-3F">1.4.5. 
             When I try to send messages to a queue I'm getting a error as
             the queue does not exist. What can I do ?
-          </a></span></dt></dl></dd></dl></div><div class="section" title="1.  Java Broker Feature Guide"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2283001"></a>1. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2600040">1.5. Broker Configuration Guide </a></span></dt><dd><dl><dt><span class="section"><a href="#id2645449">1.5.1. Topic Configuration on Java Broker</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#Qpid-Java-Broker-HowTos">2. How Tos</a></span></dt><dd><dl><dt><span class="section"><a href="#id2629083">2.1. 
+      Add New Users
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#AddNewUsers-AvailablePasswordfileformats">2.1.1. 
+            Available
+            Password file formats
+          </a></span></dt><dt><span class="section"><a href="#AddNewUsers-Dynamicchangestopasswordfiles.">2.1.2. 
+            Dynamic
+            changes to password files.
+          </a></span></dt><dt><span class="section"><a href="#AddNewUsers-HowpasswordfilesandPrincipalDatabasesrelatetoauthenticationmechanisms">2.1.3. 
+            How password files and PrincipalDatabases relate to
+            authentication mechanisms
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2647540">2.2. 
+      Configure ACLs
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureACLs-ConfigureACLs">2.2.1. 
+            Configure ACLs
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2623400">2.3. 
+      Configure Java Qpid to use a SSL connection.
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-UsingSSLconnectionwithQpidJava.">2.3.1. 
+            Using SSL connection with Qpid Java.
+          </a></span></dt><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-Setup">2.3.2. 
+            Setup
+          </a></span></dt><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-Performingtheconnection.">2.3.3. 
+            Performing
+            the connection.
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2634330">2.4. 
+      Configure Log4j CompositeRolling Appender
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureLog4jCompositeRollingAppender-HowtoconfiguretheCompositeRollinglog4jAppender">2.4.1. 
+            How to configure the CompositeRolling log4j Appender
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2635086">2.5. 
+      Configure the Broker via config.xml
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfiguretheBrokerviaconfig.xml-Brokerconfig.xmlOverview">2.5.1. 
+            Broker config.xml Overview
+          </a></span></dt><dt><span class="section"><a href="#ConfiguretheBrokerviaconfig.xml-QpidVersion">2.5.2. 
+            Qpid
+            Version
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2620361">2.6. 
+      Configure the Virtual Hosts via virtualhosts.xml
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfiguretheVirtualHostsviavirtualhosts.xml-virtualhosts.xmlOverview">2.6.1. 
+            virtualhosts.xml Overview
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2635471">2.7. 
+      Debug using log4j
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#Debugusinglog4j-Debuggingwithlog4jconfigurations">2.7.1. 
+            Debugging
+            with log4j configurations
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#How-to-Tune-M3-Java-Broker-Performance">2.8. 
+      How to Tune M3 Java Broker Performance
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-ProblemStatement">2.8.1. 
+            Problem
+            Statement
+          </a></span></dt><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-SuccessfulTuningOptions">2.8.2. 
+            Successful
+            Tuning Options
+          </a></span></dt><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-NextSteps">2.8.3. 
+            Next
+            Steps
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2641941">2.9. 
+      Qpid Java Build How To
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaBuildHowTo-BuildInstructionsGeneral">2.9.1. 
+            Build
+            Instructions - General
+          </a></span></dt><dt><span class="section"><a href="#QpidJavaBuildHowTo-BuildInstructionsTrunk">2.9.2. 
+            Build
+            Instructions - Trunk
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2608688">2.10. 
+      Use Priority Queues
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#UsePriorityQueues-GeneralInformation">2.10.1. 
+            General
+            Information
+          </a></span></dt><dt><span class="section"><a href="#UsePriorityQueues-DefiningPriorityQueues">2.10.2. 
+            Defining
+            Priority Queues
+          </a></span></dt><dt><span class="section"><a href="#UsePriorityQueues-Clientconfiguration-2Fmessagingmodelforpriorityqueues">2.10.3. 
+            Client configuration/messaging model for priority queues
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2637321">2.11. Slow Consumer Disconnect - User Guide</a></span></dt><dd><dl><dt><span class="section"><a href="#id2629072">2.11.1. Introduction</a></span></dt><dt><span class="section"><a href="#id2608480">2.11.2. What can it do?</a></span></dt><dt><span class="section"><a href="#id2653937">2.11.3. Frequency of SCD Checking</a></span></dt><dt><span class="section"><a href="#id2634674">2.11.4. Client Exception<span class="bold"><strong>s</strong></span></a></span></dt><dt><span class="section"><a href="#id2610884">2.11.5. Disconnection Thresholds</a></span></dt><dt><span class="section"><a href="#id2623184">2.11.6. Important Points To Note</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#Qpid-JMX-Management-Console">3. 
+    Qpid JMX Management Console
+  </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJMXManagementConsole-QpidJMXManagementConsole">3.1.  Qpid JMX Management Console </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJMXManagementConsole-Overview">3.1.1. 
+	Overview
+      </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#QpidJavaBroker-ManagementTools">4. Management Tools</a></span></dt><dd><dl><dt><span class="section"><a href="#id2645004">4.1. 
+      MessageStore Tool
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#MessageStoreTool-MessageStoreTool">4.1.1. 
+            MessageStore Tool
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2608465">4.2. 
+      Qpid Java Broker Management CLI
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaBrokerManagementCLI-HowtobuildApacheQpidCLI">4.2.1. 
+            How to
+            build Apache Qpid CLI
+          </a></span></dt></dl></dd></dl></dd></dl></div></div><div class="chapter" title="Chapter 1. General User Guides"><div class="titlepage"><div><div><h2 class="title"><a name="id2638731"></a>Chapter 1. General User Guides</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2644212">1.1. 
       Java Broker Feature Guide
-    </h2></div></div></div><div class="section" title="1.1.  The Qpid pure Java broker currently supports the following features:"><div class="titlepage"><div><div><h3 class="title"><a name="JavaBrokerFeatureGuide-TheQpidpureJavabrokercurrentlysupportsthefollowingfeatures-3A"></a>1.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#JavaBrokerFeatureGuide-TheQpidpureJavabrokercurrentlysupportsthefollowingfeatures-3A">1.1.1. 
+            The Qpid pure Java broker currently supports the following
+            features:
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2626308">1.2. 
+      Qpid Java FAQ
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidJavaFAQ-Purpose">1.2.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="#id2628828">1.3. 
+      Java Environment Variables
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#JavaEnvironmentVariables-SettingQpidEnvironmentVariables">1.3.1. 
+            Setting
+            Qpid Environment Variables
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2608509">1.4. 
+      Qpid Troubleshooting Guide
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mgettingajava.lang.UnsupportedClassVersionErrorwhenItrytostartthebroker.Whatdoesthismean-3F">1.4.1. 
+            I'm getting a java.lang.UnsupportedClassVersionError when I
+            try to start the broker. What does this mean ?
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mhavingaproblembindingtotherequiredhost-3Aportatbrokerstartup-3F">1.4.2. 
+            I'm having a problem binding to the required host:port at
+            broker startup ?
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-I-27mhavingproblemswithmyclasspath.HowcanIensurethatmyclasspathisok-3F">1.4.3. 
+            I'm having problems with my classpath. How can I ensure that
+            my classpath is ok ?
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-Ican-27tgetthebrokertostart.HowcanIdiagnosetheproblem-3F">1.4.4. 
+            I can't get the broker to start. How can I diagnose the
+            problem ?
+          </a></span></dt><dt><span class="section"><a href="#QpidTroubleshootingGuide-WhenItrytosendmessagestoaqueueI-27mgettingaerrorasthequeuedoesnotexist.WhatcanIdo-3F">1.4.5. 
+            When I try to send messages to a queue I'm getting a error as
+            the queue does not exist. What can I do ?
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2600040">1.5. Broker Configuration Guide </a></span></dt><dd><dl><dt><span class="section"><a href="#id2645449">1.5.1. Topic Configuration on Java Broker</a></span></dt></dl></dd></dl></div><div class="section" title="1.1.  Java Broker Feature Guide"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2644212"></a>1.1. 
+      Java Broker Feature Guide
+    </h2></div></div></div><div class="section" title="1.1.1.  The Qpid pure Java broker currently supports the following features:"><div class="titlepage"><div><div><h3 class="title"><a name="JavaBrokerFeatureGuide-TheQpidpureJavabrokercurrentlysupportsthefollowingfeatures-3A"></a>1.1.1. 
             The Qpid pure Java broker currently supports the following
             features:
           </h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>All features required by the Sun JMS 1.1 specification, fully
@@ -166,20 +281,20 @@
             </p></li><li class="listitem"><p>Automatic client failover using configurable connection
             properties
             </p></li><li class="listitem"><p>Durable Queues/Subscriptions
-            </p></li></ul></div><div class="section" title="1.1.1.  Upcoming features:"><div class="titlepage"><div><div><h4 class="title"><a name="JavaBrokerFeatureGuide-Upcomingfeatures-3A"></a>1.1.1. 
+            </p></li></ul></div><div class="section" title="1.1.1.1.  Upcoming features:"><div class="titlepage"><div><div><h4 class="title"><a name="JavaBrokerFeatureGuide-Upcomingfeatures-3A"></a>1.1.1.1. 
             Upcoming
             features:
           </h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Flow To Disk
             </p></li><li class="listitem"><p>IP Whitelist
             </p></li><li class="listitem"><p>AMQP 0-10 Support (for interoperability)
-            </p></li></ul></div></div></div></div><div class="section" title="2.  Qpid Java FAQ"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2527609"></a>2. 
+            </p></li></ul></div></div></div></div><div class="section" title="1.2.  Qpid Java FAQ"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2626308"></a>1.2. 
       Qpid Java FAQ
-    </h2></div></div></div><div class="section" title="2.1. Purpose"><div class="titlepage"><div><div><h3 class="title"><a name="QpidJavaFAQ-Purpose"></a>2.1. Purpose</h3></div></div></div><p>
+    </h2></div></div></div><div class="section" title="1.2.1. Purpose"><div class="titlepage"><div><div><h3 class="title"><a name="QpidJavaFAQ-Purpose"></a>1.2.1. Purpose</h3></div></div></div><p>
             Here are a list of commonly asked questions and answers. Click on
             the the bolded questions for the answer to unfold. If you have
             any questions which are not on this list, please email our
             qpid-user list.
-          </p><div class="section" title="2.1.1.  What is Qpid ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-WhatisQpid-3F"></a>2.1.1. 
+          </p><div class="section" title="1.2.1.1.  What is Qpid ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-WhatisQpid-3F"></a>1.2.1.1. 
             What is Qpid ?
           </h4></div></div></div><p>
             The java implementation of Qpid is a pure Java message broker
@@ -202,9 +317,9 @@
             using Eclipse RCP
             </p></li><li class="listitem"><p>Naturally, interoperability with other clients including the
             Qpid .NET, Python, Ruby and C++ implementations
-            </p></li></ul></div></div><div class="section" title="2.1.2.  Why am I getting a ConfigurationException at broker startup ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-WhyamIgettingaConfigurationExceptionatbrokerstartup-3F"></a>2.1.2. 
+            </p></li></ul></div></div><div class="section" title="1.2.1.2.  Why am I getting a ConfigurationException at broker startup ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-WhyamIgettingaConfigurationExceptionatbrokerstartup-3F"></a>1.2.1.2. 
             Why am I getting a ConfigurationException at broker startup ?
-          </h4></div></div></div><div class="section" title="2.1.2.1.  InvocationTargetException"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-InvocationTargetException"></a>2.1.2.1. 
+          </h4></div></div></div><div class="section" title="1.2.1.2.1.  InvocationTargetException"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-InvocationTargetException"></a>1.2.1.2.1. 
             InvocationTargetException
           </h5></div></div></div><p>
             If you get a java.lang.reflect.InvocationTargetException on
@@ -253,7 +368,7 @@ at org.apache.qpid.server.security.auth.
             can change this by editing this element:
           </p><pre class="programlisting">
 &lt;value&gt;${passwordDir}/passwd&lt;/value&gt;
-</pre></div><div class="section" title="2.1.2.2.  Cannot locate configuration source null/virtualhosts.xml"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-Cannotlocateconfigurationsourcenull-2Fvirtualhosts.xml"></a>2.1.2.2. 
+</pre></div><div class="section" title="1.2.1.2.2.  Cannot locate configuration source null/virtualhosts.xml"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-Cannotlocateconfigurationsourcenull-2Fvirtualhosts.xml"></a>1.2.1.2.2. 
             Cannot locate configuration source null/virtualhosts.xml
           </h5></div></div></div><p>
             If you get this message, wrapped inside a ConfigurationException
@@ -264,7 +379,7 @@ at org.apache.qpid.server.security.auth.
             broker from your installed etc directory. Even going up one level
             and using a path relative to your £QPID_HOME directory
             would sort this e.g qpid-server -c ./etc/myconfig.xml
-          </p></div></div><div class="section" title="2.1.3.  How do I run the Qpid broker ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIruntheQpidbroker-3F"></a>2.1.3. 
+          </p></div></div><div class="section" title="1.2.1.3.  How do I run the Qpid broker ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIruntheQpidbroker-3F"></a>1.2.1.3. 
             How do I run
             the Qpid broker ?
           </h4></div></div></div><p>
@@ -282,15 +397,15 @@ at org.apache.qpid.server.security.auth.
           </p><p>
             For more information on running the broker please see our
             <a class="xref" href="#">???</a> page.
-          </p></div><div class="section" title="2.1.4.  How can I create a connection using a URL ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIcreateaconnectionusingaURL-3F"></a>2.1.4. 
+          </p></div><div class="section" title="1.2.1.4.  How can I create a connection using a URL ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIcreateaconnectionusingaURL-3F"></a>1.2.1.4. 
             How can I
             create a connection using a URL ?
           </h4></div></div></div><p>
             Please see the <a class="xref" href="#">???</a> documentation.
-          </p></div><div class="section" title="2.1.5.  How do I represent a JMS Destination string with QPID ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIrepresentaJMSDestinationstringwithQPID-3F"></a>2.1.5. 
+          </p></div><div class="section" title="1.2.1.5.  How do I represent a JMS Destination string with QPID ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIrepresentaJMSDestinationstringwithQPID-3F"></a>1.2.1.5. 
             How
             do I represent a JMS Destination string with QPID ?
-          </h4></div></div></div><div class="section" title="2.1.5.1.  Queues"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-Queues"></a>2.1.5.1. 
+          </h4></div></div></div><div class="section" title="1.2.1.5.1.  Queues"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-Queues"></a>1.2.1.5.1. 
             Queues
           </h5></div></div></div><p>
             A queue can be created in QPID using the following URL format.
@@ -306,7 +421,7 @@ at org.apache.qpid.server.security.auth.
           </p><p>
             The <a class="xref" href="#">???</a> is described in more
             detail on it's own page.
-          </p></div><div class="section" title="2.1.5.2.  Topics"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-Topics"></a>2.1.5.2. 
+          </p></div><div class="section" title="1.2.1.5.2.  Topics"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-Topics"></a>1.2.1.5.2. 
             Topics
           </h5></div></div></div><p>
             A topic can be created in QPID using the following URL format.
@@ -336,19 +451,19 @@ at org.apache.qpid.server.security.auth.
             will only be received by client 2.
           </p><p>
             The topic currently does not support wild cards.
-          </p></div></div><div class="section" title="2.1.6.  How do I connect to the broker using JNDI ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIconnecttothebrokerusingJNDI-3F"></a>2.1.6. 
+          </p></div></div><div class="section" title="1.2.1.6.  How do I connect to the broker using JNDI ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIconnecttothebrokerusingJNDI-3F"></a>1.2.1.6. 
             How do I
             connect to the broker using JNDI ?
           </h4></div></div></div><p>
             see <a class="xref" href="#">???</a>
-          </p></div><div class="section" title="2.1.7.  I'm using Spring and Weblogic - can you help me with the configuration for moving over to Qpid ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-I-27musingSpringandWeblogiccanyouhelpmewiththeconfigurationformovingovertoQpid-3F"></a>2.1.7. 
+          </p></div><div class="section" title="1.2.1.7.  I'm using Spring and Weblogic - can you help me with the configuration for moving over to Qpid ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-I-27musingSpringandWeblogiccanyouhelpmewiththeconfigurationformovingovertoQpid-3F"></a>1.2.1.7. 
             I'm using Spring and Weblogic - can you help me with the
             configuration for moving over to Qpid ?
           </h4></div></div></div><p>
             Here is a donated Spring configuration file <a class="ulink" href="http://qpid.apache.org/qpid-java-faq.data/appContext.zip" target="_top">appContext.zip</a>
             which shows the config for Qpid side by side with
             Weblogic. HtH !
-          </p></div><div class="section" title="2.1.8.  How do I configure the logging level for Qpid ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIconfigurethelogginglevelforQpid-3F"></a>2.1.8. 
+          </p></div><div class="section" title="1.2.1.8.  How do I configure the logging level for Qpid ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIconfigurethelogginglevelforQpid-3F"></a>1.2.1.8. 
             How do
             I configure the logging level for Qpid ?
           </h4></div></div></div><p>
@@ -370,14 +485,14 @@ amqj.logging.level
             The log level for the broker defaults to INFO if the env variable
             is not set, but you may find that your log4j properties affect
             this. Setting the property noted above should address this.
-          </p></div><div class="section" title="2.1.9.  How can I configure my application to use Qpid client logging?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIconfiguremyapplicationtouseQpidclientlogging-3F"></a>2.1.9. 
+          </p></div><div class="section" title="1.2.1.9.  How can I configure my application to use Qpid client logging?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIconfiguremyapplicationtouseQpidclientlogging-3F"></a>1.2.1.9. 
             How can I configure my application to use Qpid client
             logging?
           </h4></div></div></div><p>
             If you don't already have a logging implementation in your
             classpath you should add slf4-log4j12-1.4.0.jar and
             log4j-1.2.12.jar.
-          </p></div><div class="section" title="2.1.10.  How can I configure the broker ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIconfigurethebroker-3F"></a>2.1.10. 
+          </p></div><div class="section" title="1.2.1.10.  How can I configure the broker ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIconfigurethebroker-3F"></a>1.2.1.10. 
             How can I
             configure the broker ?
           </h4></div></div></div><p>
@@ -391,7 +506,7 @@ amqj.logging.level
             <a class="xref" href="#">???</a>
           </p><p>
             
-          </p></div><div class="section" title="2.1.11.  What ports does the broker use?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Whatportsdoesthebrokeruse"></a>2.1.11. 
+          </p></div><div class="section" title="1.2.1.11.  What ports does the broker use?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Whatportsdoesthebrokeruse"></a>1.2.1.11. 
             What ports
             does the broker use?
           </h4></div></div></div><p>
@@ -407,7 +522,7 @@ amqj.logging.level
             during broker startup, however since Qpid 0.5 this has been fixed
             to a port 100 higher than the main port(ie Default:9099) in order
             to ease firewall navigation.
-          </p></div><div class="section" title="2.1.12.  How can I change the port the broker uses at runtime ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIchangetheportthebrokerusesatruntime-3F"></a>2.1.12. 
+          </p></div><div class="section" title="1.2.1.12.  How can I change the port the broker uses at runtime ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIchangetheportthebrokerusesatruntime-3F"></a>1.2.1.12. 
             How
             can I change the port the broker uses at runtime ?
           </h4></div></div></div><p>
@@ -423,21 +538,21 @@ amqj.logging.level
             Use this to get round any issues on your host server with port
             5672/8999 being in use/unavailable.
           </p><p>
-            For additional details on what ports the broker uses see <a class="xref" href="#QpidJavaFAQ-Whatportsdoesthebrokeruse" title="2.1.11.  What ports does the broker use?">Section 2.1.11, &#8220;
+            For additional details on what ports the broker uses see <a class="xref" href="#QpidJavaFAQ-Whatportsdoesthebrokeruse" title="1.2.1.11.  What ports does the broker use?">Section 1.2.1.11, &#8220;
             What ports
             does the broker use?
           &#8221;</a> FAQ
             entry.
             For more detailed information on configuration, please see
             <a class="xref" href="#">???</a>
-          </p></div><div class="section" title="2.1.13.  What command line options can I pass into the qpid-server script ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-WhatcommandlineoptionscanIpassintotheqpidserverscript-3F"></a>2.1.13. 
+          </p></div><div class="section" title="1.2.1.13.  What command line options can I pass into the qpid-server script ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-WhatcommandlineoptionscanIpassintotheqpidserverscript-3F"></a>1.2.1.13. 
             What command line options can I pass into the qpid-server
             script ?
           </h4></div></div></div><p>
             The following command line options are available:
           </p><p>
             The following options are available:
-          </p><div class="table"><a name="id2530697"></a><p class="title"><b>Table 1.1. 
+          </p><div class="table"><a name="id2653682"></a><p class="title"><b>Table 1.1. 
             Command Line Options
           </b></p><div class="table-contents"><table summary="
             Command Line Options
@@ -499,12 +614,12 @@ amqj.logging.level
                 </td><td>
                   Specify interval for checking for logging config changes.
                   Zero means no checking
-                </td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="2.1.14.  How do I authenticate with the broker ? What user id &amp; password should I use ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIauthenticatewiththebroker-3FWhatuserid-26passwordshouldIuse-3F"></a>2.1.14. 
+                </td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="1.2.1.14.  How do I authenticate with the broker ? What user id &amp; password should I use ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIauthenticatewiththebroker-3FWhatuserid-26passwordshouldIuse-3F"></a>1.2.1.14. 
             How do I authenticate with the broker ? What user id &amp;
             password should I use ?
           </h4></div></div></div><p>
             You should login as user guest with password guest
-          </p></div><div class="section" title="2.1.15.  How do I create queues that will always be instantiated at broker startup ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIcreatequeuesthatwillalwaysbeinstantiatedatbrokerstartup-3F"></a>2.1.15. 
+          </p></div><div class="section" title="1.2.1.15.  How do I create queues that will always be instantiated at broker startup ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIcreatequeuesthatwillalwaysbeinstantiatedatbrokerstartup-3F"></a>1.2.1.15. 
             How do I create queues that will always be instantiated at
             broker startup ?
           </h4></div></div></div><p>
@@ -553,7 +668,7 @@ amqj.logging.level
             You can then pass this amended config.xml into the broker at
             startup using the -c flag i.e.
             qpid-server -c &lt;path&gt;/config.xml
-          </p></div><div class="section" title="2.1.16.  How do I create queues at runtime?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIcreatequeuesatruntime-3F"></a>2.1.16. 
+          </p></div><div class="section" title="1.2.1.16.  How do I create queues at runtime?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIcreatequeuesatruntime-3F"></a>1.2.1.16. 
             How do I
             create queues at runtime?
           </h4></div></div></div><p>
@@ -561,15 +676,15 @@ amqj.logging.level
             consumer for them. After they have been created and bound (which
             happens automatically when a JMS Consumer is created) a publisher
             can send messages to them.
-          </p></div><div class="section" title="2.1.17.  How do I tune the broker?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoItunethebroker-3F"></a>2.1.17. 
+          </p></div><div class="section" title="1.2.1.17.  How do I tune the broker?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoItunethebroker-3F"></a>1.2.1.17. 
             How do I tune
             the broker?
           </h4></div></div></div><p>
             There are a number of tuning options available, please see the
-            <a class="xref" href="#How-to-Tune-M3-Java-Broker-Performance" title="8.  How to Tune M3 Java Broker Performance">Section 8, &#8220;
+            <a class="xref" href="#How-to-Tune-M3-Java-Broker-Performance" title="2.8.  How to Tune M3 Java Broker Performance">Section 2.8, &#8220;
       How to Tune M3 Java Broker Performance
     &#8221;</a> page for more information.
-          </p></div><div class="section" title="2.1.18.  Where do undeliverable messages end up ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Wheredoundeliverablemessagesendup-3F"></a>2.1.18. 
+          </p></div><div class="section" title="1.2.1.18.  Where do undeliverable messages end up ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Wheredoundeliverablemessagesendup-3F"></a>1.2.1.18. 
             Where do
             undeliverable messages end up ?
           </h4></div></div></div><p>
@@ -580,7 +695,7 @@ amqj.logging.level
             you'll see that you end up in onException in this case. You can
             expect to be catching a subclass of
             org.apache.qpid.AMQUndeliveredException.
-          </p></div><div class="section" title="2.1.19.  Can I configure the name of the Qpid broker log file at runtime ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-CanIconfigurethenameoftheQpidbrokerlogfileatruntime-3F"></a>2.1.19. 
+          </p></div><div class="section" title="1.2.1.19.  Can I configure the name of the Qpid broker log file at runtime ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-CanIconfigurethenameoftheQpidbrokerlogfileatruntime-3F"></a>1.2.1.19. 
             Can I configure the name of the Qpid broker log file at
             runtime ?
           </h4></div></div></div><p>
@@ -593,7 +708,7 @@ amqj.logging.level
           </p><p>
             To make life easier, there are two optional ways to configure the
             naming convention used for the broker log.
-          </p><div class="section" title="2.1.19.1.  Setting a prefix or suffix"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-Settingaprefixorsuffix"></a>2.1.19.1. 
+          </p><div class="section" title="1.2.1.19.1.  Setting a prefix or suffix"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-Settingaprefixorsuffix"></a>1.2.1.19.1. 
             Setting a prefix
             or suffix
           </h5></div></div></div><p>
@@ -608,13 +723,13 @@ amqj.logging.level
             value e.g. if you set this value to be the name of your
             application (for example) if could look something like
             qpidMyApp.log
-          </p></div><div class="section" title="2.1.19.2.  Including the PID"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-IncludingthePID"></a>2.1.19.2. 
+          </p></div><div class="section" title="1.2.1.19.2.  Including the PID"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaFAQ-IncludingthePID"></a>1.2.1.19.2. 
             Including the PID
           </h5></div></div></div><p>
             Setting either of these variables to the special value PID will
             introduce the process id of the java process into the file name
             as a prefix or suffix as specified**
-          </p></div></div><div class="section" title="2.1.20.  My client application appears to have hung?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Myclientapplicationappearstohavehung-3F"></a>2.1.20. 
+          </p></div></div><div class="section" title="1.2.1.20.  My client application appears to have hung?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Myclientapplicationappearstohavehung-3F"></a>1.2.1.20. 
             My
             client application appears to have hung?
           </h4></div></div></div><p>
@@ -625,7 +740,7 @@ amqj.logging.level
             the client code has a hard coded 2 minute timeout that it will
             wait when closing a connection. These timeouts need to be
             consolidated and exposed. see <a class="xref" href="#">???</a>
-          </p></div><div class="section" title="2.1.21.  How do I contact the Qpid team ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIcontacttheQpidteam-3F"></a>2.1.21. 
+          </p></div><div class="section" title="1.2.1.21.  How do I contact the Qpid team ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIcontacttheQpidteam-3F"></a>1.2.1.21. 
             How do I
             contact the Qpid team ?
           </h4></div></div></div><p>
@@ -637,7 +752,7 @@ amqj.logging.level
           </p><p>
             More details on these lists are available on our <a class="xref" href="#">???</a>
             page.
-          </p></div><div class="section" title="2.1.22.  How can I change a user's password while the broker is up ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIchangeauser-27spasswordwhilethebrokerisup-3F"></a>2.1.22. 
+          </p></div><div class="section" title="1.2.1.22.  How can I change a user's password while the broker is up ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIchangeauser-27spasswordwhilethebrokerisup-3F"></a>1.2.1.22. 
             How can I change a user's password while the broker is up ?
           </h4></div></div></div><p>
             You can do this via the <a class="xref" href="#">???</a>. To
@@ -652,10 +767,10 @@ amqj.logging.level
             to be disconnected if they are already connected.
           </p><p>
             For more information on the Management Console please see our
-            <a class="xref" href="#Qpid-JMX-Management-Console-User-Guide" title="1.1.5.  Qpid JMX Management Console User Guide">Section 1.1.5, &#8220;
+            <a class="xref" href="#Qpid-JMX-Management-Console-User-Guide" title="3.1.1.5.  Qpid JMX Management Console User Guide">Section 3.1.1.5, &#8220;
       Qpid JMX Management Console User Guide
     &#8221;</a>
-          </p></div><div class="section" title="2.1.23.  How do I know if there is a consumer for a message I am going to send?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIknowifthereisaconsumerforamessageIamgoingtosend-3F"></a>2.1.23. 
+          </p></div><div class="section" title="1.2.1.23.  How do I know if there is a consumer for a message I am going to send?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIknowifthereisaconsumerforamessageIamgoingtosend-3F"></a>1.2.1.23. 
             How do I know if there is a consumer for a message I am going
             to send?
           </h4></div></div></div><p>
@@ -675,7 +790,7 @@ amqj.logging.level
           </p><p>
             These flags will not be able to tell you if the consuming
             application has received the message and is able to process it.
-          </p></div><div class="section" title="2.1.24.  How do I use an InVM Broker for my own tests?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIuseanInVMBrokerformyowntests-3F"></a>2.1.24. 
+          </p></div><div class="section" title="1.2.1.24.  How do I use an InVM Broker for my own tests?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowdoIuseanInVMBrokerformyowntests-3F"></a>1.2.1.24. 
             How do I
             use an InVM Broker for my own tests?
           </h4></div></div></div><p>
@@ -699,7 +814,7 @@ amqj.logging.level
           </p><p>
             You will of course need to have the broker libraries on your
             class path for this to run.
-          </p></div><div class="section" title="2.1.25.  How can I inspect the contents of my MessageStore?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIinspectthecontentsofmyMessageStore-3F"></a>2.1.25. 
+          </p></div><div class="section" title="1.2.1.25.  How can I inspect the contents of my MessageStore?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-HowcanIinspectthecontentsofmyMessageStore-3F"></a>1.2.1.25. 
             How
             can I inspect the contents of my MessageStore?
           </h4></div></div></div><p>
@@ -712,7 +827,7 @@ amqj.logging.level
             2) The <a class="xref" href="#">???</a> can be used to inspect
             the contents of a persistent message store. Note: this can
             currently only be used when the broker is offline.
-          </p></div><div class="section" title="2.1.26.  Why are my transient messages being so slow?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Whyaremytransientmessagesbeingsoslow-3F"></a>2.1.26. 
+          </p></div><div class="section" title="1.2.1.26.  Why are my transient messages being so slow?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Whyaremytransientmessagesbeingsoslow-3F"></a>1.2.1.26. 
             Why are
             my transient messages being so slow?
           </h4></div></div></div><p>
@@ -720,7 +835,7 @@ amqj.logging.level
             this is the default. If you want to send transient messages you
             must explicitly set this option when instantiating your
             MessageProducer or on the send() method.
-          </p></div><div class="section" title="2.1.27.  Why does my producer fill up the broker with messages?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Whydoesmyproducerfillupthebrokerwithmessages-3F"></a>2.1.27. 
+          </p></div><div class="section" title="1.2.1.27.  Why does my producer fill up the broker with messages?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Whydoesmyproducerfillupthebrokerwithmessages-3F"></a>1.2.1.27. 
             Why
             does my producer fill up the broker with messages?
           </h4></div></div></div><p>
@@ -730,7 +845,7 @@ amqj.logging.level
             which will be addressed in the future, it is currently up to
             applications to ensure that they do not publish faster than the
             messages are being consumed for signifcant periods of time.
-          </p></div><div class="section" title="2.1.28.  The broker keeps throwing an OutOfMemory exception?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-ThebrokerkeepsthrowinganOutOfMemoryexception-3F"></a>2.1.28. 
+          </p></div><div class="section" title="1.2.1.28.  The broker keeps throwing an OutOfMemory exception?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-ThebrokerkeepsthrowinganOutOfMemoryexception-3F"></a>1.2.1.28. 
             The
             broker keeps throwing an OutOfMemory exception?
           </h4></div></div></div><p>
@@ -743,7 +858,7 @@ amqj.logging.level
             though this will only delay the exception if you are publishing
             messages faster than you are consuming. See <a class="xref" href="#">???</a> for
             details of changing the memory settings.
-          </p></div><div class="section" title="2.1.29.  Why am I getting a broker side exception when I try to publish to a queue or a topic ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-WhyamIgettingabrokersideexceptionwhenItrytopublishtoaqueueoratopic-3F"></a>2.1.29. 
+          </p></div><div class="section" title="1.2.1.29.  Why am I getting a broker side exception when I try to publish to a queue or a topic ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-WhyamIgettingabrokersideexceptionwhenItrytopublishtoaqueueoratopic-3F"></a>1.2.1.29. 
             Why am I getting a broker side exception when I try to
             publish to a queue or a topic ?
           </h4></div></div></div><p>
@@ -786,7 +901,7 @@ java.lang.NullPointerException 
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) 
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) 
         at java.lang.Thread.run(Thread.java:619) 
-</pre></div><div class="section" title="2.1.30.  Why is there a lot of AnonymousIoService threads"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-WhyistherealotofAnonymousIoServicethreads"></a>2.1.30. 
+</pre></div><div class="section" title="1.2.1.30.  Why is there a lot of AnonymousIoService threads"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-WhyistherealotofAnonymousIoServicethreads"></a>1.2.1.30. 
             Why
             is there a lot of AnonymousIoService threads
           </h4></div></div></div><p>
@@ -795,7 +910,7 @@ java.lang.NullPointerException 
             this point we have seen no performance implications from the
             current configuration. As the threads are part of a pool they
             should remain inactive until required.
-          </p></div><div class="section" title='2.1.31.  "unable to certify the provided SSL certificate using the current SSL trust store" when connecting the Management Console to the broker.'><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ--22unabletocertifytheprovidedSSLcertificateusingthecurrentSSLtruststore-22whenconnectingtheManagementConsoletothebroker."></a>2.1.31. 
+          </p></div><div class="section" title='1.2.1.31.  "unable to certify the provided SSL certificate using the current SSL trust store" when connecting the Management Console to the broker.'><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ--22unabletocertifytheprovidedSSLcertificateusingthecurrentSSLtruststore-22whenconnectingtheManagementConsoletothebroker."></a>1.2.1.31. 
             "unable to certify the provided SSL certificate using the
             current SSL trust store" when connecting the Management Console
             to the broker.
@@ -803,7 +918,7 @@ java.lang.NullPointerException 
             You have not configured the console's SSL trust store properly,
             see <a class="xref" href="#">???</a> for
             more details.
-          </p></div><div class="section" title="2.1.32.  Client keeps throwing 'Server did not respond in a timely fashion' [error code 408: Request Timeout]."><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Clientkeepsthrowing-27Serverdidnotrespondinatimelyfashion-27-5Cerrorcode408-3ARequestTimeout-5C."></a>2.1.32. 
+          </p></div><div class="section" title="1.2.1.32.  Client keeps throwing 'Server did not respond in a timely fashion' [error code 408: Request Timeout]."><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-Clientkeepsthrowing-27Serverdidnotrespondinatimelyfashion-27-5Cerrorcode408-3ARequestTimeout-5C."></a>1.2.1.32. 
             Client keeps throwing 'Server did not respond in a timely
             fashion' [error code 408: Request Timeout].
           </h4></div></div></div><p>
@@ -823,17 +938,17 @@ java.lang.NullPointerException 
             increased. A cilent <a class="xref" href="#">???</a> 'amqj.default_syncwrite_timeout' can be set
             on the client to increase the wait time. The default in 0.5 is
             30000 (30s).
-          </p></div><div class="section" title="2.1.33.  Can a use TCP_KEEPALIVE or AMQP heartbeating to keep my connection open?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-CanauseTCPKEEPALIVEorAMQPheartbeatingtokeepmyconnectionopen-3F"></a>2.1.33. 
+          </p></div><div class="section" title="1.2.1.33.  Can a use TCP_KEEPALIVE or AMQP heartbeating to keep my connection open?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaFAQ-CanauseTCPKEEPALIVEorAMQPheartbeatingtokeepmyconnectionopen-3F"></a>1.2.1.33. 
             Can a use TCP_KEEPALIVE or AMQP heartbeating to keep my
             connection open?
           </h4></div></div></div><p>
             See <a class="xref" href="#">???</a>
-          </p></div></div></div><div class="section" title="3.  Java Environment Variables"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2530604"></a>3. 
+          </p></div></div></div><div class="section" title="1.3.  Java Environment Variables"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2628828"></a>1.3. 
       Java Environment Variables
-    </h2></div></div></div><div class="section" title="3.1.  Setting Qpid Environment Variables"><div class="titlepage"><div><div><h3 class="title"><a name="JavaEnvironmentVariables-SettingQpidEnvironmentVariables"></a>3.1. 
+    </h2></div></div></div><div class="section" title="1.3.1.  Setting Qpid Environment Variables"><div class="titlepage"><div><div><h3 class="title"><a name="JavaEnvironmentVariables-SettingQpidEnvironmentVariables"></a>1.3.1. 
             Setting
             Qpid Environment Variables
-          </h3></div></div></div><div class="section" title="3.1.1.  Qpid Deployment Path Variables"><div class="titlepage"><div><div><h4 class="title"><a name="JavaEnvironmentVariables-QpidDeploymentPathVariables"></a>3.1.1. 
+          </h3></div></div></div><div class="section" title="1.3.1.1.  Qpid Deployment Path Variables"><div class="titlepage"><div><div><h4 class="title"><a name="JavaEnvironmentVariables-QpidDeploymentPathVariables"></a>1.3.1.1. 
             Qpid
             Deployment Path Variables
           </h4></div></div></div><p>
@@ -851,7 +966,7 @@ java.lang.NullPointerException 
             do not set this variable, then the broker will default (in the
             qpid-server script) to use the current user's homedir as the root
             directory for creating the writeable locations that it uses.
-          </p></div><div class="section" title="3.1.2.  Setting Max Memory for the broker"><div class="titlepage"><div><div><h4 class="title"><a name="JavaEnvironmentVariables-SettingMaxMemoryforthebroker"></a>3.1.2. 
+          </p></div><div class="section" title="1.3.1.2.  Setting Max Memory for the broker"><div class="titlepage"><div><div><h4 class="title"><a name="JavaEnvironmentVariables-SettingMaxMemoryforthebroker"></a>1.3.1.2. 
             Setting
             Max Memory for the broker
           </h4></div></div></div><p>
@@ -865,9 +980,9 @@ java.lang.NullPointerException 
             . Enclose your value within quotes if you also specify a -Xms
             value. The value in use is echo'd by the qpid-server script on
             startup.
-          </p></div></div></div><div class="section" title="4.  Qpid Troubleshooting Guide"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2530607"></a>4. 
+          </p></div></div></div><div class="section" title="1.4.  Qpid Troubleshooting Guide"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2608509"></a>1.4. 
       Qpid Troubleshooting Guide
-    </h2></div></div></div><div class="section" title="4.1.  I'm getting a java.lang.UnsupportedClassVersionError when I try to start the broker. What does this mean ?"><div class="titlepage"><div><div><h3 class="title"><a name="QpidTroubleshootingGuide-I-27mgettingajava.lang.UnsupportedClassVersionErrorwhenItrytostartthebroker.Whatdoesthismean-3F"></a>4.1. 
+    </h2></div></div></div><div class="section" title="1.4.1.  I'm getting a java.lang.UnsupportedClassVersionError when I try to start the broker. What does this mean ?"><div class="titlepage"><div><div><h3 class="title"><a name="QpidTroubleshootingGuide-I-27mgettingajava.lang.UnsupportedClassVersionErrorwhenItrytostartthebroker.Whatdoesthismean-3F"></a>1.4.1. 
             I'm getting a java.lang.UnsupportedClassVersionError when I
             try to start the broker. What does this mean ?
           </h3></div></div></div><p>
@@ -916,7 +1031,7 @@ java.lang.NullPointerException 
             java.lang.ClassLoader.loadClassFromNative(II)Ljava.lang.Class;
 
             (Unknown Source)
-          </p></div><div class="section" title="4.2.  I'm having a problem binding to the required host:port at broker startup ?"><div class="titlepage"><div><div><h3 class="title"><a name="QpidTroubleshootingGuide-I-27mhavingaproblembindingtotherequiredhost-3Aportatbrokerstartup-3F"></a>4.2. 
+          </p></div><div class="section" title="1.4.2.  I'm having a problem binding to the required host:port at broker startup ?"><div class="titlepage"><div><div><h3 class="title"><a name="QpidTroubleshootingGuide-I-27mhavingaproblembindingtotherequiredhost-3Aportatbrokerstartup-3F"></a>1.4.2. 
             I'm having a problem binding to the required host:port at
             broker startup ?
           </h3></div></div></div><p>
@@ -933,7 +1048,7 @@ java.lang.NullPointerException 
           </p><p>
             You can also amend the port more simply using the -p option to
             qpid-server i.e. qpid-server -p &lt;my port number'
-          </p></div><div class="section" title="4.3.  I'm having problems with my classpath. How can I ensure that my classpath is ok ?"><div class="titlepage"><div><div><h3 class="title"><a name="QpidTroubleshootingGuide-I-27mhavingproblemswithmyclasspath.HowcanIensurethatmyclasspathisok-3F"></a>4.3. 
+          </p></div><div class="section" title="1.4.3.  I'm having problems with my classpath. How can I ensure that my classpath is ok ?"><div class="titlepage"><div><div><h3 class="title"><a name="QpidTroubleshootingGuide-I-27mhavingproblemswithmyclasspath.HowcanIensurethatmyclasspathisok-3F"></a>1.4.3. 
             I'm having problems with my classpath. How can I ensure that
             my classpath is ok ?
           </h3></div></div></div><p>
@@ -946,7 +1061,7 @@ java.lang.NullPointerException 
             from the installed Qpid lib directory is on your classpath. The
             manifest for this jar includes the common-launch.jar, and thus
             all the code you need to run a client application.
-          </p></div><div class="section" title="4.4.  I can't get the broker to start. How can I diagnose the problem ?"><div class="titlepage"><div><div><h3 class="title"><a name="QpidTroubleshootingGuide-Ican-27tgetthebrokertostart.HowcanIdiagnosetheproblem-3F"></a>4.4. 
+          </p></div><div class="section" title="1.4.4.  I can't get the broker to start. How can I diagnose the problem ?"><div class="titlepage"><div><div><h3 class="title"><a name="QpidTroubleshootingGuide-Ican-27tgetthebrokertostart.HowcanIdiagnosetheproblem-3F"></a>1.4.4. 
             I can't get the broker to start. How can I diagnose the
             problem ?
           </h3></div></div></div><p>
@@ -962,7 +1077,7 @@ java.lang.NullPointerException 
             - Qpid.AMQP listening on non-SSL address 0.0.0.0/0.0.0.0:5672"
           </p><p>
             ... then you know the broker started up. If not, then it didn't.
-          </p></div><div class="section" title="4.5.  When I try to send messages to a queue I'm getting a error as the queue does not exist. What can I do ?"><div class="titlepage"><div><div><h3 class="title"><a name="QpidTroubleshootingGuide-WhenItrytosendmessagestoaqueueI-27mgettingaerrorasthequeuedoesnotexist.WhatcanIdo-3F"></a>4.5. 
+          </p></div><div class="section" title="1.4.5.  When I try to send messages to a queue I'm getting a error as the queue does not exist. What can I do ?"><div class="titlepage"><div><div><h3 class="title"><a name="QpidTroubleshootingGuide-WhenItrytosendmessagestoaqueueI-27mgettingaerrorasthequeuedoesnotexist.WhatcanIdo-3F"></a>1.4.5. 
             When I try to send messages to a queue I'm getting a error as
             the queue does not exist. What can I do ?
           </h3></div></div></div><p>
@@ -972,80 +1087,137 @@ java.lang.NullPointerException 
             use this config, then simply ensure that you consume first from
             queue before staring to publish to it. See the entry on our
             <a class="xref" href="#">???</a> for more details of using the virtualhosts.xml route.
-          </p></div></div></div><div class="chapter" title="Chapter 2. How Tos"><div class="titlepage"><div><div><h2 class="title"><a name="Qpid-Java-Broker-HowTos"></a>Chapter 2. How Tos</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2528262">1. 
+          </p></div></div><div class="section" title="1.5. Broker Configuration Guide"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2600040"></a>1.5. Broker Configuration Guide </h2></div></div></div><div class="section" title="1.5.1. Topic Configuration on Java Broker"><div class="titlepage"><div><div><h3 class="title"><a name="id2645449"></a>1.5.1. Topic Configuration on Java Broker</h3></div></div></div><p>New in 0.8 is the ability to define configuration for topics. Currently this is limited to
+        configuration for slow consumer detection. This configuration is based on the work
+        designed on the <a class="ulink" href="http://cwiki.apache.org/confluence/display/qpid/Topic+Configuration+Design" target="_top">design
+            wiki</a>.</p><div class="section" title="1.5.1.1. Topic Identification"><div class="titlepage"><div><div><h4 class="title"><a name="Topic%20Identification"></a>1.5.1.1. Topic Identification</h4></div></div></div><p>A configuration section has two entries that can be used to identify how the
+            configuration will be applied: 'name' and 'subscriptionName'.  
+            
+            </p><pre class="programlisting">            
+                     &lt;topic&gt;
+                         &lt;name&gt;stocks.us&lt;/name&gt;        
+                </pre><p>
+            </p><pre class="programlisting">
+                     &lt;topic&gt;
+                         &lt;subscriptionName&gt;clientid:mysubscription&lt;/subscriptionName&gt;        
+            </pre><p>
+            
+            It is also possible to combine these two identifiers to specify a unique subscription to
+            a given topic.
+            
+            </p><pre class="programlisting">
+                    &lt;topic&gt;
+                        &lt;name&gt;stocks.us&lt;/name&gt;
+                        &lt;subscriptionName&gt;clientid:mysubscription&lt;/subscriptionName&gt;
+            </pre><p>
+        </p></div><div class="section" title="1.5.1.2. Configuration Items"><div class="titlepage"><div><div><h4 class="title"><a name="id2648698"></a>1.5.1.2. Configuration Items</h4></div></div></div><p> Currently only one element of the designed configuration is processed, that of the
+            slow consumer detection. This is setup as below using the 'slow-consumer-detection'
+            element. There are two required types of tag, first the trigger, which is one of
+            'depth', 'messageAge' or 'messageCount' and secondly the 'policy'. </p><pre class="programlisting">
+	    &lt;slow-consumer-detection&gt;
+                &lt;!-- The maximum depth before which the policy will be applied--&gt;
+                &lt;depth&gt;4235264&lt;/depth&gt;
+
+                &lt;!-- The maximum message age before which the policy will be applied--&gt;
+                &lt;messageAge&gt;600000&lt;/messageAge&gt;
+
+                &lt;!-- The maximum number of message before which the policy will be applied--&gt;
+                &lt;messageCount&gt;50&lt;/messageCount&gt;
+
+                &lt;!-- Policy Selection --&gt;
+                &lt;policy name="TopicDelete"/&gt;
+            &lt;/slow-consumer-detection&gt;
+        </pre><p> The trigger is used to determine when the policy should be applied. Currently we have
+            a simple policy 'topicdelete', this will disconnect consumers of topics where their
+            consumption rate falls sufficiently to hit one of the trigger values. </p></div><div class="section" title="1.5.1.3. Limitiations"><div class="titlepage"><div><div><h4 class="title"><a name="Limitiations"></a>1.5.1.3. Limitiations</h4></div></div></div><p> As of 0.8 the topic configuration is limited to straight string matching. This means
+            that given the following two topic configuring sections for 'stocks.us' and 'stocks.*' a
+            subscription for 'stocks.uk' will not match the expected 'stocks.*'. Nor will any
+            additional configuration listed in 'stocks.*' affect any 'stocks.us' subscriptions. </p><pre class="programlisting">
+            &lt;topics&gt;
+                &lt;topic&gt;
+            	    &lt;name&gt;stocks.us&lt;/name&gt;
+	                ...
+	            &lt;/topic&gt;
+    	        &lt;topic&gt;
+	               &lt;name&gt;stocks.*&lt;/name&gt;
+	               ...
+                &lt;/topic&gt;
+            &lt;/topics&gt;
+    </pre><p> A subscription for 'stocks.us' will only receive configuration settings that are
+            defined in the 'stocks.us' section. </p></div></div></div></div><div class="chapter" title="Chapter 2. How Tos"><div class="titlepage"><div><div><h2 class="title"><a name="Qpid-Java-Broker-HowTos"></a>Chapter 2. How Tos</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2629083">2.1. 
       Add New Users
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#AddNewUsers-AvailablePasswordfileformats">1.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#AddNewUsers-AvailablePasswordfileformats">2.1.1. 
             Available
             Password file formats
-          </a></span></dt><dt><span class="section"><a href="#AddNewUsers-Dynamicchangestopasswordfiles.">1.2. 
+          </a></span></dt><dt><span class="section"><a href="#AddNewUsers-Dynamicchangestopasswordfiles.">2.1.2. 
             Dynamic
             changes to password files.
-          </a></span></dt><dt><span class="section"><a href="#AddNewUsers-HowpasswordfilesandPrincipalDatabasesrelatetoauthenticationmechanisms">1.3. 
+          </a></span></dt><dt><span class="section"><a href="#AddNewUsers-HowpasswordfilesandPrincipalDatabasesrelatetoauthenticationmechanisms">2.1.3. 
             How password files and PrincipalDatabases relate to
             authentication mechanisms
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2527674">2. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2647540">2.2. 
       Configure ACLs
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureACLs-ConfigureACLs">2.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureACLs-ConfigureACLs">2.2.1. 
             Configure ACLs
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2528192">3. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2623400">2.3. 
       Configure Java Qpid to use a SSL connection.
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-UsingSSLconnectionwithQpidJava.">3.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-UsingSSLconnectionwithQpidJava.">2.3.1. 
             Using SSL connection with Qpid Java.
-          </a></span></dt><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-Setup">3.2. 
+          </a></span></dt><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-Setup">2.3.2. 
             Setup
-          </a></span></dt><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-Performingtheconnection.">3.3. 
+          </a></span></dt><dt><span class="section"><a href="#ConfigureJavaQpidtouseaSSLconnection.-Performingtheconnection.">2.3.3. 
             Performing
             the connection.
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2530096">4. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2634330">2.4. 
       Configure Log4j CompositeRolling Appender
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureLog4jCompositeRollingAppender-HowtoconfiguretheCompositeRollinglog4jAppender">4.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfigureLog4jCompositeRollingAppender-HowtoconfiguretheCompositeRollinglog4jAppender">2.4.1. 
             How to configure the CompositeRolling log4j Appender
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2528191">5. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2635086">2.5. 
       Configure the Broker via config.xml
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfiguretheBrokerviaconfig.xml-Brokerconfig.xmlOverview">5.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfiguretheBrokerviaconfig.xml-Brokerconfig.xmlOverview">2.5.1. 
             Broker config.xml Overview
-          </a></span></dt><dt><span class="section"><a href="#ConfiguretheBrokerviaconfig.xml-QpidVersion">5.2. 
+          </a></span></dt><dt><span class="section"><a href="#ConfiguretheBrokerviaconfig.xml-QpidVersion">2.5.2. 
             Qpid
             Version
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2528927">6. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2620361">2.6. 
       Configure the Virtual Hosts via virtualhosts.xml
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfiguretheVirtualHostsviavirtualhosts.xml-virtualhosts.xmlOverview">6.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#ConfiguretheVirtualHostsviavirtualhosts.xml-virtualhosts.xmlOverview">2.6.1. 
             virtualhosts.xml Overview
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2528256">7. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#id2635471">2.7. 
       Debug using log4j
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#Debugusinglog4j-Debuggingwithlog4jconfigurations">7.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#Debugusinglog4j-Debuggingwithlog4jconfigurations">2.7.1. 
             Debugging
             with log4j configurations
-          </a></span></dt></dl></dd><dt><span class="section"><a href="#How-to-Tune-M3-Java-Broker-Performance">8. 
+          </a></span></dt></dl></dd><dt><span class="section"><a href="#How-to-Tune-M3-Java-Broker-Performance">2.8. 
       How to Tune M3 Java Broker Performance
-    </a></span></dt><dd><dl><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-ProblemStatement">8.1. 
+    </a></span></dt><dd><dl><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-ProblemStatement">2.8.1. 
             Problem
             Statement
-          </a></span></dt><dt><span class="section"><a href="#HowtoTuneM3JavaBrokerPerformance-SuccessfulTuningOptions">8.2. 

[... 1287 lines stripped ...]


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org