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 2010/06/20 00:15:13 UTC
svn commit: r956304 [10/33] - in /qpid/site/docs/books/0.7: ./
AMQP-Messaging-Broker-CPP-Book/ AMQP-Messaging-Broker-CPP-Book/html-single/
AMQP-Messaging-Broker-CPP-Book/html-single/images/
AMQP-Messaging-Broker-CPP-Book/html-single/images/jmx_console/...
Added: qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02.html?rev=956304&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02.html (added)
+++ qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02.html Sat Jun 19 22:15:03 2010
@@ -0,0 +1,239 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 2. How Tos</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in Java)"><link rel="up" href="index.html" title="AMQP Messaging Broker (Implemented in Java)"><link rel="prev" href="ch01s04.html" title="4. Qpid Troubleshooting Guide"><link rel="next" href="ch02s02.html" title="2. Configure ACLs"></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. How Tos</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s04.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
. 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="ch02.html#id2927310">1.
+ Add New Users
+ </a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#AddNewUsers-AvailablePasswordfileformats">1.1.
+ Available
+ Password file formats
+ </a></span></dt><dt><span class="section"><a href="ch02.html#AddNewUsers-Dynamicchangestopasswordfiles.">1.2.
+ Dynamic
+ changes to password files.
+ </a></span></dt><dt><span class="section"><a href="ch02.html#AddNewUsers-HowpasswordfilesandPrincipalDatabasesrelatetoauthenticationmechanisms">1.3.
+ How password files and PrincipalDatabases relate to
+ authentication mechanisms
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s02.html">2.
+ Configure ACLs
+ </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s02.html#ConfigureACLs-ConfigureACLs">2.1.
+ Configure ACLs
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s03.html">3.
+ Configure Java Qpid to use a SSL connection.
+ </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s03.html#ConfigureJavaQpidtouseaSSLconnection.-UsingSSLconnectionwithQpidJava.">3.1.
+ Using SSL connection with Qpid Java.
+ </a></span></dt><dt><span class="section"><a href="ch02s03.html#ConfigureJavaQpidtouseaSSLconnection.-Setup">3.2.
+ Setup
+ </a></span></dt><dt><span class="section"><a href="ch02s03.html#ConfigureJavaQpidtouseaSSLconnection.-Performingtheconnection.">3.3.
+ Performing
+ the connection.
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s04.html">4.
+ Configure Log4j CompositeRolling Appender
+ </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s04.html#ConfigureLog4jCompositeRollingAppender-HowtoconfiguretheCompositeRollinglog4jAppender">4.1.
+ How to configure the CompositeRolling log4j Appender
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s05.html">5.
+ Configure the Broker via config.xml
+ </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s05.html#ConfiguretheBrokerviaconfig.xml-Brokerconfig.xmlOverview">5.1.
+ Broker config.xml Overview
+ </a></span></dt><dt><span class="section"><a href="ch02s05.html#ConfiguretheBrokerviaconfig.xml-QpidVersion">5.2.
+ Qpid
+ Version
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s06.html">6.
+ Configure the Virtual Hosts via virtualhosts.xml
+ </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s06.html#ConfiguretheVirtualHostsviavirtualhosts.xml-virtualhosts.xmlOverview">6.1.
+ virtualhosts.xml Overview
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s07.html">7.
+ Debug using log4j
+ </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s07.html#Debugusinglog4j-Debuggingwithlog4jconfigurations">7.1.
+ Debugging
+ with log4j configurations
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s08.html">8.
+ How to Tune M3 Java Broker Performance
+ </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s08.html#HowtoTuneM3JavaBrokerPerformance-ProblemStatement">8.1.
+ Problem
+ Statement
+ </a></span></dt><dt><span class="section"><a href="ch02s08.html#HowtoTuneM3JavaBrokerPerformance-SuccessfulTuningOptions">8.2.
+ Successful
+ Tuning Options
+ </a></span></dt><dt><span class="section"><a href="ch02s08.html#HowtoTuneM3JavaBrokerPerformance-NextSteps">8.3.
+ Next
+ Steps
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s09.html">9.
+ Qpid Java Build How To
+ </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s09.html#QpidJavaBuildHowTo-BuildInstructionsGeneral">9.1.
+ Build
+ Instructions - General
+ </a></span></dt><dt><span class="section"><a href="ch02s09.html#QpidJavaBuildHowTo-BuildInstructionsTrunk">9.2.
+ Build
+ Instructions - Trunk
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s10.html">10.
+ Use Priority Queues
+ </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s10.html#UsePriorityQueues-GeneralInformation">10.1.
+ General
+ Information
+ </a></span></dt><dt><span class="section"><a href="ch02s10.html#UsePriorityQueues-DefiningPriorityQueues">10.2.
+ Defining
+ Priority Queues
+ </a></span></dt><dt><span class="section"><a href="ch02s10.html#UsePriorityQueues-Clientconfiguration-2Fmessagingmodelforpriorityqueues">10.3.
+ Client configuration/messaging model for priority queues
+ </a></span></dt></dl></dd></dl></div><div class="section" title="1. Add New Users"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2927310"></a>1.
+ Add New Users
+ </h2></div></div></div><p>
+ The Qpid Java Broker has a single reference source (<a class="xref" href="">???</a>) that
+ defines all the users in the system.
+ </p><p>
+ To add a new user to the broker the password file must be
+ updated. The details about adding entries and when these updates
+ take effect are dependent on the file format each of which are
+ described below.
+ </p><div class="section" title="1.1. Available Password file formats"><div class="titlepage"><div><div><h3 class="title"><a name="AddNewUsers-AvailablePasswordfileformats"></a>1.1.
+ Available
+ Password file formats
+ </h3></div></div></div><p>
+ There are currently two different file formats available for use
+ depending on the PrincipalDatabase that is desired. In all cases
+ the clients need not be aware of the type of PrincipalDatabase in
+ use they only need support the SASL mechanisms they provide.
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ <a class="xref" href="ch02.html#AddNewUsers-Plain" title="1.1.1. Plain">Section 1.1.1, “
+ Plain
+ ”</a>
+ </p></li><li class="listitem"><p>
+ <a class="xref" href="ch02.html#AddNewUsers-Base64MD5PasswordFileFormat" title="1.1.3. Base64MD5 Password File Format">Section 1.1.3, “
+ Base64MD5
+ Password File Format
+ ”</a>
+ </p></li></ul></div><p>
+
+ </p><div class="section" title="1.1.1. Plain"><div class="titlepage"><div><div><h4 class="title"><a name="AddNewUsers-Plain"></a>1.1.1.
+ Plain
+ </h4></div></div></div><p>
+ The plain file has the following format:
+ </p><pre class="programlisting">
+# Plain password authentication file.
+# default name : passwd
+# Format <username>:<password>
+#e.g.
+martin:password
+</pre><p>
+ As the contents of the file are plain text and the password is
+ taken to be everything to the right of the ':'(colon). The
+ password, therefore, cannot contain a ':' colon, but this can be
+ used to delimit the password.
+ </p><p>
+ Lines starting with a '#' are treated as comments.
+ </p></div><div class="section" title="1.1.2. Where is the password file for my broker ?"><div class="titlepage"><div><div><h4 class="title"><a name="AddNewUsers-Whereisthepasswordfileformybroker-3F"></a>1.1.2.
+ Where is
+ the password file for my broker ?
+ </h4></div></div></div><p>
+ The location of the password file in use for your broker is as
+ configured in your config.xml file.
+ </p><pre class="programlisting">
+<principal-databases>
+ <principal-database>
+ <name>passwordfile</name>
+ <class>org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase</class>
+ <attributes>
+ <attribute>
+ <name>passwordFile</name>
+ <value>${conf}/passwd</value>
+ </attribute>
+ </attributes>
+ </principal-database>
+ </principal-databases>
+</pre><p>
+ So in the example config.xml file this password file lives in the
+ directory specified as the conf directory (at the top of your
+ config.xml file).
+ </p><p>
+ If you wish to use Base64 encoding for your password file, then
+ in the <class> element above you should specify
+ org.apache.qpid.server.security.auth.database.Base64MD5PasswordFilePrincipalDatabase
+ </p><p>
+ The default is:
+ </p><pre class="programlisting">
+ <conf>${prefix}/etc</conf>
+</pre></div><div class="section" title="1.1.3. Base64MD5 Password File Format"><div class="titlepage"><div><div><h4 class="title"><a name="AddNewUsers-Base64MD5PasswordFileFormat"></a>1.1.3.
+ Base64MD5
+ Password File Format
+ </h4></div></div></div><p>
+ This format can be used to ensure that SAs cannot read the plain
+ text password values from your password file on disk.
+ </p><p>
+ The Base64MD5 file uses the following format:
+ </p><pre class="programlisting">
+# Base64MD5 password authentication file
+# default name : qpid.passwd
+# Format <username>:<Base64 Encoded MD5 hash of the users password>
+#e.g.
+martin:X03MO1qnZdYdgyfeuILPmQ==
+</pre><p>
+ As with the Plain format the line is delimited by a ':'(colon).
+ The password field contains the MD5 Hash of the users password
+ encoded in Base64.
+ </p><p>
+ This file is read on broker start-up and is not re-read.
+ </p></div><div class="section" title="1.1.4. How can I update a Base64MD5 password file ?"><div class="titlepage"><div><div><h4 class="title"><a name="AddNewUsers-HowcanIupdateaBase64MD5passwordfile-3F"></a>1.1.4.
+ How can
+ I update a Base64MD5 password file ?
+ </h4></div></div></div><p>
+ To update the file there are two options:
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Edit the file by hand using the <span class="emphasis"><em>qpid-passwd</em></span> tool
+ that will generate the required lines. The output from the tool
+ is the text that needs to be copied in to your active password
+ file. This tool is located in the broker bin directory.
+ Eventually it is planned for this tool to emulate the
+ functionality of <a class="xref" href="">???</a>
+ for qpid passwd files.
+ <span class="emphasis"><em>NOTE:</em></span> For the changes to be seen by the broker you must
+ either restart the broker or reload the data with the
+ management tools (see <a class="xref" href="ch03.html#Qpid-JMX-Management-Console-User-Guide" title="1.1.5. Qpid JMX Management Console User Guide">Section 1.1.5, “
+ Qpid JMX Management Console User Guide
+ ”</a>)
+ </p></li><li class="listitem"><p>Use the management tools to create a new user. The changes
+ will be made by the broker to the password file and the new user
+ will be immediately available to the system (see <a class="xref" href="ch03.html#Qpid-JMX-Management-Console-User-Guide" title="1.1.5. Qpid JMX Management Console User Guide">Section 1.1.5, “
+ Qpid JMX Management Console User Guide
+ ”</a>).
+ </p></li></ol></div></div></div><div class="section" title="1.2. Dynamic changes to password files."><div class="titlepage"><div><div><h3 class="title"><a name="AddNewUsers-Dynamicchangestopasswordfiles."></a>1.2.
+ Dynamic
+ changes to password files.
+ </h3></div></div></div><p>
+ The Plain password file and the Base64MD5 format file are both
+ only read once on start up.
+ </p><p>
+ To make changes dynamically there are two options, both require
+ administrator access via the Management Console (see <a class="xref" href="ch03.html#Qpid-JMX-Management-Console-User-Guide" title="1.1.5. Qpid JMX Management Console User Guide">Section 1.1.5, “
+ Qpid JMX Management Console User Guide
+ ”</a>)
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>You can replace the file and use the console to reload its
+ contents.
+ </p></li><li class="listitem"><p>The management console provides an interface to create,
+ delete and amend the users. These changes are written back to the
+ active password file.
+ </p></li></ol></div></div><div class="section" title="1.3. How password files and PrincipalDatabases relate to authentication mechanisms"><div class="titlepage"><div><div><h3 class="title"><a name="AddNewUsers-HowpasswordfilesandPrincipalDatabasesrelatetoauthenticationmechanisms"></a>1.3.
+ How password files and PrincipalDatabases relate to
+ authentication mechanisms
+ </h3></div></div></div><p>
+ For each type of password file a PrincipalDatabase exists that
+ parses the contents. These PrincipalDatabases load various SASL
+ mechanism based on their supportability. e.g. the Base64MD5 file
+ format can't support Plain authentication as the plain password
+ is not available. Any client connecting need only be concerned
+ about the SASL module they support and not the type of
+ PrincipalDatabase. So I client that understands CRAM-MD5 will
+ work correctly with a Plain and Base64MD5 PrincipalDatabase.
+ </p><div class="table"><a name="id2927843"></a><p class="title"><b>Table 2.1. </b></p><div class="table-contents"><table summary="" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+ FileFormat/PrincipalDatabase
+ </td><td>
+ SASL
+ </td></tr><tr><td>
+ Plain
+ </td><td>
+ AMQPLAIN PLAIN CRAM-MD5
+ </td></tr><tr><td>
+ Base64MD5
+ </td><td>
+ CRAM-MD5 CRAM-MD5-HASHED
+ </td></tr></tbody></table></div></div><br class="table-break"><p>
+ For details of SASL support see <a class="xref" href="">???</a>
+ </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s04.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">4.
+ Qpid Troubleshooting Guide
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.
+ Configure ACLs
+ </td></tr></table></div></body></html>
Added: qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s02.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s02.html?rev=956304&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s02.html (added)
+++ qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s02.html Sat Jun 19 22:15:03 2010
@@ -0,0 +1,24 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2. Configure ACLs</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in Java)"><link rel="up" href="ch02.html" title="Chapter 2. How Tos"><link rel="prev" href="ch02.html" title="Chapter 2. How Tos"><link rel="next" href="ch02s03.html" title="3. Configure Java Qpid to use a SSL connection."></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">2.
+ Configure ACLs
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. How Tos</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Next</a></td></tr></table><hr></div><div class="section" title="2. Configure ACLs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2927309"></a>2.
+ Configure ACLs
+ </h2></div></div></div><div class="section" title="2.1. Configure ACLs"><div class="titlepage"><div><div><h3 class="title"><a name="ConfigureACLs-ConfigureACLs"></a>2.1.
+ Configure ACLs
+ </h3></div></div></div><div class="section" title="2.1.1. Specification"><div class="titlepage"><div><div><h4 class="title"><a name="ConfigureACLs-Specification"></a>2.1.1.
+ Specification
+ </h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ <a class="xref" href="">???</a>
+ </p></li><li class="listitem"><p>
+ <a class="xref" href="">???</a>
+ </p></li></ul></div></div><div class="section" title="2.1.2. C++ Broker"><div class="titlepage"><div><div><h4 class="title"><a name="ConfigureACLs-CBroker"></a>2.1.2.
+ C++ Broker
+ </h4></div></div></div><p>
+ The C++ broker supports <a class="xref" href="">???</a> of the ACLs
+ </p></div><div class="section" title="2.1.3. Java Broker"><div class="titlepage"><div><div><h4 class="title"><a name="ConfigureACLs-JavaBroker"></a>2.1.3.
+ Java Broker
+ </h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ <a class="xref" href="">???</a>
+ </p></li><li class="listitem"><p>Support for Version 2 specification is in progress.
+ </p></li></ul></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 2. How Tos </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 3.
+ Configure Java Qpid to use a SSL connection.
+ </td></tr></table></div></body></html>
Added: qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s03.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s03.html?rev=956304&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s03.html (added)
+++ qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s03.html Sat Jun 19 22:15:03 2010
@@ -0,0 +1,46 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>3. Configure Java Qpid to use a SSL connection.</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in Java)"><link rel="up" href="ch02.html" title="Chapter 2. How Tos"><link rel="prev" href="ch02s02.html" title="2. Configure ACLs"><link rel="next" href="ch02s04.html" title="4. Configure Log4j CompositeRolling Appender"></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">3.
+ Configure Java Qpid to use a SSL connection.
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. How Tos</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Next</a></td></tr></table><hr></div><div class="section" title="3. Configure Java Qpid to use a SSL connection."><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2926875"></a>3.
+ Configure Java Qpid to use a SSL connection.
+ </h2></div></div></div><div class="section" title="3.1. Using SSL connection with Qpid Java."><div class="titlepage"><div><div><h3 class="title"><a name="ConfigureJavaQpidtouseaSSLconnection.-UsingSSLconnectionwithQpidJava."></a>3.1.
+ Using SSL connection with Qpid Java.
+ </h3></div></div></div><p>
+ This section will show how to use SSL to enable secure
+ connections between a Java client and broker.
+ </p></div><div class="section" title="3.2. Setup"><div class="titlepage"><div><div><h3 class="title"><a name="ConfigureJavaQpidtouseaSSLconnection.-Setup"></a>3.2.
+ Setup
+ </h3></div></div></div><div class="section" title="3.2.1. Broker Setup"><div class="titlepage"><div><div><h4 class="title"><a name="ConfigureJavaQpidtouseaSSLconnection.-BrokerSetup"></a>3.2.1.
+ Broker
+ Setup
+ </h4></div></div></div><p>
+ The broker configuration file (config.xml) needs to be updated to
+ include the SSL keystore location details.
+ </p><pre class="programlisting">
+<!-- Additions required to Connector Section -->
+
+<ssl>
+ <enabled>true</enabled>
+ <sslOnly>true</sslOnly>
+ <keystorePath>/path/to/keystore.ks</keystorePath>
+ <keystorePassword>keystorepass</keystorePassword>
+</ssl>
+</pre><p>
+ The sslOnly option is included here for completeness however this
+ will disable the unencrypted port and leave only the SSL port
+ listening for connections.
+ </p></div><div class="section" title="3.2.2. Client Setup"><div class="titlepage"><div><div><h4 class="title"><a name="ConfigureJavaQpidtouseaSSLconnection.-ClientSetup"></a>3.2.2.
+ Client
+ Setup
+ </h4></div></div></div><p>
+ The best place to start looking is class
+ <span class="emphasis"><em>SSLConfiguration</em></span> this is provided to the connection
+ during creation however there is currently no example that
+ demonstrates its use.
+ </p></div></div><div class="section" title="3.3. Performing the connection."><div class="titlepage"><div><div><h3 class="title"><a name="ConfigureJavaQpidtouseaSSLconnection.-Performingtheconnection."></a>3.3.
+ Performing
+ the connection.
+ </h3></div></div></div><p></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.
+ Configure ACLs
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 4.
+ Configure Log4j CompositeRolling Appender
+ </td></tr></table></div></body></html>
Added: qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s04.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s04.html?rev=956304&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s04.html (added)
+++ qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s04.html Sat Jun 19 22:15:03 2010
@@ -0,0 +1,109 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4. Configure Log4j CompositeRolling Appender</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in Java)"><link rel="up" href="ch02.html" title="Chapter 2. How Tos"><link rel="prev" href="ch02s03.html" title="3. Configure Java Qpid to use a SSL connection."><link rel="next" href="ch02s05.html" title="5. Configure the Broker via config.xml"></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">4.
+ Configure Log4j CompositeRolling Appender
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center">Chapter 2. How Tos</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Next</a></td></tr></table><hr></div><div class="section" title="4. Configure Log4j CompositeRolling Appender"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2927727"></a>4.
+ Configure Log4j CompositeRolling Appender
+ </h2></div></div></div><div class="section" title="4.1. How to configure the CompositeRolling log4j Appender"><div class="titlepage"><div><div><h3 class="title"><a name="ConfigureLog4jCompositeRollingAppender-HowtoconfiguretheCompositeRollinglog4jAppender"></a>4.1.
+ How to configure the CompositeRolling log4j Appender
+ </h3></div></div></div><p>
+ There are several sections of our default log4j file that will
+ need your attention if you wish to fully use this Appender.
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Enable the Appender</p><p>
+ The default log4j.xml file uses the FileAppender, swap this for
+ the ArchivingFileAppender as follows:
+ </p><pre class="programlisting">
+ <!-- Log all info events to file -->
+ <root>
+ <priority value="info"/>
+
+ <appender-ref ref="ArchivingFileAppender"/>
+ </root>
+</pre></li><li class="listitem"><p>
+ Configure the Appender
+ </p><p>
+ The Appender has a number of parameters that can be adjusted
+ depending on what you are trying to achieve. For clarity lets
+ take a quick look at the complete default appender:
+ </p><pre class="programlisting">
+ <appender name="ArchivingFileAppender" class="org.apache.log4j.QpidCompositeRollingAppender">
+ <!-- Ensure that logs allways have the dateFormat set-->
+ <param name="StaticLogFileName" value="false"/>
+ <param name="File" value="${QPID_WORK}/log/${logprefix}qpid${logsuffix}.log"/>
+ <param name="Append" value="false"/>
+ <!-- Change the direction so newer files have bigger numbers -->
+ <!-- So log.1 is written then log.2 etc This prevents a lot of file renames at log rollover -->
+ <param name="CountDirection" value="1"/>
+ <!-- Use default 10MB -->
+ <!--param name="MaxFileSize" value="100000"/-->
+ <param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm"/>
+ <!-- Unlimited number of backups -->
+ <param name="MaxSizeRollBackups" value="-1"/>
+ <!-- Compress(gzip) the backup files-->
+ <param name="CompressBackupFiles" value="true"/>
+ <!-- Compress the backup files using a second thread -->
+ <param name="CompressAsync" value="true"/>
+ <!-- Start at zero numbered files-->
+ <param name="ZeroBased" value="true"/>
+ <!-- Backup Location -->
+ <param name="backupFilesToPath" value="${QPID_WORK}/backup/log"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+ </layout>
+ </appender>
+</pre><p>
+ The appender configuration has three groups of parameter
+ configuration.
+ </p><p>
+ The first group is for configuration of the file name. The
+ default is to write a log file to QPID_WORK/log/qpid.log
+ (Remembering you can use the logprefix and logsuffix values to
+ modify the file name, see Property Config).
+ </p><pre class="programlisting">
+ <!-- Ensure that logs always have the dateFormat set-->
+ <param name="StaticLogFileName" value="false"/>
+ <param name="File" value="${QPID_WORK}/log/${logprefix}qpid${logsuffix}.log"/>
+ <param name="Append" value="false"/>
+</pre><p>
+ The second section allows the specification of a Maximum File
+ Size and a DatePattern that will be used to move on to the next
+ file.
+ </p><p>
+ When MaxFileSize is reached a new log file will be created
+ The DataPattern is used to decide when to create a new log file,
+ so here a new file will be created for every minute and every
+ 10Meg of data. So if 15MB of data is made every minute then there
+ will be two log files created each minute. One at the start of
+ the minute and a second when the file hit 10MB. When the next
+ minute arrives a new file will be made even though it only has
+ 5MB of content. For a production system it would be expected to
+ be changed to something like 'yyyy-MM-dd' which would make a new
+ log file each day and keep the files to a max of 10MB.
+ </p><p>
+ The final MaxSizeRollBackups allows you to limit the amount of
+ disk you are using by only keeping the last n backups.
+ </p><pre class="programlisting">
+ <!-- Change the direction so newer files have bigger numbers -->
+ <!-- So log.1 is written then log.2 etc This prevents a lot of file renames at log rollover -->
+ <param name="CountDirection" value="1"/>
+ <!-- Use default 10MB -->
+ <!--param name="MaxFileSize" value="100000"/-->
+ <param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm"/>
+ <!-- Unlimited number of backups -->
+ <param name="MaxSizeRollBackups" value="-1"/>
+</pre><p>
+ The final section allows the old log files to be compressed and
+ copied to a new location.
+ </p><pre class="programlisting">
+ <!-- Compress(gzip) the backup files-->
+ <param name="CompressBackupFiles" value="true"/>
+ <!-- Compress the backup files using a second thread -->
+ <param name="CompressAsync" value="true"/>
+ <!-- Start at zero numbered files-->
+ <param name="ZeroBased" value="true"/>
+ <!-- Backup Location -->
+ <param name="backupFilesToPath" value="${QPID_WORK}/backup/log"/>
+</pre></li></ol></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">3.
+ Configure Java Qpid to use a SSL connection.
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.
+ Configure the Broker via config.xml
+ </td></tr></table></div></body></html>
Added: qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s05.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s05.html?rev=956304&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s05.html (added)
+++ qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s05.html Sat Jun 19 22:15:03 2010
@@ -0,0 +1,36 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5. Configure the Broker via config.xml</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in Java)"><link rel="up" href="ch02.html" title="Chapter 2. How Tos"><link rel="prev" href="ch02s04.html" title="4. Configure Log4j CompositeRolling Appender"><link rel="next" href="ch02s06.html" title="6. Configure the Virtual Hosts via virtualhosts.xml"></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">5.
+ Configure the Broker via config.xml
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><th width="60%" align="center">Chapter 2. How Tos</th><td width="20%" align="right"> <a accesskey="n" href="ch02s06.html">Next</a></td></tr></table><hr></div><div class="section" title="5. Configure the Broker via config.xml"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2927793"></a>5.
+ Configure the Broker via config.xml
+ </h2></div></div></div><div class="section" title="5.1. Broker config.xml Overview"><div class="titlepage"><div><div><h3 class="title"><a name="ConfiguretheBrokerviaconfig.xml-Brokerconfig.xmlOverview"></a>5.1.
+ Broker config.xml Overview
+ </h3></div></div></div><p>
+ The broker config.xml file which is shipped in the etc directory
+ of any Qpid binary distribution details various options and
+ configuration for the Java Qpid broker implementation.
+ </p><p>
+ In tandem with the virtualhosts.xml file, the config.xml file
+ allows you to control much of the deployment detail for your Qpid
+ broker in a flexible fashion.
+ </p><p>
+ Note that you can pass the config.xml you wish to use for your
+ broker instance to the broker using the -c command line option.
+ In turn, you can specify the paths for the broker password file
+ and virtualhosts.xml files in your config.xml for simplicity.
+ </p><p>
+ For more information about command line configuration options
+ please see <a class="xref" href="">???</a>.
+ </p></div><div class="section" title="5.2. Qpid Version"><div class="titlepage"><div><div><h3 class="title"><a name="ConfiguretheBrokerviaconfig.xml-QpidVersion"></a>5.2.
+ Qpid
+ Version
+ </h3></div></div></div><p>
+ The config format has changed between versions here you can find
+ the configuration details on a per version basis.
+ </p><p>
+ <a class="xref" href="">???</a>
+ <a class="xref" href="">???</a>
+ </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.
+ Configure Log4j CompositeRolling Appender
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 6.
+ Configure the Virtual Hosts via virtualhosts.xml
+ </td></tr></table></div></body></html>
Added: qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s06.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s06.html?rev=956304&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s06.html (added)
+++ qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s06.html Sat Jun 19 22:15:03 2010
@@ -0,0 +1,99 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>6. Configure the Virtual Hosts via virtualhosts.xml</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in Java)"><link rel="up" href="ch02.html" title="Chapter 2. How Tos"><link rel="prev" href="ch02s05.html" title="5. Configure the Broker via config.xml"><link rel="next" href="ch02s07.html" title="7. Debug using log4j"></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">6.
+ Configure the Virtual Hosts via virtualhosts.xml
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.html">Prev</a> </td><th width="60%" align="center">Chapter 2. How Tos</th><td width="20%" align="right"> <a accesskey="n" href="ch02s07.html">Next</a></td></tr></table><hr></div><div class="section" title="6. Configure the Virtual Hosts via virtualhosts.xml"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2928591"></a>6.
+ Configure the Virtual Hosts via virtualhosts.xml
+ </h2></div></div></div><div class="section" title="6.1. virtualhosts.xml Overview"><div class="titlepage"><div><div><h3 class="title"><a name="ConfiguretheVirtualHostsviavirtualhosts.xml-virtualhosts.xmlOverview"></a>6.1.
+ virtualhosts.xml Overview
+ </h3></div></div></div><p>
+ This configuration file contains details of all queues and
+ topics, and associated properties, to be created on broker
+ startup. These details are configured on a per virtual host
+ basis.
+ </p><p>
+ Note that if you do not add details of a queue or topic you
+ intend to use to this file, you must first create a consumer on a
+ queue/topic before you can publish to it using Qpid.
+ </p><p>
+ Thus most application deployments need a virtualhosts.xml file
+ with at least some minimal detail.
+ </p><div class="section" title="6.1.1. XML Format with Comments"><div class="titlepage"><div><div><h4 class="title"><a name="ConfiguretheVirtualHostsviavirtualhosts.xml-XMLFormatwithComments"></a>6.1.1.
+ XML Format with Comments
+ </h4></div></div></div><p>
+ The virtualhosts.xml which currently ships as part of the Qpid
+ distribution is really targeted at development use, and supports
+ various artifacts commonly used by the Qpid development team.
+ </p><p>
+ As a result, it is reasonably complex. In the example XML below,
+ I have tried to simplify one example virtual host setup which is
+ possibly more useful for new users of Qpid or development teams
+ looking to simply make use of the Qpid broker in their
+ deployment.
+ </p><p>
+ I have also added some inline comments on each section, which
+ should give some extra information on the purpose of the various
+ elements.
+ </p><pre class="programlisting">
+<virtualhosts>
+ <!-- Sets the default virtual host for connections which do not specify a vh -->
+ <default>localhost</default>
+ <!-- Define a virtual host and all it's config -->
+ <virtualhost>
+ <name>localhost</name>
+ <localhost>
+ <!-- Define the types of additional AMQP exchange available for this vh -->
+ <!-- Always get amq.direct (for queues) and amq.topic (for topics) by default -->
+ <exchanges>
+ <!-- Example of declaring an additional exchanges type for developer use only -->
+ <exchange>
+ <type>direct</type>
+ <name>test.direct</name>
+ <durable>true</durable>
+ </exchange>
+ </exchanges>
+
+ <!-- Define the set of queues to be created at broker startup -->
+ <queues>
+ <!-- The properties configured here will be applied as defaults to all -->
+ <!-- queues subsequently defined unless explicitly overridden -->
+ <exchange>amq.direct</exchange>
+ <!-- Set threshold values for queue monitor alerting to log -->
+ <maximumQueueDepth>4235264</maximumQueueDepth> <!-- 4Mb -->
+ <maximumMessageSize>2117632</maximumMessageSize> <!-- 2Mb -->
+ <maximumMessageAge>600000</maximumMessageAge> <!-- 10 mins -->
+
+ <!-- Define a queue with all default settings -->
+ <queue>
+ <name>ping</name>
+ </queue>
+ <!-- Example definitions of queues with overriden settings -->
+ <queue>
+ <name>test-queue</name>
+ <test-queue>
+ <exchange>test.direct</exchange>
+ <durable>true</durable>
+ </test-queue>
+ </queue>
+ <queue>
+ <name>test-ping</name>
+ <test-ping>
+ <exchange>test.direct</exchange>
+ </test-ping>
+ </queue>
+ </queues>
+ </localhost>
+ </virtualhost>
+</virtualhosts>
+</pre></div><div class="section" title="6.1.2. Using your own virtualhosts.xml"><div class="titlepage"><div><div><h4 class="title"><a name="ConfiguretheVirtualHostsviavirtualhosts.xml-Usingyourownvirtualhosts.xml"></a>6.1.2.
+ Using your own virtualhosts.xml
+ </h4></div></div></div><p>
+ Note that the config.xml file shipped as an example (or developer
+ default) in the Qpid distribution contains an element which
+ defines the path to the virtualhosts.xml.
+ </p><p>
+ When using your own virtualhosts.xml you must edit this path to
+ point at the location of your file.
+ </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s07.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.
+ Configure the Broker via config.xml
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 7.
+ Debug using log4j
+ </td></tr></table></div></body></html>
Added: qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s07.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s07.html?rev=956304&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s07.html (added)
+++ qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s07.html Sat Jun 19 22:15:03 2010
@@ -0,0 +1,251 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>7. Debug using log4j</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in Java)"><link rel="up" href="ch02.html" title="Chapter 2. How Tos"><link rel="prev" href="ch02s06.html" title="6. Configure the Virtual Hosts via virtualhosts.xml"><link rel="next" href="ch02s08.html" title="8. How to Tune M3 Java Broker Performance"></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">7.
+ Debug using log4j
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Prev</a> </td><th width="60%" align="center">Chapter 2. How Tos</th><td width="20%" align="right"> <a accesskey="n" href="ch02s08.html">Next</a></td></tr></table><hr></div><div class="section" title="7. Debug using log4j"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2928594"></a>7.
+ Debug using log4j
+ </h2></div></div></div><div class="section" title="7.1. Debugging with log4j configurations"><div class="titlepage"><div><div><h3 class="title"><a name="Debugusinglog4j-Debuggingwithlog4jconfigurations"></a>7.1.
+ Debugging
+ with log4j configurations
+ </h3></div></div></div><p>
+ Unfortunately setting of logging in the Java Broker is not simply
+ a matter of setting one of WARN,INFO,DEBUG. At some point in the
+ future we may have more BAU logging that falls in to that
+ category but more likely is that we will have a varioius config
+ files that can be swapped in (dynamically) to understand what is
+ going on.
+ </p><p>
+ This page will be host to a variety of useful configuration
+ setups that will allow a user or developer to extract only the
+ information they are interested in logging. Each section will be
+ targeted at logging in a particular area and will include a full
+ log4j file that can be used. In addition the logging
+ <span class="emphasis"><em>category</em></span> elements will be presented and discussed so
+ that the user can create their own file.
+ </p><p>
+ Currently the configuration that is available has not been fully
+ documented and as such there are gaps in what is desired and what
+ is available. Some times this is due to the desire to reduce the
+ overhead in message processing, but sometimes it is simply an
+ oversight. Hopefully in future releases the latter will be
+ addressed but care needs to be taken when adding logging to the
+ 'Message Flow' path as this will have performance implications.
+ </p><div class="section" title="7.1.1. Logging Connection State *Deprecated*"><div class="titlepage"><div><div><h4 class="title"><a name="Debugusinglog4j-LoggingConnectionState-5CDeprecated-5C"></a>7.1.1.
+ Logging
+ Connection State *Deprecated*
+ </h4></div></div></div><p>
+ <span class="emphasis"><em>deprecation notice</em></span> Version 0.6 of the Java broker includes
+ <a class="xref" href="">???</a> functionality which improves upon these messages and
+ as such enabling status logging would be more beneficial.
+ The configuration file has been left here for assistence with
+ broker versions prior to 0.6.
+ </p><p>
+ The goals of this configuration are to record:
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>New Connections
+ </p></li><li class="listitem"><p>New Consumers
+ </p></li><li class="listitem"><p>Identify slow consumers
+ </p></li><li class="listitem"><p>Closing of Consumers
+ </p></li><li class="listitem"><p>Closing of Connections
+ </p></li></ul></div><p>
+ An additional goal of this configuration is to minimise any
+ impact to the 'message flow' path. So it should not adversely
+ affect production systems.
+ </p><pre class="programlisting">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+ <appender name="FileAppender" class="org.apache.log4j.FileAppender">
+ <param name="File" value="${QPID_WORK}/log/${logprefix}qpid${logsuffix}.log"/>
+ <param name="Append" value="false"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+ </layout>
+
+ </appender>
+
+ <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+ </layout>
+ </appender>
+
+ <category name="Qpid.Broker">
+
+ <priority value="debug"/>
+ </category>
+
+
+ <!-- Provide warnings to standard output -->
+ <category name="org.apache.qpid">
+ <priority value="warn"/>
+ </category>
+
+
+ <!-- Connection Logging -->
+
+ <!-- Log details of client starting connection -->
+ <category name="org.apache.qpid.server.handler.ConnectionStartOkMethodHandler">
+ <priority value="info"/>
+ </category>
+ <!-- Log details of client closing connection -->
+ <category name="org.apache.qpid.server.handler.ConnectionCloseMethodHandler">
+ <priority value="info"/>
+ </category>
+ <!-- Log details of client responding to be asked to closing connection -->
+
+ <category name="org.apache.qpid.server.handler.ConnectionCloseOkMethodHandler">
+ <priority value="info"/>
+ </category>
+
+
+ <!-- Consumer Logging -->
+ <!-- Provide details of Consumers connecting-->
+ <category name="org.apache.qpid.server.handler.BasicConsumeMethodHandler">
+ <priority value="debug"/>
+ </category>
+
+ <!-- Provide details of Consumers disconnecting, if the call it-->
+ <category name="org.apache.qpid.server.handler.BasicCancelMethodHandler">
+ <priority value="debug"/>
+ </category>
+ <!-- Provide details of when a channel closes to attempt to match to the Consume as a Cancel is not always issued-->
+ <category name="org.apache.qpid.server.handler.ChannelCloseHandler">
+ <priority value="info"/>
+ </category>
+
+ <!-- Provide details of Consumers starting to consume-->
+ <category name="org.apache.qpid.server.handler.ChannelFlowHandler">
+ <priority value="debug"/>
+ </category>
+ <!-- Provide details of what consumers are going to be consuming-->
+ <category name="org.apache.qpid.server.handler.QueueBindHandler">
+ <priority value="info"/>
+ </category>
+
+ <!-- No way of determining if publish message is returned, client log should show it.-->
+
+ <root>
+ <priority value="debug"/>
+ <appender-ref ref="STDOUT"/>
+ <appender-ref ref="FileAppender"/>
+ </root>
+
+</log4j:configuration>
+
+</pre></div><div class="section" title="7.1.2. Debugging My Application"><div class="titlepage"><div><div><h4 class="title"><a name="Debugusinglog4j-DebuggingMyApplication"></a>7.1.2.
+ Debugging My
+ Application
+ </h4></div></div></div><p>
+ This is the most often asked for set of configuration. The goals
+ of this configuration are to record:
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>New Connections
+ </p></li><li class="listitem"><p>New Consumers
+ </p></li><li class="listitem"><p>Message Publications
+ </p></li><li class="listitem"><p>Message Consumption
+ </p></li><li class="listitem"><p>Identify slow consumers
+ </p></li><li class="listitem"><p>Closing of Consumers
+ </p></li><li class="listitem"><p>Closing of Connections
+ </p></li></ul></div><p>
+ NOTE: This configuration enables message logging on the 'message
+ flow' path so should only be used were message volume is
+ low.
+ <span class="emphasis"><em>Every message that is sent to the broker will generate at
+ least four logging statements</em></span>
+ </p><pre class="programlisting">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+ <appender name="FileAppender" class="org.apache.log4j.FileAppender">
+ <param name="File" value="${QPID_WORK}/log/${logprefix}qpid${logsuffix}.log"/>
+ <param name="Append" value="false"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+ </layout>
+
+ </appender>
+
+ <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+ </layout>
+ </appender>
+
+ <category name="Qpid.Broker">
+
+ <priority value="debug"/>
+ </category>
+
+
+ <!-- Provide warnings to standard output -->
+ <category name="org.apache.qpid">
+ <priority value="warn"/>
+ </category>
+
+
+ <!-- Connection Logging -->
+
+ <!-- Log details of client starting connection -->
+ <category name="org.apache.qpid.server.handler.ConnectionStartOkMethodHandler">
+ <priority value="info"/>
+ </category>
+ <!-- Log details of client closing connection -->
+ <category name="org.apache.qpid.server.handler.ConnectionCloseMethodHandler">
+ <priority value="info"/>
+ </category>
+ <!-- Log details of client responding to be asked to closing connection -->
+
+ <category name="org.apache.qpid.server.handler.ConnectionCloseOkMethodHandler">
+ <priority value="info"/>
+ </category>
+
+ <!-- Consumer Logging -->
+ <!-- Provide details of Consumers connecting-->
+ <category name="org.apache.qpid.server.handler.BasicConsumeMethodHandler">
+ <priority value="debug"/>
+ </category>
+
+ <!-- Provide details of Consumers disconnecting, if the call it-->
+ <category name="org.apache.qpid.server.handler.BasicCancelMethodHandler">
+ <priority value="debug"/>
+ </category>
+ <!-- Provide details of when a channel closes to attempt to match to the Consume as a Cancel is not always issued-->
+ <category name="org.apache.qpid.server.handler.ChannelCloseHandler">
+ <priority value="info"/>
+ </category>
+
+ <!-- Provide details of Consumers starting to consume-->
+ <category name="org.apache.qpid.server.handler.ChannelFlowHandler">
+ <priority value="debug"/>
+ </category>
+ <!-- Provide details of what consumers are going to be consuming-->
+ <category name="org.apache.qpid.server.handler.QueueBindHandler">
+ <priority value="info"/>
+ </category>
+
+ <!-- No way of determining if publish message is returned, client log should show it.-->
+
+ <!-- WARNING DO NOT ENABLE THIS IN PRODUCTION -->
+ <!-- Will generate minimum one log statements per published message -->
+ <!-- Will generate will log receiving of all body frame, count will vary on size of message.-->
+ <!-- Empty Message = no body, Body is up to 64kb of data -->
+ <!-- Will generate three log statements per recevied message -->
+
+ <!-- Log messages flow-->
+ <category name="org.apache.qpid.server.AMQChannel">
+
+ <priority value="debug"/>
+ </category>
+
+ <root>
+ <priority value="debug"/>
+ <appender-ref ref="STDOUT"/>
+ <appender-ref ref="FileAppender"/>
+ </root>
+
+</log4j:configuration>
+
+</pre></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s08.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">6.
+ Configure the Virtual Hosts via virtualhosts.xml
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 8.
+ How to Tune M3 Java Broker Performance
+ </td></tr></table></div></body></html>
Added: qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s08.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s08.html?rev=956304&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s08.html (added)
+++ qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s08.html Sat Jun 19 22:15:03 2010
@@ -0,0 +1,104 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8. How to Tune M3 Java Broker Performance</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in Java)"><link rel="up" href="ch02.html" title="Chapter 2. How Tos"><link rel="prev" href="ch02s07.html" title="7. Debug using log4j"><link rel="next" href="ch02s09.html" title="9. Qpid Java Build How To"></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">8.
+ How to Tune M3 Java Broker Performance
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.html">Prev</a> </td><th width="60%" align="center">Chapter 2. How Tos</th><td width="20%" align="right"> <a accesskey="n" href="ch02s09.html">Next</a></td></tr></table><hr></div><div class="section" title="8. How to Tune M3 Java Broker Performance"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="How-to-Tune-M3-Java-Broker-Performance"></a>8.
+ How to Tune M3 Java Broker Performance
+ </h2></div></div></div><div class="section" title="8.1. Problem Statement"><div class="titlepage"><div><div><h3 class="title"><a name="HowtoTuneM3JavaBrokerPerformance-ProblemStatement"></a>8.1.
+ Problem
+ Statement
+ </h3></div></div></div><p>
+ During destructive testing of the Qpid M3 Java Broker, we tested
+ some tuning techniques and deployment changes to improve the Qpid
+ M3 Java Broker's capacity to maintain high levels of throughput,
+ particularly in the case of a slower consumer than produceer
+ (i.e. a growing backlog).
+ </p><p>
+ The focus of this page is to detail the results of tuning &
+ deployment changes trialled.
+ </p><p>
+ The successful tuning changes are applicable for any deployment
+ expecting to see bursts of high volume throughput (1000s of
+ persistent messages in large batches). Any user wishing to use
+ these options <span class="emphasis"><em>must test them thoroughly in their own
+ environment with representative volumes</em></span>.
+ </p></div><div class="section" title="8.2. Successful Tuning Options"><div class="titlepage"><div><div><h3 class="title"><a name="HowtoTuneM3JavaBrokerPerformance-SuccessfulTuningOptions"></a>8.2.
+ Successful
+ Tuning Options
+ </h3></div></div></div><p>
+ The key scenario being taregetted by these changes is a broker
+ under heavy load (processing a large batch of persistent
+ messages)can be seen to perform slowly when filling up with an
+ influx of high volume transient messages which are queued behind
+ the persistent backlog. However, the changes suggested will be
+ equally applicable to general heavy load scenarios.
+ </p><p>
+ The easiest way to address this is to separate streams of
+ messages. Thus allowing the separate streams of messages to be
+ processed, and preventing a backlog behind a particular slow
+ consumer.
+ </p><p>
+ These strategies have been successfully tested to mitigate this
+ problem:
+ </p><div class="table"><a name="id2930191"></a><p class="title"><b>Table 2.2. </b></p><div class="table-contents"><table summary="" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+ Strategy
+ </td><td>
+ Result
+ </td></tr><tr><td>
+ Seperate connections to one broker for separate streams of
+ messages.
+ </td><td>
+ Messages processed successfully, no problems experienced
+ </td></tr><tr><td>
+ Seperate brokers for transient and persistent messages.
+ </td><td>
+ Messages processed successfully, no problems experienced
+ </td></tr></tbody></table></div></div><br class="table-break"><p>
+ <span class="emphasis"><em>Separate Connections</em></span>
+ Using separate connections effectively means that the two streams
+ of data are not being processed via the same buffer, and thus the
+ broker gets & processes the transient messages while
+ processing the persistent messages. Thus any build up of
+ unprocessed data is minimal and transitory.
+ </p><p>
+ <span class="emphasis"><em>Separate Brokers</em></span>
+ Using separate brokers may mean more work in terms of client
+ connection details being changed, and from an operational
+ perspective. However, it is certainly the most clear cut way of
+ isolating the two streams of messages and the heaps impacted.
+ </p><div class="section" title="8.2.1. Additional tuning"><div class="titlepage"><div><div><h4 class="title"><a name="HowtoTuneM3JavaBrokerPerformance-Additionaltuning"></a>8.2.1.
+ Additional
+ tuning
+ </h4></div></div></div><p>
+ It is worth testing if changing the size of the Qpid read/write
+ thread pool improves performance (eg. by setting
+ JAVA_OPTS="-Damqj.read_write_pool_size=32" before running
+ qpid-server). By default this is equal to the number of CPU
+ cores, but a higher number may show better performance with some
+ work loads.
+ </p><p>
+ It is also important to note that you should give the Qpid broker
+ plenty of memory - for any serious application at least a -Xmx of
+ 3Gb. If you are deploying on a 64 bit platform, a larger heap is
+ definitely worth testing with. We will be testing tuning options
+ around a larger heap shortly.
+ </p></div></div><div class="section" title="8.3. Next Steps"><div class="titlepage"><div><div><h3 class="title"><a name="HowtoTuneM3JavaBrokerPerformance-NextSteps"></a>8.3.
+ Next
+ Steps
+ </h3></div></div></div><p>
+ These two options have been testing using a Qpid test case, and
+ demonstrated that for a test case with a profile of persistent
+ heavy load following by constant transient high load traffic they
+ provide significant improvment.
+ </p><p>
+ However, the deploying project <span class="emphasis"><em>must</em></span> complete their own
+ testing, using the same destructive test cases, representative
+ message paradigms & volumes, in order to verify the proposed
+ mitigation options.
+ </p><p>
+ The using programme should then choose the option most applicable
+ for their deployment and perform BAU testing before any
+ implementation into a production or pilot environment.
+ </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s09.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">7.
+ Debug using log4j
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 9.
+ Qpid Java Build How To
+ </td></tr></table></div></body></html>
Added: qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s09.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s09.html?rev=956304&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s09.html (added)
+++ qpid/site/docs/books/0.7/AMQP-Messaging-Broker-Java-Book/html/ch02s09.html Sat Jun 19 22:15:03 2010
@@ -0,0 +1,211 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>9. Qpid Java Build How To</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="AMQP Messaging Broker (Implemented in Java)"><link rel="up" href="ch02.html" title="Chapter 2. How Tos"><link rel="prev" href="ch02s08.html" title="8. How to Tune M3 Java Broker Performance"><link rel="next" href="ch02s10.html" title="10. Use Priority Queues"></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">9.
+ Qpid Java Build How To
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.html">Prev</a> </td><th width="60%" align="center">Chapter 2. How Tos</th><td width="20%" align="right"> <a accesskey="n" href="ch02s10.html">Next</a></td></tr></table><hr></div><div class="section" title="9. Qpid Java Build How To"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2926968"></a>9.
+ Qpid Java Build How To
+ </h2></div></div></div><div class="section" title="9.1. Build Instructions - General"><div class="titlepage"><div><div><h3 class="title"><a name="QpidJavaBuildHowTo-BuildInstructionsGeneral"></a>9.1.
+ Build
+ Instructions - General
+ </h3></div></div></div><div class="section" title="9.1.1. Check out the source"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaBuildHowTo-Checkoutthesource"></a>9.1.1.
+ Check out the
+ source
+ </h4></div></div></div><p>
+ Firstly, check the source for Qpid out of our subversion
+ repository:
+ </p><p>
+ <a class="xref" href="">???</a>
+ </p></div><div class="section" title="9.1.2. Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaBuildHowTo-Prerequisites"></a>9.1.2.
+ Prerequisites
+ </h4></div></div></div><p>
+ For the broker code you need JDK 1.5.0_15 or later. You should
+ set JAVA_HOME and include the bin directory in your PATH.
+ </p><p>
+ Check it's ok by executing java -v !
+ </p><p>
+ If you are wanting to run the python tests against the broker you
+ will of course need a version of python.
+ </p></div></div><div class="section" title="9.2. Build Instructions - Trunk"><div class="titlepage"><div><div><h3 class="title"><a name="QpidJavaBuildHowTo-BuildInstructionsTrunk"></a>9.2.
+ Build
+ Instructions - Trunk
+ </h3></div></div></div><p>
+ Our build system has reverted to ant as of May 2008.
+ </p><p>
+ The ant target 'help' will tell you what you need to know about
+ the build system.
+ </p><div class="section" title="9.2.1. Ant Build Scripts"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaBuildHowTo-AntBuildScripts"></a>9.2.1.
+ Ant Build
+ Scripts
+ </h4></div></div></div><p>
+ Currently the Qpid java project builds using ant.
+ </p><p>
+ The ant build system is set up in a modular way, with a top level
+ build script and template for module builds and then a module
+ level build script which inherits from the template.
+ </p><p>
+ So, at the top level there are:
+ </p><div class="table"><a name="id2929948"></a><p class="title"><b>Table 2.3. </b></p><div class="table-contents"><table summary="" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+ File
+ </td><td>
+ Description
+ </td></tr><tr><td>
+ build.xml
+ </td><td>
+ Top level build file for the project which defines all the
+ build targets
+ </td></tr><tr><td>
+ common.xml
+ </td><td>
+ Common properties used throughout the build system
+ </td></tr><tr><td>
+ module.xml
+ </td><td>
+ Template used by all modules which sets up properties for
+ module builds
+ </td></tr></tbody></table></div></div><br class="table-break"><p>
+ Then, in each module subdirectory there is:
+ </p><div class="table"><a name="id2930342"></a><p class="title"><b>Table 2.4. </b></p><div class="table-contents"><table summary="" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+ File
+ </td><td>
+ Description
+ </td></tr><tr><td>
+ build.xml
+ </td><td>
+ Defines all the module values for template properties
+ </td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="9.2.2. Build targets"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaBuildHowTo-Buildtargets"></a>9.2.2.
+ Build targets
+ </h4></div></div></div><p>
+ The main build targets you are probably interested in are:
+ </p><div class="table"><a name="id2930398"></a><p class="title"><b>Table 2.5. </b></p><div class="table-contents"><table summary="" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+ Target
+ </td><td>
+ Description
+ </td></tr><tr><td>
+ build
+ </td><td>
+ Builds all source code for Qpid
+ </td></tr><tr><td>
+ test
+ </td><td>
+ Runs the testsuite for Qpid
+ </td></tr></tbody></table></div></div><br class="table-break"><p>
+ So, if you just want to compile everything you should run the
+ build target in the top level build.xml file.
+ </p><p>
+ If you want to build an installable version of Qpid, run the
+ archive task from the top level build.xml file.
+ </p><p>
+ If you want to compile an individual module, simply run the build
+ target from the appropriate module e.g. to compile the broker
+ source
+ </p></div><div class="section" title="9.2.3. Configuring Eclipse"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaBuildHowTo-ConfiguringEclipse"></a>9.2.3.
+ Configuring
+ Eclipse
+ </h4></div></div></div><p>
+ 1. Run the ant build from the root directory of Java trunk.
+ 2. New project -> create from existing file system for broker,
+ common, client, junit-toolkit, perftests, systests and each
+ directory under management
+ 4. Add the contents of lib/ to the build path
+ 5. Setup Generated Code
+ 6. Setup Dependencies
+ </p><div class="section" title="9.2.3.1. Generated Code"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaBuildHowTo-GeneratedCode"></a>9.2.3.1.
+ Generated Code
+ </h5></div></div></div><p>
+ The Broker and Common packages both depend on generated code.
+ After running 'ant' the build/scratch directory will contain this
+ generated code.
+ For the broker module add build/scratch/broker/src
+ For the common module add build/scratch/common/src
+ </p></div><div class="section" title="9.2.3.2. Dependencies"><div class="titlepage"><div><div><h5 class="title"><a name="QpidJavaBuildHowTo-Dependencies"></a>9.2.3.2.
+ Dependencies
+ </h5></div></div></div><p>
+ These dependencies are correct at the time of writting however,
+ if things are not working you can check the dependencies by
+ looking in the modules build.xml file:
+ </p><pre class="programlisting">
+for i in `find . -name build.xml` ; do echo "$i:"; grep module.depends $i ; done
+</pre><p>
+ The <span class="emphasis"><em>module.depend</em></span> value will detail which other modules
+ are dependencies.
+ </p><p>
+ broker
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>management/common
+ </p></li></ul></div><p>
+ client
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Common
+ </p></li></ul></div><p>
+ systest
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>client
+ </p></li><li class="listitem"><p>management/common
+ </p></li><li class="listitem"><p>broker
+ </p></li><li class="listitem"><p>broker/test
+ </p></li><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>junit-toolkit
+ </p></li><li class="listitem"><p>management/tools/qpid-cli
+ </p></li></ul></div><p>
+ perftests
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>systests
+ </p></li><li class="listitem"><p>client
+ </p></li><li class="listitem"><p>broker
+ </p></li><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>junit-toolkit
+ </p></li></ul></div><p>
+ management/eclipse-plugin
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>broker
+ </p></li><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>management/common
+ </p></li></ul></div><p>
+ management/console
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>client
+ </p></li></ul></div><p>
+ management/agent
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>client
+ </p></li></ul></div><p>
+ management/tools/qpid-cli
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>management/common
+ </p></li></ul></div><p>
+ management/client
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>client
+ </p></li></ul></div><p>
+ integrationtests
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>systests
+ </p></li><li class="listitem"><p>client
+ </p></li><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>junit-toolkit
+ </p></li></ul></div><p>
+ testkit
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>client
+ </p></li><li class="listitem"><p>broker
+ </p></li><li class="listitem"><p>common
+ </p></li></ul></div><p>
+ tools
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>client
+ </p></li><li class="listitem"><p>common
+ </p></li></ul></div><p>
+ client/examples
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>client
+ </p></li></ul></div><p>
+ broker-plugins
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>client
+ </p></li><li class="listitem"><p>management/common
+ </p></li><li class="listitem"><p>broker
+ </p></li><li class="listitem"><p>common
+ </p></li><li class="listitem"><p>junit-toolkit
+ </p></li></ul></div></div></div><div class="section" title="9.2.4. What next ?"><div class="titlepage"><div><div><h4 class="title"><a name="QpidJavaBuildHowTo-Whatnext-3F"></a>9.2.4.
+ What next ?
+ </h4></div></div></div><p>
+ If you want to run your built Qpid package, see our <a class="xref" href="">???</a> for details of
+ how to do that.
+ </p><p>
+ If you want to run our tests, you can use the ant test or
+ testreport (produces a useful report) targets.
+ </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s10.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">8.
+ How to Tune M3 Java Broker Performance
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 10.
+ Use Priority Queues
+ </td></tr></table></div></body></html>
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org