You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2014/12/08 16:49:33 UTC

[02/25] activemq-6 git commit: ACTIVEMQ6-9 - port to markdown

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/en/using-jms.xml
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/using-jms.xml b/docs/user-manual/en/using-jms.xml
deleted file mode 100644
index fdf0729..0000000
--- a/docs/user-manual/en/using-jms.xml
+++ /dev/null
@@ -1,364 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================================= -->
-<!-- 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.                                                -->
-<!-- ============================================================================= -->
-
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "ActiveMQ_User_Manual.ent">
-%BOOK_ENTITIES;
-]>
-<chapter id="using-jms">
-    <title>Using JMS</title>
-    <para>Although ActiveMQ provides a JMS agnostic messaging API, many users will be more
-        comfortable using JMS.</para>
-    <para>JMS is a very popular API standard for messaging, and most messaging systems provide a JMS
-        API. If you are completely new to JMS we suggest you follow the<ulink
-            url="http://docs.oracle.com/javaee/1.3/jms/tutorial"> Sun
-            JMS tutorial</ulink> - a full JMS tutorial is out of scope for this guide.</para>
-    <para>ActiveMQ also ships with a wide range of examples, many of which demonstrate JMS API usage.
-        A good place to start would be to play around with the simple JMS Queue and Topic example,
-        but we also provide examples for many other parts of the JMS API. A full description of the
-        examples is available in <xref linkend="examples"/>.</para>
-    <para>In this section we'll go through the main steps in configuring the server for JMS and
-        creating a simple JMS program. We'll also show how to configure and use JNDI, and also how
-        to use JMS with ActiveMQ without using any JNDI.</para>
-    <section>
-        <title>A simple ordering system</title>
-        <para>For this chapter we're going to use a very simple ordering system as our example. It is
-            a somewhat contrived example because of its extreme simplicity, but it serves to
-            demonstrate the very basics of setting up and using JMS.</para>
-        <para>We will have a single JMS Queue called <literal>OrderQueue</literal>, and we will have
-            a single <literal>MessageProducer</literal> sending an order message to the queue and a
-            single <literal>MessageConsumer</literal> consuming the order message from the
-            queue.</para>
-        <para>The queue will be a <literal>durable</literal> queue, i.e. it will survive a server
-            restart or crash. We also want to pre-deploy the queue, i.e. specify the queue in the
-            server JMS configuration so it is created automatically without us having to explicitly
-            create it from the client.</para>
-    </section>
-    <section id="using-jms.jndi.configuration">
-        <title>JNDI Configuration</title>
-        <para>The JMS specification establishes the convention that <emphasis>administered
-            objects</emphasis> (i.e. JMS queue, topic and connection factory instances) are made
-            available via the JNDI API.  Brokers are free to implement JNDI as they see fit assuming
-            the implementation fits the API. ActiveMQ does not have a JNDI server. Rather, it uses a
-            client-side JNDI implementation that relies on special properties set in the environment
-            to construct the appropriate JMS objects. In other words, no objects are stored in JNDI
-            on the ActiveMQ server. There are simply instantiated on the client based on the provided
-            configuration. Let's look at the different kinds of administered objects and how to configure
-            them.</para>
-        <note>
-            <para>The following configuration properties <emphasis>are strictly required when ActiveMQ
-                is running in stand-alone mode</emphasis>. When ActiveMQ is integrated to an application
-                server (e.g. Wildfly) the application server itself will almost certainly provide a JNDI
-                client with its own properties.</para>
-        </note>
-        <section>
-            <title>ConnectionFactory JNDI</title>
-            <para>A JMS connection factory is used by the client to make connections to the server.
-                It knows the location of the server it is connecting to, as well as many other
-                configuration parameters.</para>
-            <para>By default, a <literal>javax.naming.Context</literal> instance created using the
-                <literal>org.apache.activemq.jndi.ActiveMQInitialContextFactory</literal> will automatically
-                have the following connection factories available for lookup:</para>
-            <itemizedlist>
-                <listitem>
-                    <para><literal>ConnectionFactory</literal></para>
-                </listitem>
-                <listitem>
-                    <para><literal>XAConnectionFactory</literal></para>
-                </listitem>
-                <listitem>
-                    <para><literal>QueueConnectionFactory</literal></para>
-                </listitem>
-                <listitem>
-                    <para><literal>TopicConnectionFactory</literal></para>
-                </listitem>
-            </itemizedlist>
-            <para>Here's a simple example of the JNDI context environment for a client looking up a connection factory
-                to access an <emphasis>embedded</emphasis> instance of ActiveMQ:</para>
-            <programlisting>
-java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory</programlisting>
-            <para>It's really as simple as that. As noted previously, any JNDI context created with the
-                <literal>ActiveMQInitialContextFactory</literal> will have a set of default connection factories
-                available. Therefore, only the <literal>java.naming.factory.initial</literal> property is required
-                to access an embedded broker.</para>
-            <para>In certain situations there could be multiple server instances running within a particular JVM. In
-                that situation each server would typically have an InVM acceptor with a unique server-ID. A client
-                using JMS and JNDI can account for this by specifying a
-                <literal>javax.naming.Context.PROVIDER_URL</literal> (<literal>String</literal> value of
-                "java.naming.provider.url") in the JNDI environment like <literal>vm://2</literal> where
-                <literal>2</literal> is the server-ID for acceptor.</para>
-            <para>Here is a list of all the supported URL schemes:</para>
-            <itemizedlist>
-                <listitem><para><literal>vm</literal></para></listitem>
-                <listitem><para><literal>tcp</literal></para></listitem>
-                <listitem><para><literal>udp</literal></para></listitem>
-                <listitem><para><literal>jgroups</literal></para></listitem>
-            </itemizedlist>
-            <para>Most clients won't be connecting to an embedded broker. Clients will most commonly connect
-                across a network a remote broker. In that case the client can use the
-                <literal>javax.naming.Context.PROVIDER_URL</literal> (<literal>String</literal> value of
-                "java.naming.provider.url") in the JNDI environment to specify where to connect. Here's a simple
-                example of a client configuring a connection factory to connect to a remote broker running on
-                myhost:5445:</para>
-            <programlisting>
-java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
-java.naming.provider.url=tcp://myhost:5445</programlisting>
-            <para>In the example above the client is using the <literal>tcp</literal> scheme for the provider URL.
-                A client may also specify multiple comma-delimited host:port combinations in the URL (e.g.
-                <literal>tcp://remote-host1:5445,remote-host2:5445</literal>). Whether there is one or many
-                host:port combinations in the URL they are treated as the <emphasis>initial connector(s)</emphasis>
-                for the underlying connection.</para>
-            <para>The <literal>udp</literal> scheme is also supported which should use an host:port combination that
-                matches the <literal>group-address</literal> and <literal>group-port</literal> from the corresponding
-                <literal>broadcast-group</literal> configured on the ActiveMQ server(s).</para>
-            <para>Each scheme has a specific set of properties which can be set using the traditional URL query string
-                format (e.g. <literal>scheme://host:port?key1=value1&amp;key2=value2</literal>) to customize the underlying
-                transport mechanism. For example, if a client wanted to connect to a remote server using TCP and SSL
-                it would use a <literal>Context.PROVIDER_URL</literal> of
-                <literal>tcp://remote-host:5445?ssl-enabled=true</literal>.</para>
-            <para>All the properties available for the <literal>tcp</literal> scheme are described in
-                <link linkend="configuring-transports.netty">the documentation regarding the Netty transport</link>.</para>
-            <para>The <literal>udp</literal> scheme supports 4 properties:</para>
-            <itemizedlist>
-                <listitem>
-                    <para><literal>local-address</literal> - If you are running with multiple network interfaces on the same
-                        machine, you may want to specify that the discovery group listens only only a specific interface. To
-                        do this you can specify the interface address with this parameter.</para>
-                </listitem>
-                <listitem>
-                    <para><literal>local-port</literal> - If you want to specify a local port to which the datagram socket is
-                        bound you can specify it here. Normally you would just use the default value of -1 which signifies
-                        that an anonymous port should be used. This parameter is always specified in conjunction with
-                        <literal>local-address</literal>.</para>
-                </listitem>
-                <listitem>
-                    <para><literal>refresh-timeout</literal> - This is the period the discovery group waits after receiving
-                        the last broadcast from a particular server before removing that servers connector pair entry from its
-                        list. You would normally set this to a value significantly higher than the broadcast-period on the
-                        broadcast group otherwise servers might intermittently disappear from the list even though they are
-                        still broadcasting due to slight differences in timing. This parameter is optional, the default value
-                        is 10000 milliseconds (10 seconds).</para>
-                </listitem>
-                <listitem>
-                    <para><literal>discovery-initial-wait-timeout</literal> -  If the connection factory is used immediately
-                        after creation then it may not have had enough time to received broadcasts from all the nodes in the
-                        cluster. On first usage, the connection factory will make sure it waits this long since creation
-                        before creating the first connection. The default value for this parameter is 10000 milliseconds.</para>
-                </listitem>
-            </itemizedlist>
-            <para>Lastly, the <literal>jgroups</literal> scheme is supported which provides an alternative to the
-                <literal>udp</literal> scheme for server discovery. The URL pattern is as follows
-                <literal>jgroups://&lt;jgroups-xml-conf-filename></literal> where
-                <literal>&lt;jgroups-xml-conf-filename></literal> refers to an XML file on the classpath that contains
-                the JGroups configuration.</para>
-            <para>The <literal>refresh-timeout</literal> and <literal>discovery-initial-wait-timeout</literal> properties
-                are supported just like with <literal>udp</literal>.</para>
-            <para>Although a <literal>javax.naming.Context</literal> instance created using the
-                <literal>org.apache.activemq.jndi.ActiveMQInitialContextFactory</literal> will automatically
-                have some connection factories present, it is possible for a client to specify its own connection
-                factories. This is done using the
-                <literal>org.apache.activemq.jndi.ActiveMQInitialContextFactory.CONNECTION_FACTORY_NAMES</literal>
-                property (String value of "connectionFactoryNames"). The value for this property is a comma delimited
-                String of all the connection factories the client wishes to create. For example:</para>
-            <programlisting>
-java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
-java.naming.provider.url=tcp://localhost:5445
-connectionFactoryNames=myConnectionFactory</programlisting>
-            <para>In this example, the client is creating a connection factory named "myConnectionFactory." This
-                replaces all the default connection factories so that only the "myConnectionFactory" connection factory
-                is available to the client.</para>
-            <para>Aside from the underlying transport, the underlying connection factory implementation can also be
-                configured using special properties. To configure a particular connection factory the client would
-                follow this pattern for the property name to set in the environment:
-                <literal>connection.&lt;connection-factory-name>.&lt;property-name></literal>. For example, if the
-                client wanted to customize the default connection factory "ConnectionFactory" to support
-                high-availability then it would do this:</para>
-            <programlisting>
-java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
-java.naming.provider.url=tcp://myhost:5445
-connection.ConnectionFactory.ha=true</programlisting>
-            <para>Any property available on the underlying
-                <literal>org.apache.activemq.jms.client.ActiveMQConnectionFactory</literal> can be set this way in
-                addition to the <literal>ha</literal> (boolean) and <literal>type</literal> (String) properties. Here
-                are the different options for the <literal>type</literal>:</para>
-            <table frame="topbot" id="using-jms.table.configure.factory.types">
-                <title>Configuration for Connection Factory Types</title>
-                <tgroup cols="3">
-                    <colspec colname="cftype" colnum="1"/>
-                    <colspec colname="interface" colnum="2"/>
-                    <thead>
-                        <row>
-                            <entry>type</entry>
-                            <entry>interface</entry>
-                        </row>
-                    </thead>
-                    <tbody>
-                        <row>
-                            <entry>CF (default)</entry>
-                            <entry>javax.jms.ConnectionFactory</entry>
-                        </row>
-                        <row>
-                            <entry>XA_CF</entry>
-                            <entry>javax.jms.XAConnectionFactory</entry>
-                        </row>
-                        <row>
-                            <entry>QUEUE_CF</entry>
-                            <entry>javax.jms.QueueConnectionFactory</entry>
-                        </row>
-                        <row>
-                            <entry>QUEUE_XA_CF</entry>
-                            <entry>javax.jms.XAQueueConnectionFactory</entry>
-                        </row>
-                        <row>
-                            <entry>TOPIC_CF</entry>
-                            <entry>javax.jms.TopicConnectionFactory</entry>
-                        </row>
-                        <row>
-                            <entry>TOPIC_XA_CF</entry>
-                            <entry>javax.jms.XATopicConnectionFactory</entry>
-                        </row>
-                    </tbody>
-                </tgroup>
-            </table>
-        </section>
-        <section>
-            <title>Destination JNDI</title>
-            <para>JMS destinations are also typically looked up via JNDI. As with connection factories, destinations can
-                be configured using special properties in the JNDI context environment. The property
-                <emphasis>name</emphasis> should follow the pattern: <literal>queue.&lt;jndi-binding></literal> or
-                <literal>topic.&lt;jndi-binding></literal>. The property <emphasis>value</emphasis> should be the name
-                of the queue hosted by the ActiveMQ server. For example, if the server had a JMS queue configured like
-                so:</para>
-            <programlisting>
-&lt;queue name="OrderQueue"/></programlisting>
-            <para>And if the client wanted to bind this queue to "queues/OrderQueue" then the JNDI properties would be
-                configured like so:</para>
-            <programlisting>
-java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
-java.naming.provider.url=tcp://myhost:5445
-queue.queues/OrderQueue=OrderQueue</programlisting>
-            <para>It is also possible to look-up JMS destinations which haven't been configured explicitly in the JNDI
-                context environment. This is possible using <literal>dynamicQueues/</literal> or
-                <literal>dynamicTopics/</literal> in the look-up string. For example, if the client wanted to look-up the
-                aforementioned "OrderQueue" it could do so simply by using the string "dynamicQueues/OrderQueue". Note,
-                the text that follows <literal>dynamicQueues/</literal> or <literal>dynamicTopics/</literal> must
-                correspond <emphasis>exactly</emphasis> to the name of the destination on the server.</para>
-        </section>
-        <section>
-            <title>The code</title>
-            <para>Here's the code for the example:</para>
-            <para>First we'll create a JNDI initial context from which to lookup our JMS objects. If the above
-                properties are set in <literal>jndi.properties</literal> and it is on the classpath then any new, empty
-                <literal>InitialContext</literal> will be initialized using those properties:</para>
-            <programlisting>InitialContext ic = new InitialContext();</programlisting>
-            <para>Now we'll look up the connection factory from which we can create connections to myhost:5445:</para>
-            <programlisting>ConnectionFactory cf = (ConnectionFactory)ic.lookup("ConnectionFactory");</programlisting>
-            <para>And look up the Queue:</para>
-            <programlisting>Queue orderQueue = (Queue)ic.lookup("queues/OrderQueue");</programlisting>
-            <para>Next we create a JMS connection using the connection factory:</para>
-            <programlisting>Connection connection = cf.createConnection();</programlisting>
-            <para>And we create a non transacted JMS Session, with AUTO_ACKNOWLEDGE acknowledge
-                mode:</para>
-            <programlisting>Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);</programlisting>
-            <para>We create a MessageProducer that will send orders to the queue:</para>
-            <programlisting>MessageProducer producer = session.createProducer(orderQueue);</programlisting>
-            <para>And we create a MessageConsumer which will consume orders from the queue:</para>
-            <programlisting>MessageConsumer consumer = session.createConsumer(orderQueue);</programlisting>
-            <para>We make sure we start the connection, or delivery won't occur on it:</para>
-            <programlisting>connection.start();</programlisting>
-            <para>We create a simple TextMessage and send it:</para>
-            <programlisting>TextMessage message = session.createTextMessage("This is an order");
-producer.send(message);</programlisting>
-            <para>And we consume the message:</para>
-            <programlisting>TextMessage receivedMessage = (TextMessage)consumer.receive();
-System.out.println("Got order: " + receivedMessage.getText());</programlisting>
-            <para>It is as simple as that. For a wide range of working JMS examples please see the
-                examples directory in the distribution.</para>
-            <warning>
-                <para>Please note that JMS connections, sessions, producers and consumers are
-                        <emphasis>designed to be re-used</emphasis>.</para>
-                <para>It is an anti-pattern to create new connections, sessions, producers and consumers
-                    for each message you produce or consume. If you do this, your application will
-                    perform very poorly. This is discussed further in the section on performance tuning
-                        <xref linkend="perf-tuning"/>.</para>
-            </warning>
-        </section>
-    </section>
-    <section>
-        <title>Directly instantiating JMS Resources without using JNDI</title>
-        <para>Although it is a very common JMS usage pattern to lookup JMS <emphasis>Administered
-            Objects</emphasis> (that's JMS Queue, Topic and ConnectionFactory instances) from JNDI,
-            in some cases you just think "Why do I need JNDI? Why can't I just instantiate these
-            objects directly?"</para>
-        <para>With ActiveMQ you can do exactly that. ActiveMQ supports the direct instantiation of JMS
-            Queue, Topic and ConnectionFactory instances, so you don't have to use JNDI at
-            all.</para>
-        <para>For a full working example of direct instantiation please see the JMS examples in
-                <xref linkend="examples"/>.</para>
-        <para>Here's our simple example, rewritten to not use JNDI at all:</para>
-        <para>We create the JMS ConnectionFactory object via the ActiveMQJMSClient Utility class,
-            note we need to provide connection parameters and specify which transport we are using,
-            for more information on connectors please see <xref linkend="configuring-transports"
-            />.</para>
-        <programlisting>              
-TransportConfiguration transportConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getName());
-ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF,transportConfiguration);</programlisting>
-        <para>We also create the JMS Queue object via the ActiveMQJMSClient Utility class:</para>
-        <programlisting>Queue orderQueue = ActiveMQJMSClient.createQueue("OrderQueue");</programlisting>
-        <para>Next we create a JMS connection using the connection factory:</para>
-        <programlisting>Connection connection = cf.createConnection();</programlisting>
-        <para>And we create a non transacted JMS Session, with AUTO_ACKNOWLEDGE acknowledge
-            mode:</para>
-        <programlisting>Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);</programlisting>
-        <para>We create a MessageProducer that will send orders to the queue:</para>
-        <programlisting>MessageProducer producer = session.createProducer(orderQueue);</programlisting>
-        <para>And we create a MessageConsumer which will consume orders from the queue:</para>
-        <programlisting>MessageConsumer consumer = session.createConsumer(orderQueue);</programlisting>
-        <para>We make sure we start the connection, or delivery won't occur on it:</para>
-        <programlisting>connection.start();</programlisting>
-        <para>We create a simple TextMessage and send it:</para>
-        <programlisting>TextMessage message = session.createTextMessage("This is an order");
-producer.send(message);</programlisting>
-        <para>And we consume the message:</para>
-        <programlisting>TextMessage receivedMessage = (TextMessage)consumer.receive();
-System.out.println("Got order: " + receivedMessage.getText());</programlisting>
-    </section>
-    <section id="using-jms.clientid">
-        <title>Setting The Client ID</title>
-        <para>This represents the client id for a JMS client and is needed for creating durable
-            subscriptions. It is possible to configure this on the connection factory and can be set
-            via the <literal>client-id</literal> element. Any connection created by this connection
-            factory will have this set as its client id.</para>
-    </section>
-    <section id="using-jms.dupsokbatchsize">
-        <title>Setting The Batch Size for DUPS_OK </title>
-        <para>When the JMS acknowledge mode is set to <literal>DUPS_OK</literal> it is possible to
-            configure the consumer so that it sends acknowledgements in batches rather that one at a
-            time, saving valuable bandwidth. This can be configured via the connection factory via
-            the <literal>dups-ok-batch-size</literal> element and is set in bytes. The default is
-            1024 * 1024 bytes = 1 MiB.</para>
-    </section>
-    <section id="using-jms.txbatchsize">
-        <title>Setting The Transaction Batch Size</title>
-        <para>When receiving messages in a transaction it is possible to configure the consumer to
-            send acknowledgements in batches rather than individually saving valuable bandwidth.
-            This can be configured on the connection factory via the <literal
-                >transaction-batch-size</literal> element and is set in bytes. The default is 1024 *
-            1024.</para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/en/using-server.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/using-server.md b/docs/user-manual/en/using-server.md
new file mode 100644
index 0000000..9998646
--- /dev/null
+++ b/docs/user-manual/en/using-server.md
@@ -0,0 +1,204 @@
+Using the Server
+================
+
+This chapter will familiarise you with how to use the ActiveMQ server.
+
+We'll show where it is, how to start and stop it, and we'll describe the
+directory layout and what all the files are and what they do.
+
+For the remainder of this chapter when we talk about the ActiveMQ server
+we mean the ActiveMQ standalone server, in its default configuration
+with a JMS Service and JNDI service enabled.
+
+When running embedded in JBoss Application Server the layout may be
+slightly different but by-and-large will be the same.
+
+Starting and Stopping the standalone server
+===========================================
+
+In the distribution you will find a directory called `bin`.
+
+`cd` into that directory and you will find a Unix/Linux script called
+`activemq` and a Windows script called `activemq.cmd`.
+
+To start the ActiveMQ instance on Unix/Linux type `./activemq run`
+
+To start the ActiveMQ instance on Windows type `activemq.cmd run`
+
+These scripts are very simple and basically just set-up the classpath
+and some JVM parameters and bootstrap the server using
+[Airline](https://github.com/airlift/airline).
+
+To stop the ActiveMQ instance you will use the same `activemq` script.
+
+To run on Unix/Linux type `./activemq stop`
+
+To run on Windows type `activemq.cmd stop`
+
+Please note that ActiveMQ requires a Java 6 or later runtime to run.
+
+By default the `config/non-clustered/bootstrap.xml` configuration is
+used. The configuration can be changed e.g. by running
+`./activemq run -- xml:../config/clustered/bootstrap.xml` or another
+config of your choosing.
+
+Server JVM settings
+===================
+
+The run scripts set some JVM settings for tuning the garbage collection
+policy and heap size. We recommend using a parallel garbage collection
+algorithm to smooth out latency and minimise large GC pauses.
+
+By default ActiveMQ runs in a maximum of 1GiB of RAM. To increase the
+memory settings change the `-Xms` and `-Xmx` memory settings as you
+would for any Java program.
+
+If you wish to add any more JVM arguments or tune the existing ones, the
+run scripts are the place to do it.
+
+Pre-configured Options
+======================
+
+The distribution contains several standard configuration sets for
+running:
+
+-   Non clustered stand-alone.
+
+-   Clustered stand-alone
+
+-   Replicated stand-alone
+
+-   Shared-store stand-alone
+
+You can of course create your own configuration and specify any
+configuration when running the run script.
+
+Library Path
+============
+
+If you're using the [Asynchronous IO Journal](#aio-journal) on Linux,
+you need to specify `java.library.path` as a property on your Java
+options. This is done automatically in the scripts.
+
+If you don't specify `java.library.path` at your Java options then the
+JVM will use the environment variable `LD_LIBRARY_PATH`.
+
+System properties
+=================
+
+ActiveMQ can take a system property on the command line for configuring
+logging.
+
+For more information on configuring logging, please see ?.
+
+Configuration files
+===================
+
+The configuration file used to bootstrap the server (e.g.
+`bootstrap.xml` by default) references the specific broker configuration
+files.
+
+-   `activemq-configuration.xml`. This is the main ActiveMQ
+    configuration file. All the parameters in this file are described in
+    ?. Please see ? for more information on this file.
+
+-   `activemq-queues.xml`. This file contains predefined queues, queue
+    settings and security settings. The file is optional - all this
+    configuration can also live in `activemq-configuration.xml`. In
+    fact, the default configuration sets do not have a
+    `activemq-queues.xml` file. The purpose of allowing queues to be
+    configured in these files is to allow you to manage your queue
+    configuration over many files instead of being forced to maintain it
+    in a single file. There can be many `activemq-queues.xml` files on
+    the classpath. All will be loaded if found.
+
+-   `activemq-users.xml` ActiveMQ ships with a basic security manager
+    implementation which obtains user credentials from the
+    `activemq-users.xml` file. This file contains user, password and
+    role information. For more information on security, please see ?.
+
+-   `activemq-jms.xml` The distro configuration by default includes a
+    server side JMS service which mainly deploys JMS Queues, Topics and
+    ConnectionFactorys from this file into JNDI. If you're not using
+    JMS, or you don't need to deploy JMS objects on the server side,
+    then you don't need this file. For more information on using JMS,
+    please see ?.
+
+> **Note**
+>
+> The property `file-deployment-enabled` in the
+> `activemq-configuration.xml` configuration when set to false means
+> that the other configuration files are not loaded. This is true by
+> default.
+
+It is also possible to use system property substitution in all the
+configuration files. by replacing a value with the name of a system
+property. Here is an example of this with a connector configuration:
+
+    <connector name="netty">
+       <factory-class>org.apache.activemq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
+       <param key="host" value="${activemq.remoting.netty.host:localhost}"/>
+       <param key="port" value="${activemq.remoting.netty.port:5445}"/>
+    </connector>
+
+Here you can see we have replaced 2 values with system properties
+`activemq.remoting.netty.host` and `activemq.remoting.netty.port`. These
+values will be replaced by the value found in the system property if
+there is one, if not they default back to localhost or 5445
+respectively. It is also possible to not supply a default. i.e.
+`${activemq.remoting.netty.host}`, however the system property *must* be
+supplied in that case.
+
+Bootstrap File
+==============
+
+The stand-alone server is basically a set of POJOs which are
+instantiated by Airline commands.
+
+The bootstrap file is very simple. Let's take a look at an example:
+
+    <broker xmlns="http://activemq.org/schema">
+
+       <file:core configuration="${activemq.home}/config/stand-alone/non-clustered/activemq-configuration.xml"></core>
+       <file:jms configuration="${activemq.home}/config/stand-alone/non-clustered/activemq-jms.xml"></jms>
+
+       <basic-security/>
+
+       <naming bindAddress="localhost" port="1099" rmiBindAddress="localhost" rmiPort="1098"/>
+
+    </broker>
+
+-   core
+
+    Instantiates a core server using the configuration file from the
+    `configuration` attribute. This is the main broker POJO necessary to
+    do all the real messaging work.
+
+-   jms
+
+    This deploys any JMS Objects such as JMS Queues, Topics and
+    ConnectionFactory instances from the `activemq-jms.xml` file
+    specified. It also provides a simple management API for manipulating
+    JMS Objects. On the whole it just translates and delegates its work
+    to the core server. If you don't need to deploy JMS Queues, Topics
+    and ConnectionFactories from server side configuration and don't
+    require the JMS management interface this can be disabled.
+
+-   naming
+
+    Instantiates a naming server which implements JNDI. This is used by
+    JMS clients
+
+The main configuration file.
+============================
+
+The configuration for the ActiveMQ core server is contained in
+`activemq-configuration.xml`. This is what the FileConfiguration bean
+uses to configure the messaging server.
+
+There are many attributes which you can configure ActiveMQ. In most
+cases the defaults will do fine, in fact every attribute can be
+defaulted which means a file with a single empty `configuration` element
+is a valid configuration file. The different configuration will be
+explained throughout the manual or you can refer to the configuration
+reference [here](#configuration-index).

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/en/using-server.xml
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/using-server.xml b/docs/user-manual/en/using-server.xml
deleted file mode 100644
index 3653711..0000000
--- a/docs/user-manual/en/using-server.xml
+++ /dev/null
@@ -1,208 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================================= -->
-<!-- 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.                                                -->
-<!-- ============================================================================= -->
-
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "ActiveMQ_User_Manual.ent">
-%BOOK_ENTITIES;
-]>
-<chapter id="using-server">
-    <title>Using the Server</title>
-    <para>This chapter will familiarise you with how to use the ActiveMQ server.</para>
-    <para>We'll show where it is, how to start and stop it, and we'll describe the directory layout
-        and what all the files are and what they do.</para>
-    <para>For the remainder of this chapter when we talk about the ActiveMQ server we mean the
-        ActiveMQ standalone server, in its default configuration with a JMS Service and JNDI service
-        enabled.</para>
-    <para>When running embedded in JBoss Application Server the layout may be slightly different but
-        by-and-large will be the same.</para>
-    <section>
-        <title>Starting and Stopping the standalone server</title>
-        <para>In the distribution you will find a directory called <literal>bin</literal>.</para>
-        <para><literal>cd</literal> into that directory and you will find a Unix/Linux script called
-                <literal>activemq</literal> and a Windows script called <literal>activemq.cmd</literal>.</para>
-        <para>To start the ActiveMQ instance on Unix/Linux type <literal>./activemq run</literal></para>
-        <para>To start the ActiveMQ instance on Windows type <literal>activemq.cmd run</literal></para>
-        <para>These scripts are very simple and basically just set-up the classpath and some JVM
-            parameters and bootstrap the server using <ulink
-                   url="https://github.com/airlift/airline">Airline</ulink>.</para>
-        <para>To stop the ActiveMQ instance you will use the same <literal>activemq</literal> script.</para>
-        <para>To run on Unix/Linux type <literal>./activemq stop</literal></para>
-        <para>To run on Windows type <literal>activemq.cmd stop</literal></para>
-        <para>Please note that ActiveMQ requires a Java 6 or later runtime to run.</para>
-        <para>By default the <literal>config/non-clustered/bootstrap.xml</literal> configuration is used. The
-            configuration can be changed e.g. by running
-            <literal>./activemq run -- xml:../config/clustered/bootstrap.xml</literal> or another config of
-            your choosing.</para>
-    </section>
-    <section>
-        <title>Server JVM settings</title>
-        <para>The run scripts set some JVM settings for tuning the garbage collection policy
-            and heap size. We recommend using a parallel garbage collection algorithm to smooth
-            out latency and minimise large GC pauses.</para>
-        <para>By default ActiveMQ runs in a maximum of 1GiB of RAM. To increase the memory settings
-            change the <literal>-Xms</literal> and <literal>-Xmx</literal> memory settings as you
-            would for any Java program.</para>
-        <para>If you wish to add any more JVM arguments or tune the existing ones, the run scripts
-            are the place to do it.</para>
-    </section>
-    <section>
-        <title>Pre-configured Options</title>
-        <para>The distribution contains several standard configuration sets for running:</para>
-        <itemizedlist>
-            <listitem>
-                <para>Non clustered stand-alone.</para>
-            </listitem>
-            <listitem>
-                <para>Clustered stand-alone</para>
-            </listitem>
-            <listitem>
-                <para>Replicated stand-alone</para>
-            </listitem>
-            <listitem>
-                <para>Shared-store stand-alone</para>
-            </listitem>
-        </itemizedlist>
-        <para>You can of course create your own configuration and specify any configuration
-            when running the run script.</para>
-    </section>
-    <section id="using-server.library.path">
-        <title>Library Path</title>
-        <para>If you're using the <link linkend="aio-journal">Asynchronous IO Journal</link> on
-            Linux, you need to specify <literal>java.library.path</literal> as a property on your
-            Java options. This is done automatically in the scripts.</para>
-        <para>If you don't specify <literal>java.library.path</literal> at your Java options then
-            the JVM will use the environment variable <literal>LD_LIBRARY_PATH</literal>.</para>
-    </section>
-    <section>
-        <title>System properties</title>
-        <para>ActiveMQ can take a system property on the command line for configuring logging.</para>
-        <para>For more information on configuring logging, please see <xref linkend="logging"
-            />.</para>
-    </section>
-    <section id="using-server.configuration">
-        <title>Configuration files</title>
-        <para>The configuration file used to bootstrap the server (e.g. <literal>bootstrap.xml</literal>
-            by default) references the specific broker configuration files.</para>
-        <itemizedlist>
-            <listitem>
-                <para><literal>activemq-configuration.xml</literal>. This is the main ActiveMQ
-                    configuration file. All the parameters in this file are described in <xref
-                        linkend="configuration-index"/>. Please see <xref
-                        linkend="usingserver.mainconfig"/> for more information on this file.</para>
-            </listitem>
-            <listitem>
-                <para><literal>activemq-queues.xml</literal>. This file contains predefined queues,
-                    queue settings and security settings. The file is optional - all this
-                    configuration can also live in <literal>activemq-configuration.xml</literal>. In
-                    fact, the default configuration sets do not have a <literal
-                        >activemq-queues.xml</literal> file. The purpose of allowing queues to be
-                    configured in these files is to allow you to manage your queue configuration
-                    over many files instead of being forced to maintain it in a single file. There
-                    can be many <literal>activemq-queues.xml</literal> files on the classpath. All
-                    will be loaded if found.</para>
-            </listitem>
-            <listitem>
-                <para><literal>activemq-users.xml</literal> ActiveMQ ships with a basic security
-                    manager implementation which obtains user credentials from the <literal
-                        >activemq-users.xml</literal> file. This file contains user, password and
-                    role information. For more information on security, please see <xref
-                        linkend="security"/>.</para>
-            </listitem>
-            <listitem>
-                <para><literal>activemq-jms.xml</literal> The distro configuration by default
-                    includes a server side JMS service which mainly deploys JMS Queues, Topics and
-                    ConnectionFactorys from this file into JNDI. If you're not using JMS, or you
-                    don't need to deploy JMS objects on the server side, then you don't need this
-                    file. For more information on using JMS, please see <xref linkend="using-jms"
-                    />.</para>
-            </listitem>
-        </itemizedlist>
-        <note>
-            <para>The property <literal>file-deployment-enabled</literal> in the <literal
-                    >activemq-configuration.xml</literal> configuration when set to false means that
-                the other configuration files are not loaded. This is true by default.</para>
-        </note>
-        <para>It is also possible to use system property substitution in all the configuration
-            files. by replacing a value with the name of a system property. Here is an example of
-            this with a connector configuration:</para>
-        <programlisting>
-&lt;connector name="netty">
-   &lt;factory-class>org.apache.activemq.core.remoting.impl.netty.NettyConnectorFactory&lt;/factory-class>
-   &lt;param key="host" value="${activemq.remoting.netty.host:localhost}"/>
-   &lt;param key="port" value="${activemq.remoting.netty.port:5445}"/>
-&lt;/connector></programlisting>
-        <para>Here you can see we have replaced 2 values with system properties <literal
-                >activemq.remoting.netty.host</literal> and <literal
-                >activemq.remoting.netty.port</literal>. These values will be replaced by the value
-            found in the system property if there is one, if not they default back to localhost or
-            5445 respectively. It is also possible to not supply a default. i.e. <literal
-                >${activemq.remoting.netty.host}</literal>, however the system property
-                <emphasis>must</emphasis> be supplied in that case.</para>
-    </section>
-    <section id="server.bootstrap.configuration">
-        <title>Bootstrap File</title>
-        <para>The stand-alone server is basically a set of POJOs which are instantiated by Airline commands.</para>
-        <para>The bootstrap file is very simple.  Let's take a look at an example:</para>
-        <para>
-            <programlisting>
-&lt;broker xmlns="http://activemq.org/schema">
-
-   &lt;file:core configuration="${activemq.home}/config/stand-alone/non-clustered/activemq-configuration.xml">&lt;/core>
-   &lt;file:jms configuration="${activemq.home}/config/stand-alone/non-clustered/activemq-jms.xml">&lt;/jms>
-
-   &lt;basic-security/>
-
-   &lt;naming bindAddress="localhost" port="1099" rmiBindAddress="localhost" rmiPort="1098"/>
-
-&lt;/broker></programlisting>
-        </para>
-        <itemizedlist>
-            <listitem>
-                <para>core</para>
-                <para>Instantiates a core server using the configuration file from the
-                   <literal>configuration</literal> attribute. This is the main broker POJO necessary
-                   to do all the real messaging work.</para>
-            </listitem>
-            <listitem id="jms">
-                <para>jms</para>
-                <para>This deploys any JMS Objects such as JMS Queues, Topics and ConnectionFactory
-                    instances from the <literal>activemq-jms.xml</literal> file specified. It also
-                    provides a simple management API for manipulating JMS Objects. On the whole it
-                    just translates and delegates its work to the core server. If you don't need to
-                    deploy JMS Queues, Topics and ConnectionFactories from server side configuration
-                    and don't require the JMS management interface this can be disabled.</para>
-            </listitem>
-            <listitem>
-                <para>naming</para>
-                <para>Instantiates a naming server which implements JNDI. This is used by JMS
-                    clients</para>
-            </listitem>
-        </itemizedlist>
-    </section>
-    <section id="usingserver.mainconfig">
-        <title>The main configuration file.</title>
-        <para>The configuration for the ActiveMQ core server is contained in <literal
-                >activemq-configuration.xml</literal>. This is what the FileConfiguration bean uses
-            to configure the messaging server.</para>
-        <para>There are many attributes which you can configure ActiveMQ. In most cases the defaults
-            will do fine, in fact every attribute can be defaulted which means a file with a single
-            empty <literal>configuration</literal> element is a valid configuration file. The
-            different configuration will be explained throughout the manual or you can refer to the
-            configuration reference <link linkend="configuration-index">here</link>.</para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/en/vertx-integration.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/vertx-integration.md b/docs/user-manual/en/vertx-integration.md
new file mode 100644
index 0000000..0b89d79
--- /dev/null
+++ b/docs/user-manual/en/vertx-integration.md
@@ -0,0 +1,91 @@
+Vert.x Integration
+==================
+
+[Vert.x](http://vertx.io/) is a lightweight, high performance
+application platform for the JVM that's designed for modern mobile, web,
+and enterprise applications. Vert.x provides a distributed event bus
+that allows messages to be sent across vert.x instances and clients. You
+can now redirect and persist any vert.x messages to ActiveMQ and route
+those messages to a specified vertx address by configuring ActiveMQ
+vertx incoming and outgoing vertx connector services.
+
+Configuring a Vertx Incoming Connector Service
+==============================================
+
+Vertx Incoming Connector services receive messages from vertx event bus
+and route them to a ActiveMQ queue. Such a service can be configured as
+follows:
+
+        <connector-service name="vertx-incoming-connector">
+        <factory-class>org.apache.activemq.integration.vertx.VertxIncomingConnectorServiceFactory</factory-class>
+        <param key="host" value="127.0.0.1"/>
+        <param key="port" value="0"/>
+        <param key="queue" value="jms.queue.vertxQueue"/>
+        <param key="vertx-address" value="vertx.in.eventaddress"/>
+        </connector-service>
+        
+
+Shown are the required params for the connector service:
+
+-   `queue`. The name of the ActiveMQ queue to send message to.
+
+As well as these required paramaters there are the following optional
+parameters
+
+-   `host`. The host name on which the vertx target container is
+    running. Default is localhost.
+
+-   `port`. The port number to which the target vertx listens. Default
+    is zero.
+
+-   `quorum-size`. The quorum size of the target vertx instance.
+
+-   `ha-group`. The name of the ha-group of target vertx instance.
+    Default is `activemq`.
+
+-   `vertx-address`. The vertx address to listen to. default is
+    org.apache.activemq.
+
+Configuring a Vertx Outgoing Connector Service
+==============================================
+
+Vertx Outgoing Connector services fetch vertx messages from a ActiveMQ
+queue and put them to vertx event bus. Such a service can be configured
+as follows:
+
+        <connector-service name="vertx-outgoing-connector">
+        <factory-class>org.apache.activemq.integration.vertx.VertxOutgoingConnectorServiceFactory</factory-class>
+        <param key="host" value="127.0.0.1"/>
+        <param key="port" value="0"/>
+        <param key="queue" value="jms.queue.vertxQueue"/>
+        <param key="vertx-address" value="vertx.out.eventaddress"/>
+        <param key="publish" value="true"/>
+        </connector-service>
+        
+
+Shown are the required params for the connector service:
+
+-   `queue`. The name of the ActiveMQ queue to fetch message from.
+
+As well as these required paramaters there are the following optional
+parameters
+
+-   `host`. The host name on which the vertx target container is
+    running. Default is localhost.
+
+-   `port`. The port number to which the target vertx listens. Default
+    is zero.
+
+-   `quorum-size`. The quorum size of the target vertx instance.
+
+-   `ha-group`. The name of the ha-group of target vertx instance.
+    Default is `activemq`.
+
+-   `vertx-address`. The vertx address to put messages to. default is
+    org.apache.activemq.
+
+-   `publish`. How messages is sent to vertx event bus. "true" means
+    using publish style. "false" means using send style. Default is
+    false.
+
+

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/en/vertx-integration.xml
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/vertx-integration.xml b/docs/user-manual/en/vertx-integration.xml
deleted file mode 100644
index adcb612..0000000
--- a/docs/user-manual/en/vertx-integration.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================================= -->
-<!-- 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.                                                -->
-<!-- ============================================================================= -->
-
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-        <!ENTITY % BOOK_ENTITIES SYSTEM "ActiveMQ_User_Manual.ent">
-        %BOOK_ENTITIES;
-        ]>
-<chapter id="vertx-integration">
-    <title>Vert.x Integration</title>
-    <para><ulink url="http://vertx.io/">Vert.x</ulink> is a lightweight, high performance application platform for the
-        JVM that's designed for modern mobile, web, and enterprise applications. Vert.x provides a distributed event bus that
-        allows messages to be sent across vert.x instances and clients. You can now redirect and persist any vert.x messages
-        to ActiveMQ and route those messages to a specified vertx address by configuring ActiveMQ vertx incoming and outgoing
-        vertx connector services.
-    </para>
-
-    <section>
-    <title>Configuring a Vertx Incoming Connector Service</title>
-    <para>Vertx Incoming Connector services receive messages from vertx event bus and route them to a ActiveMQ queue.
-    Such a service can be configured as follows:</para>
-    <programlisting>
-    &lt;connector-service name="vertx-incoming-connector">
-    &lt;factory-class>org.apache.activemq.integration.vertx.VertxIncomingConnectorServiceFactory&lt;/factory-class>
-    &lt;param key="host" value="127.0.0.1"/>
-    &lt;param key="port" value="0"/>
-    &lt;param key="queue" value="jms.queue.vertxQueue"/>
-    &lt;param key="vertx-address" value="vertx.in.eventaddress"/>
-    &lt;/connector-service>
-    </programlisting>
-    <para>Shown are the required params for the connector service:</para>
-        <itemizedlist>
-            <listitem>
-                <para><literal>queue</literal>. The name of the ActiveMQ queue to send message to.</para>
-            </listitem>
-        </itemizedlist>
-        <para>As well as these required paramaters there are the following optional parameters</para>
-        <itemizedlist>
-            <listitem>
-                <para><literal>host</literal>. The host name on which the vertx target container is running. Default is localhost.</para>
-            </listitem>
-            <listitem>
-                <para><literal>port</literal>. The port number to which the target vertx listens. Default is zero.</para>
-            </listitem>
-            <listitem>
-                <para><literal>quorum-size</literal>. The quorum size of the target vertx instance.</para>
-            </listitem>
-            <listitem>
-                <para><literal>ha-group</literal>. The name of the ha-group of target vertx instance. Default is <literal>activemq</literal>.</para>
-            </listitem>
-            <listitem>
-                <para><literal>vertx-address</literal>. The vertx address to listen to. default is org.apache.activemq.</para>
-            </listitem>
-        </itemizedlist>
-    </section>
-
-    <section>
-    <title>Configuring a Vertx Outgoing Connector Service</title>
-    <para>Vertx Outgoing Connector services fetch vertx messages from a ActiveMQ queue and put them to vertx event bus.
-    Such a service can be configured as follows:</para>
-    <programlisting>
-    &lt;connector-service name="vertx-outgoing-connector">
-    &lt;factory-class>org.apache.activemq.integration.vertx.VertxOutgoingConnectorServiceFactory&lt;/factory-class>
-    &lt;param key="host" value="127.0.0.1"/>
-    &lt;param key="port" value="0"/>
-    &lt;param key="queue" value="jms.queue.vertxQueue"/>
-    &lt;param key="vertx-address" value="vertx.out.eventaddress"/>
-    &lt;param key="publish" value="true"/>
-    &lt;/connector-service>
-    </programlisting>
-    <para>Shown are the required params for the connector service:</para>
-        <itemizedlist>
-            <listitem>
-                <para><literal>queue</literal>. The name of the ActiveMQ queue to fetch message from.</para>
-            </listitem>
-        </itemizedlist>
-        <para>As well as these required paramaters there are the following optional parameters</para>
-        <itemizedlist>
-            <listitem>
-                <para><literal>host</literal>. The host name on which the vertx target container is running. Default is localhost.</para>
-            </listitem>
-            <listitem>
-                <para><literal>port</literal>. The port number to which the target vertx listens. Default is zero.</para>
-            </listitem>
-            <listitem>
-                <para><literal>quorum-size</literal>. The quorum size of the target vertx instance.</para>
-            </listitem>
-            <listitem>
-                <para><literal>ha-group</literal>. The name of the ha-group of target vertx instance. Default is <literal>activemq</literal>.</para>
-            </listitem>
-            <listitem>
-                <para><literal>vertx-address</literal>. The vertx address to put messages to. default is org.apache.activemq.</para>
-            </listitem>
-            <listitem>
-                <para><literal>publish</literal>. How messages is sent to vertx event bus. "true" means using publish style.
-                "false" means using send style. Default is false.</para>
-            </listitem>
-        </itemizedlist>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/en/wildcard-routing.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/wildcard-routing.md b/docs/user-manual/en/wildcard-routing.md
new file mode 100644
index 0000000..cabf9bd
--- /dev/null
+++ b/docs/user-manual/en/wildcard-routing.md
@@ -0,0 +1,21 @@
+Routing Messages With Wild Cards
+================================
+
+ActiveMQ allows the routing of messages via wildcard addresses.
+
+If a queue is created with an address of say `queue.news.#` then it will
+receive any messages sent to addresses that match this, for instance
+`queue.news.europe` or `queue.news.usa` or `queue.news.usa.sport`. If
+you create a consumer on this queue, this allows a consumer to consume
+messages which are sent to a *hierarchy* of addresses.
+
+> **Note**
+>
+> In JMS terminology this allows "topic hierarchies" to be created.
+
+To enable this functionality set the property
+`wild-card-routing-enabled` in the `activemq-configuration.xml` file to
+`true`. This is `true` by default.
+
+For more information on the wild card syntax take a look at ? chapter,
+also see ?.

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/en/wildcard-routing.xml
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/wildcard-routing.xml b/docs/user-manual/en/wildcard-routing.xml
deleted file mode 100644
index e8ca400..0000000
--- a/docs/user-manual/en/wildcard-routing.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ============================================================================= -->
-<!-- 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.                                                -->
-<!-- ============================================================================= -->
-
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "ActiveMQ_User_Manual.ent">
-%BOOK_ENTITIES;
-]>
-
-<chapter id="wildcard-routing">
-    <title>Routing Messages With Wild Cards</title>
-    <para>ActiveMQ allows the routing of messages via wildcard addresses.</para>
-    <para>If a queue is created with an address of say <literal>queue.news.#</literal> then it
-        will receive any messages sent to addresses that match this, for instance <literal
-            >queue.news.europe</literal> or <literal>queue.news.usa</literal> or <literal
-            >queue.news.usa.sport</literal>. If you create a consumer on this queue, this allows a consumer to consume messages which are
-        sent to a <emphasis>hierarchy</emphasis> of addresses.</para>
-    <note>
-        <para>In JMS terminology this allows "topic hierarchies" to be created.</para>
-    </note>
-    <para>To enable this functionality set the property <literal>wild-card-routing-enabled</literal>
-        in the <literal>activemq-configuration.xml</literal> file to <literal>true</literal>. This is
-            <literal>true</literal> by default.</para>
-    <para>For more information on the wild card syntax take a look at <xref
-            linkend="wildcard-syntax" /> chapter, also see <xref
-            linkend="topic-hierarchy-example" />.</para>
-</chapter>

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/en/wildcard-syntax.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/wildcard-syntax.md b/docs/user-manual/en/wildcard-syntax.md
new file mode 100644
index 0000000..3fe7b37
--- /dev/null
+++ b/docs/user-manual/en/wildcard-syntax.md
@@ -0,0 +1,28 @@
+Understanding the ActiveMQ Wildcard Syntax
+==========================================
+
+ActiveMQ uses a specific syntax for representing wildcards in security
+settings, address settings and when creating consumers.
+
+The syntax is similar to that used by [AMQP](http://www.amqp.org).
+
+A ActiveMQ wildcard expression contains words delimited by the character
+'`.`' (full stop).
+
+The special characters '`#`' and '`*`' also have special meaning and can
+take the place of a word.
+
+The character '`#`' means 'match any sequence of zero or more words'.
+
+The character '`*`' means 'match a single word'.
+
+So the wildcard 'news.europe.\#' would match 'news.europe',
+'news.europe.sport', 'news.europe.politics', and
+'news.europe.politics.regional' but would not match 'news.usa',
+'news.usa.sport' nor 'entertainment'.
+
+The wildcard 'news.\*' would match 'news.europe', but not
+'news.europe.sport'.
+
+The wildcard 'news.\*.sport' would match 'news.europe.sport' and also
+'news.usa.sport', but not 'news.europe.politics'.

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/en/wildcard-syntax.xml
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/wildcard-syntax.xml b/docs/user-manual/en/wildcard-syntax.xml
deleted file mode 100644
index 4ad78bb..0000000
--- a/docs/user-manual/en/wildcard-syntax.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ============================================================================= -->
-<!-- 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.                                                -->
-<!-- ============================================================================= -->
-
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "ActiveMQ_User_Manual.ent">
-%BOOK_ENTITIES;
-]>
-
-<chapter id="wildcard-syntax">
-    <title>Understanding the ActiveMQ Wildcard Syntax</title>
-    <para>ActiveMQ uses a specific syntax for representing wildcards in security settings,
-        address settings and when creating consumers.</para>
-    <para>The syntax is similar to that used by <ulink url="http://www.amqp.org">AMQP</ulink>.</para>
-    <para>A ActiveMQ wildcard expression contains words delimited by the character '<literal
-            >.</literal>' (full stop).</para>
-    <para>The special characters '<literal>#</literal>' and '<literal>*</literal>' also have special
-        meaning and can take the place of a word.</para>
-    <para>The character '<literal>#</literal>' means 'match any sequence of zero or more
-        words'.</para>
-    <para>The character '<literal>*</literal>' means 'match a single word'.</para>
-    <para>So the wildcard 'news.europe.#' would match 'news.europe', 'news.europe.sport',
-        'news.europe.politics', and 'news.europe.politics.regional' but would not match 'news.usa',
-        'news.usa.sport' nor 'entertainment'.</para>
-    <para>The wildcard 'news.*' would match 'news.europe', but not 'news.europe.sport'.</para>
-    <para>The wildcard 'news.*.sport' would match 'news.europe.sport' and also 'news.usa.sport', but
-        not 'news.europe.politics'.</para>
-</chapter>

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/pom.xml
----------------------------------------------------------------------
diff --git a/docs/user-manual/pom.xml b/docs/user-manual/pom.xml
deleted file mode 100644
index cf693f2..0000000
--- a/docs/user-manual/pom.xml
+++ /dev/null
@@ -1,365 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ 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.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.activemq.docs</groupId>
-        <artifactId>activemq-docs</artifactId>
-        <version>6.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.activemq.docs</groupId>
-    <artifactId>user-manual</artifactId>
-    <version>1.0</version>
-    <packaging>jdocbook</packaging>
-    <name>user-manual</name>
-
-    <properties>
-        <translation>en</translation>
-        <docname>ActiveMQ_User_Manual</docname>
-        <bookname>ActiveMQ User Manual</bookname>
-    </properties>
-
-    <repositories>
-        <repository>
-            <id>jboss-public-repository-group</id>
-            <name>JBoss Public Maven Repository Group</name>
-            <url>https://repository.jboss.org/nexus/content/groups/public/</url>
-            <layout>default</layout>
-            <releases>
-                <enabled>true</enabled>
-                <updatePolicy>never</updatePolicy>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-                <updatePolicy>never</updatePolicy>
-            </snapshots>
-        </repository>
-    </repositories>
-    <pluginRepositories>
-        <pluginRepository>
-            <id>jboss-public-repository-group</id>
-            <name>JBoss Public Maven Repository Group</name>
-            <url>https://repository.jboss.org/nexus/content/groups/public/</url>
-            <layout>default</layout>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </pluginRepository>
-        <!--pluginRepository>
-              <id>jboss-snapshot-repository-group</id>
-              <name>JBoss Snapshot Maven Repository Group</name>
-              <url>https://repository.jboss.org/nexus/content/groups/snapshot/</url>
-              <layout>default</layout>
-              <releases>
-                <enabled>true</enabled>
-              </releases>
-              <snapshots>
-                <enabled>true</enabled>
-              </snapshots>
-        </pluginRepository-->
-    </pluginRepositories>
-
-    <profiles>
-
-        <!-- mvn compile -Phtml -->
-        <profile>
-            <id>html</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.jboss.maven.plugins</groupId>
-                        <artifactId>maven-jdocbook-plugin</artifactId>
-                        <version>2.3.5</version>
-                        <extensions>true</extensions>
-                        <configuration>
-                            <formats>
-                                <format>
-                                    <formatName>html</formatName>
-                                    <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
-                                    <finalName>index.html</finalName>
-                                </format>
-                            </formats>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <!-- mvn compile -->
-        <profile>
-            <id>all</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.jboss.maven.plugins</groupId>
-                        <artifactId>maven-jdocbook-plugin</artifactId>
-                        <version>2.3.5</version>
-                        <extensions>true</extensions>
-                        <configuration>
-                            <formats>
-                                <format>
-                                    <formatName>pdf</formatName>
-                                    <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
-                                    <finalName>${docname}.pdf</finalName>
-                                </format>
-                                <format>
-                                    <formatName>html</formatName>
-                                    <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
-                                    <finalName>index.html</finalName>
-                                </format>
-                                <format>
-                                    <formatName>html_single</formatName>
-                                    <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
-                                    <finalName>index.html</finalName>
-                                </format>
-                            </formats>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-        <!-- mvn compile -Phtml-single -->
-        <profile>
-            <id>html-single</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.jboss.maven.plugins</groupId>
-                        <artifactId>maven-jdocbook-plugin</artifactId>
-                        <version>2.3.5</version>
-                        <extensions>true</extensions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-        <!-- mvn compile -Ppdf -->
-        <profile>
-            <id>pdf</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.jboss.maven.plugins</groupId>
-                        <artifactId>maven-jdocbook-plugin</artifactId>
-                        <version>2.3.5</version>
-                        <extensions>true</extensions>
-                        <configuration>
-                            <formats>
-                                <format>
-                                    <formatName>pdf</formatName>
-                                    <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
-                                    <finalName>${docname}.pdf</finalName>
-                                </format>
-                            </formats>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.jboss.maven.plugins</groupId>
-                    <artifactId>maven-jdocbook-plugin</artifactId>
-                    <version>2.2.1</version>
-                    <extensions>true</extensions>
-                    <dependencies>
-                        <dependency>
-                            <groupId>org.jboss.pressgang</groupId>
-                            <artifactId>pressgang-xslt</artifactId>
-                            <version>2.0.2</version>
-                        </dependency>
-                        <dependency>
-                            <groupId>org.jboss</groupId>
-                            <artifactId>jbossorg-jdocbook-style</artifactId>
-                            <version>1.1.1</version>
-                            <type>jdocbook-style</type>
-                        </dependency>
-                    </dependencies>
-                    <configuration>
-                        <sourceDirectory>${project.basedir}</sourceDirectory>
-                        <sourceDocumentName>${docname}.xml</sourceDocumentName>
-                        <masterTranslation>en</masterTranslation>
-                        <imageResource>
-                            <directory>${project.basedir}/en</directory>
-                            <includes>
-                                <include>images/*.png</include>
-                                <include>images/*.jpg</include>
-                            </includes>
-                        </imageResource>
-                        <formats>
-                            <format>
-                                <formatName>pdf</formatName>
-                                <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
-                                <finalName>${pdf.name}</finalName>
-                            </format>
-                            <format>
-                                <formatName>html</formatName>
-                                <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
-                                <finalName>index.html</finalName>
-                            </format>
-                            <format>
-                                <formatName>html_single</formatName>
-                                <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
-                                <finalName>index.html</finalName>
-                            </format>
-                        </formats>
-                        <options>
-                            <xincludeSupported>true</xincludeSupported>
-                            <xmlTransformerType>saxon</xmlTransformerType>
-                            <docbookVersion>1.72.0</docbookVersion>
-                            <localeSeparator>-</localeSeparator>
-                            <applyStandardInjectionValues>false</applyStandardInjectionValues>
-                            <transformerParameters>
-                                <property>
-                                    <name>javax.xml.parsers.DocumentBuilderFactory</name>
-                                    <value>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</value>
-                                </property>
-                                <property>
-                                    <name>javax.xml.parsers.SAXParserFactory</name>
-                                    <value>org.apache.xerces.jaxp.SAXParserFactoryImpl</value>
-                                </property>
-                            </transformerParameters>
-                        </options>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>xml-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>transform</goal>
-                </goals>
-              </execution>
-            </executions>
-            <configuration>
-              <transformerFactory>net.sf.saxon.TransformerFactoryImpl</transformerFactory>
-              <transformationSets>
-                <transformationSet>
-                  <dir>../../activemq-server/src/main/resources/schema</dir>
-                  <stylesheet>./src/main/resources/schemaToTable.xsl</stylesheet>
-                  <includes>
-                    <include>activemq-configuration.xsd</include>
-                  </includes>
-                  <fileMappers>
-                    <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
-                      <targetExtension>.xml</targetExtension>
-                    </fileMapper>
-                  </fileMappers>
-                </transformationSet>
-                <transformationSet>
-                  <dir>../../activemq-jms-server/src/main/resources/schema</dir>
-                  <stylesheet>./src/main/resources/schemaToTable.xsl</stylesheet>
-                  <includes>
-                    <include>activemq-jms.xsd</include>
-                  </includes>
-                  <fileMappers>
-                    <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
-                      <targetExtension>.xml</targetExtension>
-                    </fileMapper>
-                  </fileMappers>
-                </transformationSet>
-              </transformationSets>
-            </configuration>
-            <dependencies>
-              <dependency>
-                <groupId>net.sf.saxon</groupId>
-                <artifactId>saxon</artifactId>
-                <version>8.7</version>
-              </dependency>
-            </dependencies>
-          </plugin>
-        </plugins>
-      </build>
-
-    <!--<build>
-          <plugins>
-              <plugin>
-                  <groupId>org.jboss.maven.plugins</groupId>
-                  <artifactId>maven-jdocbook-plugin</artifactId>
-                  <version>2.2.1</version>
-                  <extensions>true</extensions>
-                  <dependencies>
-                      <dependency>
-                    <groupId>org.jboss.pressgang</groupId>
-                    <artifactId>pressgang-xslt</artifactId>
-                    <version>1.2.0</version>
-                 </dependency>
-                      <dependency>
-                          <groupId>org.jboss</groupId>
-                          <artifactId>jbossorg-jdocbook-style</artifactId>
-                          <version>1.1.1</version>
-                          <type>jdocbook-style</type>
-                      </dependency>
-                  </dependencies>
-                  <configuration>
-                   <sourceDocumentName>${docname}.xml</sourceDocumentName>
-                    <sourceDirectory>.</sourceDirectory>
-                    <imageResource>
-                        <directory>${translation}</directory>
-                        <includes>
-                            <include>images/*</include>
-                        </includes>
-                    </imageResource>
-                    <options>
-                        <xincludeSupported>true</xincludeSupported>
-                        <xmlTransformerType>saxon</xmlTransformerType>
-                      <transformerParameters>
-                        <property>
-                            <name>javax.xml.parsers.DocumentBuilderFactory</name>
-                              <value>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</value>
-                          </property>
-                          <property>
-                              <name>javax.xml.parsers.SAXParserFactory</name>
-                              <value>org.apache.xerces.jaxp.SAXParserFactoryImpl</value>
-                          </property>
-                      </transformerParameters>
-                  </options>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>-->
-</project>

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/4245a6b4/docs/user-manual/publican.cfg
----------------------------------------------------------------------
diff --git a/docs/user-manual/publican.cfg b/docs/user-manual/publican.cfg
deleted file mode 100644
index 821b348..0000000
--- a/docs/user-manual/publican.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-# Config::Simple 4.59
-# Tue Mar 29 06:11:07 2011
-
-xml_lang: en
-type: Book
-brand: common
-