<!--
 -
 - Licensed to the Apache Software Foundation (ASF) under one
 - or more contributor license agreements.  See the NOTICE file
 - distributed with this work for additional information
 - regarding copyright ownership.  The ASF licenses this file
 - to you under the Apache License, Version 2.0 (the
 - "License"); you may not use this file except in compliance
 - with the License.  You may obtain a copy of the License at
 - 
 -   http://www.apache.org/licenses/LICENSE-2.0
 - 
 - Unless required by applicable law or agreed to in writing,
 - software distributed under the License is distributed on an
 - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 - KIND, either express or implied.  See the License for the
 - specific language governing permissions and limitations
 - under the License.
 -
 -->
h3. General User Guides

* [Feature Guide| Java Broker Feature Guide]
* [FAQ|Qpid Java FAQ]
* [Getting Started Guide]
* [Broker Environment Variables|Java Environment Variables]
* [Troubleshooting Guide|Qpid Troubleshooting Guide]

h3. How Tos
* [Add New Users]
* [Configure ACLs]
* [Configure Java Qpid to use a SSL connection.]
* [Configure Log4j CompositeRolling Appender]
* [Configure the Broker via config.xml]
* [Configure the Virtual Hosts via virtualhosts.xml]
* [Debug using log4j]
* [How to Tune M3 Java Broker Performance]
* [Qpid Java Build How To]
* [Use Priority Queues]

h3. Management Tools
* [Qpid JMX Management Console]
* [MessageStore Tool]
* [Qpid Java Broker Management CLI]
* [Management Design notes]
