http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/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
new file mode 100644
index 0000000..aaecf62
--- /dev/null
+++ b/docs/user-manual/en/using-jms.xml
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
============================================================================= 
-->
+<!-- Copyright © 2009 Red Hat, Inc. and others.                               
     -->
+<!--                                                                           
    -->
+<!-- The text of and illustrations in this document are licensed by Red Hat 
under  -->
+<!-- a Creative Commons Attribution–Share Alike 3.0 Unported license 
("CC-BY-SA"). -->
+<!--                                                                           
    -->
+<!-- An explanation of CC-BY-SA is available at                                
    -->
+<!--                                                                           
    -->
+<!--            http://creativecommons.org/licenses/by-sa/3.0/.                
    -->
+<!--                                                                           
    -->
+<!-- In accordance with CC-BY-SA, if you distribute this document or an 
adaptation -->
+<!-- of it, you must provide the URL for the original version.                 
    -->
+<!--                                                                           
    -->
+<!-- Red Hat, as the licensor of this document, waives the right to enforce,   
    -->
+<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent    
    -->
+<!-- permitted by applicable law.                                              
    -->
+<!-- 
============================================================================= 
-->
+
+<!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 "HornetQ_User_Manual.ent">
+%BOOK_ENTITIES;
+]>
+<chapter id="using-jms">
+    <title>Using JMS</title>
+    <para>Although HornetQ 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>HornetQ 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 HornetQ 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.server.configuration">
+        <title>JMS Server Configuration</title>
+        <para>The file <literal>hornetq-jms.xml</literal> on the server 
classpath contains any JMS
+            Queue, Topic and ConnectionFactory instances that we wish to 
create and make available
+            to lookup via the JNDI.</para>
+        <para>A JMS ConnectionFactory object 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. In most cases the defaults will be 
acceptable.</para>
+        <para>We'll deploy a single JMS Queue and a single JMS Connection 
Factory instance on the
+            server for this example but there are no limits to the number of 
Queues, Topics and
+            Connection Factory instances you can deploy from the file. Here's 
our
+            configuration:</para>
+        <programlisting>
+&lt;configuration xmlns="urn:hornetq" 
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+   xsi:schemaLocation="urn:hornetq ../schemas/hornetq-jms.xsd ">
+    
+   &lt;connection-factory name="ConnectionFactory">
+      &lt;connectors>
+         &lt;connector-ref connector-name="netty"/>
+      &lt;/connectors>
+      &lt;entries>
+         &lt;entry name="ConnectionFactory"/>
+      &lt;/entries>
+   &lt;/connection-factory>
+
+   &lt;queue name="OrderQueue">
+      &lt;entry name="queues/OrderQueue"/>
+   &lt;/queue>
+&lt;/configuration></programlisting>
+        <para>We deploy one ConnectionFactory called 
<literal>ConnectionFactory</literal> and bind
+            it in just one place in JNDI as given by the 
<literal>entry</literal> element.
+            ConnectionFactory instances can be bound in many places in JNDI if 
you require. </para>
+        <note>
+            <para>The JMS connection factory references a 
<literal>connector</literal> called
+                    <literal>netty</literal>. This is a reference to a 
connector object deployed in
+                the main core configuration file 
<literal>hornetq-configuration.xml</literal> which
+                defines the transport and parameters used to actually connect 
to the server.</para>
+        </note>
+    </section>
+    <section id="using-jms.configure.factory.types">
+        <title>Connection Factory Types</title>
+        <para>The JMS API doc provides several connection factories for 
applications. HornetQ JMS users
+              can choose to configure the types for their connection 
factories. Each connection factory
+              has a <literal>signature</literal> attribute and a 
<literal>xa</literal> parameter, the
+              combination of which determines the type of the factory. 
Attribute <literal>signature</literal>
+              has three possible string values, i.e. 
<emphasis>generic</emphasis>, 
+              <emphasis>queue</emphasis> and <emphasis>topic</emphasis>; 
<literal>xa</literal> is a boolean
+              type parameter. The following table gives their configuration 
values for different 
+              connection factory interfaces.</para>
+        <table frame="topbot" id="using-jms.table.configure.factory.types">
+                <title>Configuration for Connection Factory Types</title>
+                <tgroup cols="3">
+                    <colspec colname="signature" colnum="1"/>
+                    <colspec colname="xa" colnum="2"/>
+                    <colspec colname="cftype" colnum="3"/>
+                    <thead>
+                        <row>
+                            <entry>signature</entry>
+                            <entry>xa</entry>
+                            <entry>Connection Factory Type</entry>
+                        </row>
+                    </thead>
+                    <tbody>
+                        <row>
+                            <entry>generic (default)</entry>
+                            <entry>false (default)</entry>
+                            <entry>javax.jms.ConnectionFactory</entry>
+                        </row>
+                        <row>
+                            <entry>generic</entry>
+                            <entry>true</entry>
+                            <entry>javax.jms.XAConnectionFactory</entry>
+                        </row>
+                        <row>
+                            <entry>queue</entry>
+                            <entry>false</entry>
+                            <entry>javax.jms.QueueConnectionFactory</entry>
+                        </row>
+                        <row>
+                            <entry>queue</entry>
+                            <entry>true</entry>
+                            <entry>javax.jms.XAQueueConnectionFactory</entry>
+                        </row>
+                        <row>
+                            <entry>topic</entry>
+                            <entry>false</entry>
+                            <entry>javax.jms.TopicConnectionFactory</entry>
+                        </row>
+                        <row>
+                            <entry>topic</entry>
+                            <entry>true</entry>
+                            <entry>javax.jms.XATopicConnectionFactory</entry>
+                        </row>
+                    </tbody>
+                </tgroup>
+            </table>
+            <para>As an example, the following configures an 
XAQueueConnectionFactory:</para>
+        <programlisting>
+&lt;configuration xmlns="urn:hornetq" 
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+   xsi:schemaLocation="urn:hornetq ../schemas/hornetq-jms.xsd ">
+
+   &lt;connection-factory name="ConnectionFactory" signature="queue">
+      &lt;xa>true&lt;/xa>
+      &lt;connectors>
+         &lt;connector-ref connector-name="netty"/>
+      &lt;/connectors>
+      &lt;entries>
+         &lt;entry name="ConnectionFactory"/>
+      &lt;/entries>
+   &lt;/connection-factory>
+&lt;/configuration></programlisting>
+
+    </section>
+    <section>
+        <title>JNDI configuration</title>
+        <para>When using JNDI from the client side you need to specify a set 
of JNDI properties
+            which tell the JNDI client where to locate the JNDI server, 
amongst other things. These
+            are often specified in a file called 
<literal>jndi.properties</literal> on the client
+            classpath, or you can specify them directly when creating the JNDI 
initial context. A
+            full JNDI tutorial is outside the scope of this document, please 
see the <ulink
+                url="http://docs.oracle.com/javase/jndi/tutorial";>Sun JNDI 
tutorial</ulink>
+            for more information on how to use JNDI.</para>
+        <para>For talking to the JBoss JNDI Server, the jndi properties will 
look something like
+            this:</para>
+        <programlisting>
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://myhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces</programlisting>
+        <para>Where <literal>myhost</literal> is the hostname or IP address of 
the JNDI server. 1099
+            is the port used by the JNDI server and may vary depending on how 
you have configured
+            your JNDI server.</para>
+        <para>In the default standalone configuration, JNDI server ports are 
configured in the file
+                <literal>hornetq-beans.xml</literal> by setting properties on 
the <literal
+                >JNDIServer</literal> bean:</para>
+        <programlisting>
+&lt;bean name="StandaloneServer" 
class="org.hornetq.jms.server.impl.StandaloneNamingServer">
+   &lt;constructor>
+      &lt;parameter>
+         &lt;inject bean="HornetQServer"/>
+      &lt;/parameter>
+   &lt;/constructor>
+   &lt;property name="port">${jnp.port:1099}&lt;/property>
+   &lt;property name="bindAddress">${jnp.host:localhost}&lt;/property>
+   &lt;property name="rmiPort">${jnp.rmiPort:1098}&lt;/property>
+   &lt;property name="rmiBindAddress">${jnp.host:localhost}&lt;/property>
+&lt;/bean></programlisting>
+        <note>
+            <para>If you want your JNDI server to be available to non local 
clients make sure you
+                change its bind address to something other than <literal
+                >localhost</literal>!</para>
+        </note>
+        <note>
+            <para>The JNDIServer bean must be defined <emphasis>only when 
HornetQ is running in
+                    stand-alone mode</emphasis>. When HornetQ is integrated to 
JBoss Application
+                Server, JBoss AS will provide a ready-to-use JNDI server 
without any additional
+                configuration.</para>
+        </note>
+    </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:</para>
+        <programlisting>InitialContext ic = new 
InitialContext();</programlisting>
+        <para>Now we'll look up the connection factory:</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>
+        <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 a JNDI server is not available and you still 
want to use JMS, or you
+            just think "Why do I need JNDI? Why can't I just instantiate these 
objects
+            directly?"</para>
+        <para>With HornetQ you can do exactly that. HornetQ 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 
HornetQJMSClient 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 = 
HornetQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF,transportConfiguration);</programlisting>
+        <para>We also create the JMS Queue object via the HornetQJMSClient 
Utility class:</para>
+        <programlisting>Queue orderQueue = 
HornetQJMSClient.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/8ecd255f/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
new file mode 100644
index 0000000..c5f1265
--- /dev/null
+++ b/docs/user-manual/en/using-server.xml
@@ -0,0 +1,385 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
============================================================================= 
-->
+<!-- Copyright © 2009 Red Hat, Inc. and others.                               
     -->
+<!--                                                                           
    -->
+<!-- The text of and illustrations in this document are licensed by Red Hat 
under  -->
+<!-- a Creative Commons Attribution–Share Alike 3.0 Unported license 
("CC-BY-SA"). -->
+<!--                                                                           
    -->
+<!-- An explanation of CC-BY-SA is available at                                
    -->
+<!--                                                                           
    -->
+<!--            http://creativecommons.org/licenses/by-sa/3.0/.                
    -->
+<!--                                                                           
    -->
+<!-- In accordance with CC-BY-SA, if you distribute this document or an 
adaptation -->
+<!-- of it, you must provide the URL for the original version.                 
    -->
+<!--                                                                           
    -->
+<!-- Red Hat, as the licensor of this document, waives the right to enforce,   
    -->
+<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent    
    -->
+<!-- permitted by applicable law.                                              
    -->
+<!-- 
============================================================================= 
-->
+
+<!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 "HornetQ_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 HornetQ 
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 HornetQ 
server we mean the
+        HornetQ 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>run.sh</literal> and a windows batch file called 
<literal
+            >run.bat</literal></para>
+        <para>To run on Unix/Linux type <literal>./run.sh</literal></para>
+        <para>To run on Windows type <literal>run.bat</literal></para>
+        <para>These scripts are very simple and basically just set-up the 
classpath and some JVM
+            parameters and start the JBoss Microcontainer. The Microcontainer 
is a light weight
+            container used to deploy the HornetQ POJO's</para>
+        <para>To stop the server you will also find a Unix/Linux script 
<literal>stop.sh</literal> and
+            a windows batch file <literal>stop.bat</literal></para>
+        <para>To run on Unix/Linux type <literal>./stop.sh</literal></para>
+        <para>To run on Windows type <literal>stop.bat</literal></para>
+        <para>Please note that HornetQ requires a Java 6 or later runtime to 
run.</para>
+        <para>Both the run and the stop scripts use the config under <literal
+                >config/stand-alone/non-clustered</literal> by default. The 
configuration can be
+            changed by running <literal>./run.sh 
../config/stand-alone/clustered</literal> or
+            another config of your choosing. This is the same for the stop 
script and the windows
+            bat files.</para>
+    </section>
+    <section>
+        <title>Server JVM settings</title>
+        <para>The run scripts <literal>run.sh</literal> and 
<literal>run.bat</literal> set some JVM
+            settings for tuning running on Java 6 and choosing the garbage 
collection policy. We
+            recommend using a parallel garbage collection algorithm to smooth 
out latency and
+            minimise large GC pauses.</para>
+        <para>By default HornetQ 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>Server classpath</title>
+        <para>HornetQ looks for its configuration files on the Java 
classpath.</para>
+        <para>The scripts <literal>run.sh</literal> and 
<literal>run.bat</literal> specify the
+            classpath when calling Java to run the server.</para>
+        <para>In the distribution, the run scripts will add the non clustered 
configuration
+            directory to the classpath. This is a directory which contains a 
set of configuration
+            files for running the HornetQ server in a basic non-clustered 
configuration. In the
+            distribution this directory is 
<literal>config/stand-alone/non-clustered/</literal> from
+            the root of the distribution.</para>
+        <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>Non clustered in JBoss Application Server</para>
+            </listitem>
+            <listitem>
+                <para>Clustered in JBoss Application Server</para>
+            </listitem>
+        </itemizedlist>
+        <para>You can of course create your own configuration and specify any 
configuration
+            directory when running the run script.</para>
+        <para>Just make sure the directory is on the classpath and HornetQ 
will search there when
+            starting up.</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 
<literal>run.sh</literal> script.</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>HornetQ 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 directory is specified on the classpath in the 
run scripts <literal
+                >run.sh</literal> and <literal>run.bat</literal> This 
directory can contain the
+            following files.</para>
+        <itemizedlist>
+            <listitem>
+                <para><literal>hornetq-beans.xml</literal> (or <literal
+                        >hornetq-jboss-beans.xml</literal> if you're running 
inside JBoss
+                    Application Server). This is the JBoss Microcontainer 
beans file which defines
+                    what beans the Microcontainer should create and what 
dependencies to enforce
+                    between them. Remember that HornetQ is just a set of 
POJOs. In the stand-alone
+                    server, it's the JBoss Microcontainer which instantiates 
these POJOs and
+                    enforces dependencies between them and other beans. </para>
+            </listitem>
+            <listitem>
+                <para><literal>hornetq-configuration.xml</literal>. This is 
the main HornetQ
+                    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>hornetq-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>hornetq-configuration.xml</literal>. In
+                    fact, the default configuration sets do not have a <literal
+                        >hornetq-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>hornetq-queues.xml</literal> files on 
the classpath. All
+                    will be loaded if found.</para>
+            </listitem>
+            <listitem>
+                <para><literal>hornetq-users.xml</literal> HornetQ ships with 
a basic security
+                    manager implementation which obtains user credentials from 
the <literal
+                        >hornetq-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>hornetq-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>
+            <listitem>
+                <para><literal>logging.properties</literal> This is used to 
configure the logging
+                    handlers used by the Java logger. For more information on 
configuring logging,
+                    please see <xref linkend="logging"/>.</para>
+            </listitem>
+        </itemizedlist>
+        <note>
+            <para>The property <literal>file-deployment-enabled</literal> in 
the <literal
+                    >hornetq-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.hornetq.core.remoting.impl.netty.NettyConnectorFactory&lt;/factory-class>
+   &lt;param key="host" value="${hornetq.remoting.netty.host:localhost}"/>
+   &lt;param key="port" value="${hornetq.remoting.netty.port:5445}"/>
+&lt;/connector></programlisting>
+        <para>Here you can see we have replaced 2 values with system 
properties <literal
+                >hornetq.remoting.netty.host</literal> and <literal
+                >hornetq.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
+                >${hornetq.remoting.netty.host}</literal>, however the system 
property
+                <emphasis>must</emphasis> be supplied in that case.</para>
+    </section>
+    <section id="server.microcontainer.configuration">
+        <title>JBoss Microcontainer Beans File</title>
+        <para>The stand-alone server is basically a set of POJOs which are 
instantiated by the light
+                weight<ulink url="http://www.jboss.org/jbossmc/";> JBoss 
Microcontainer
+            </ulink>engine.</para>
+        <note>
+            <para>A beans file is also needed when the server is deployed in 
the JBoss Application
+                Server but this will deploy a slightly different set of 
objects since the
+                Application Server will already have things like security etc 
deployed.</para>
+        </note>
+        <para>Let's take a look at an example beans file from the stand-alone 
server:</para>
+        <para>
+            <programlisting>
+&lt;?xml version="1.0" encoding="UTF-8"?>
+
+&lt;deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   &lt;!-- MBean server -->
+   &lt;bean name="MBeanServer" class="javax.management.MBeanServer">
+      &lt;constructor factoryClass="java.lang.management.ManagementFactory"
+                   factoryMethod="getPlatformMBeanServer"/>
+   &lt;/bean>
+
+   &lt;!-- The core configuration -->
+   &lt;bean name="Configuration" 
class="org.hornetq.core.config.impl.FileConfiguration">
+   &lt;/bean>
+
+    &lt;!-- The security manager -->
+   &lt;bean name="HornetQSecurityManager" 
class="org.hornetq.spi.core.security.HornetQSecurityManagerImpl">
+      &lt;start ignored="true"/>
+      &lt;stop ignored="true"/>
+   &lt;/bean>
+
+    &lt;!-- The core server -->
+   &lt;bean name="HornetQServer" 
class="org.hornetq.core.server.impl.HornetQServerImpl">
+      &lt;constructor>
+         &lt;parameter>
+            &lt;inject bean="Configuration"/>
+         &lt;/parameter>
+         &lt;parameter>
+            &lt;inject bean="MBeanServer"/>
+         &lt;/parameter>
+         &lt;parameter>
+            &lt;inject bean="HornetQSecurityManager"/>
+         &lt;/parameter>
+      &lt;/constructor>
+      &lt;start ignored="true"/>
+      &lt;stop ignored="true"/>
+   &lt;/bean>
+
+    &lt;!-- The Stand alone server that controls the jndi server-->
+   &lt;bean name="StandaloneServer" 
class="org.hornetq.jms.server.impl.StandaloneNamingServer">
+      &lt;constructor>
+         &lt;parameter>
+            &lt;inject bean="HornetQServer"/>
+         &lt;/parameter>
+      &lt;/constructor>
+      &lt;property name="port">${jnp.port:1099}&lt;/property>
+      &lt;property name="bindAddress">${jnp.host:localhost}&lt;/property>
+      &lt;property name="rmiPort">${jnp.rmiPort:1098}&lt;/property>
+      &lt;property name="rmiBindAddress">${jnp.host:localhost}&lt;/property>
+   &lt;/bean>
+
+   &lt;!-- The JMS server -->
+   &lt;bean name="JMSServerManager" 
class="org.hornetq.jms.server.impl.JMSServerManagerImpl">
+      &lt;constructor>
+         &lt;parameter>
+            &lt;inject bean="HornetQServer"/>
+         &lt;/parameter>
+      &lt;/constructor>
+   &lt;/bean>
+
+
+&lt;/deployment></programlisting>
+        </para>
+        <para>We can see that, as well as the core HornetQ server, the 
stand-alone server
+            instantiates various different POJOs, let's look at them in 
turn:</para>
+        <itemizedlist>
+            <listitem>
+                <para>MBeanServer</para>
+                <para>In order to provide a JMX management interface a JMS 
MBean server is necessary
+                    in which to register the management objects. Normally this 
is just the default
+                    platform MBean server available in the JVM instance. If 
you don't want to
+                    provide a JMX management interface this can be commented 
out or removed.</para>
+            </listitem>
+            <listitem>
+                <para>Configuration</para>
+                <para>The HornetQ server is configured with a Configuration 
object. In the default
+                    stand-alone set-up it uses a FileConfiguration object 
which knows to read
+                    configuration information from the file system. In 
different configurations such
+                    as embedded you might want to provide configuration 
information from somewhere
+                    else.</para>
+            </listitem>
+            <listitem>
+                <para>Security Manager. The security manager used by the 
messaging server is
+                    pluggable. The default one used just reads user-role 
information from the
+                        <literal>hornetq-users.xml</literal> file on disk. 
However it can be
+                    replaced by a JAAS security manager, or when running 
inside JBoss Application
+                    Server it can be configured to use the JBoss AS security 
manager for tight
+                    integration with JBoss AS security. If you've disabled 
security altogether you
+                    can remove this too.</para>
+            </listitem>
+            <listitem>
+                <para>HornetQServer</para>
+                <para>This is the core server. It's where 99% of the magic 
happens</para>
+            </listitem>
+            <listitem>
+                <para>StandaloneServer</para>
+                <para>Many clients like to look up JMS Objects from JNDI so we 
provide a JNDI server
+                    for them to do that. This class is a wrapper around the 
JBoss naming server.
+                   If you don't need JNDI this can be commented out or 
removed.</para>
+            </listitem>
+            <listitem id="bean-jmsservermanager">
+                <para>JMSServerManager</para>
+                <para>This deploys any JMS Objects such as JMS Queues, Topics 
and ConnectionFactory
+                    instances from <literal>hornetq-jms.xml</literal> files on 
the disk. 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 ConnectionFactorys from 
server side configuration
+                    and don't require the JMS management interface this can be 
disabled.</para>
+            </listitem>
+        </itemizedlist>
+    </section>
+    <section id="server.microkernel.configuration">
+        <title>JBoss AS4 MBean Service.</title>
+        <note>
+            <para>The section is only to configure HornetQ on JBoss AS4. The 
service functionality is
+                similar to Microcontainer Beans</para>
+        </note>
+        <para>
+            <programlisting>
+&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;server>
+   &lt;mbean code="org.hornetq.service.HornetQFileConfigurationService"
+      name="org.hornetq:service=HornetQFileConfigurationService">
+   &lt;/mbean>
+
+   &lt;mbean code="org.hornetq.service.JBossASSecurityManagerService"
+      name="org.hornetq:service=JBossASSecurityManagerService">
+   &lt;/mbean>
+
+   &lt;mbean code="org.hornetq.service.HornetQStarterService" 
+      name="org.hornetq:service=HornetQStarterService">
+      &lt;!--let's let the JMS Server start us-->
+         &lt;attribute name="Start">false&lt;/attribute>
+
+      &lt;depends optional-attribute-name="SecurityManagerService"
+         
proxy-type="attribute">org.hornetq:service=JBossASSecurityManagerService&lt;/depends>
+      &lt;depends optional-attribute-name="ConfigurationService"
+         
proxy-type="attribute">org.hornetq:service=HornetQFileConfigurationService&lt;/depends>
+   &lt;/mbean>
+
+   &lt;mbean code="org.hornetq.service.HornetQJMSStarterService"
+      name="org.hornetq:service=HornetQJMSStarterService">
+      &lt;depends optional-attribute-name="HornetQServer"
+         
proxy-type="attribute">org.hornetq:service=HornetQStarterService&lt;/depends>
+   &lt;/mbean>
+&lt;/server></programlisting>
+        </para>
+        <para>This jboss-service.xml configuration file is included inside the 
hornetq-service.sar
+            on AS4 with embedded HornetQ. As you can see, on this 
configuration file we are starting
+            various services:</para>
+        <itemizedlist>
+            <listitem>
+                <para>HornetQFileConfigurationService</para>
+                <para>This is an MBean Service that takes care of the life 
cycle of the <literal>FileConfiguration POJO</literal></para>
+            </listitem>
+            <listitem>
+                <para>JBossASSecurityManagerService</para>
+                <para>This is an MBean Service that takes care of the 
lifecycle of the <literal>JBossASSecurityManager</literal> POJO</para>
+            </listitem>
+            <listitem>
+                <para>HornetQStarterService</para>
+                <para>This is an MBean Service that controls the main 
<literal>HornetQServer</literal> POJO.
+                   this has a dependency on JBossASSecurityManagerService and 
HornetQFileConfigurationService MBeans</para>
+            </listitem>
+            <listitem>
+                <para>HornetQJMSStarterService</para>
+                <para>This is an MBean Service that controls the 
<literal>JMSServerManagerImpl</literal> POJO.
+                   If you aren't using jms this can be removed.</para>
+            </listitem>
+            <listitem>
+                <para>JMSServerManager</para>
+                <para>Has the responsibility to start the JMSServerManager and 
the same behaviour that JMSServerManager Bean</para>
+            </listitem>
+        </itemizedlist>
+    </section>
+    <section id="usingserver.mainconfig">
+        <title>The main configuration file.</title>
+        <para>The configuration for the HornetQ core server is contained in 
<literal
+                >hornetq-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 HornetQ. 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/8ecd255f/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
new file mode 100644
index 0000000..71bb110
--- /dev/null
+++ b/docs/user-manual/en/vertx-integration.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
============================================================================= 
-->
+<!-- Copyright © 2009 Red Hat, Inc. and others.                               
     -->
+<!--                                                                           
    -->
+<!-- The text of and illustrations in this document are licensed by Red Hat 
under  -->
+<!-- a Creative Commons Attribution–Share Alike 3.0 Unported license 
("CC-BY-SA"). -->
+<!--                                                                           
    -->
+<!-- An explanation of CC-BY-SA is available at                                
    -->
+<!--                                                                           
    -->
+<!--            http://creativecommons.org/licenses/by-sa/3.0/.                
    -->
+<!--                                                                           
    -->
+<!-- In accordance with CC-BY-SA, if you distribute this document or an 
adaptation -->
+<!-- of it, you must provide the URL for the original version.                 
    -->
+<!--                                                                           
    -->
+<!-- Red Hat, as the licensor of this document, waives the right to enforce,   
    -->
+<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent    
    -->
+<!-- permitted by applicable law.                                              
    -->
+<!-- 
============================================================================= 
-->
+
+<!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 "HornetQ_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 HornetQ and route those messages to a specified vertx address by 
configuring HornetQ 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 HornetQ queue.
+    Such a service can be configured as follows:</para>
+    <programlisting>
+    &lt;connector-service name="vertx-incoming-connector">
+    
&lt;factory-class>org.hornetq.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 HornetQ 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>hornetq</literal>.</para>
+            </listitem>
+            <listitem>
+                <para><literal>vertx-address</literal>. The vertx address to 
listen to. default is org.hornetq.</para>
+            </listitem>
+        </itemizedlist>
+    </section>
+
+    <section>
+    <title>Configuring a Vertx Outgoing Connector Service</title>
+    <para>Vertx Outgoing Connector services fetch vertx messages from a 
HornetQ 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.hornetq.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 HornetQ 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>hornetq</literal>.</para>
+            </listitem>
+            <listitem>
+                <para><literal>vertx-address</literal>. The vertx address to 
put messages to. default is org.hornetq.</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/8ecd255f/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
new file mode 100644
index 0000000..44f0f75
--- /dev/null
+++ b/docs/user-manual/en/wildcard-routing.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- 
============================================================================= 
-->
+<!-- Copyright © 2009 Red Hat, Inc. and others.                               
     -->
+<!--                                                                           
    -->
+<!-- The text of and illustrations in this document are licensed by Red Hat 
under  -->
+<!-- a Creative Commons Attribution–Share Alike 3.0 Unported license 
("CC-BY-SA"). -->
+<!--                                                                           
    -->
+<!-- An explanation of CC-BY-SA is available at                                
    -->
+<!--                                                                           
    -->
+<!--            http://creativecommons.org/licenses/by-sa/3.0/.                
    -->
+<!--                                                                           
    -->
+<!-- In accordance with CC-BY-SA, if you distribute this document or an 
adaptation -->
+<!-- of it, you must provide the URL for the original version.                 
    -->
+<!--                                                                           
    -->
+<!-- Red Hat, as the licensor of this document, waives the right to enforce,   
    -->
+<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent    
    -->
+<!-- permitted by applicable law.                                              
    -->
+<!-- 
============================================================================= 
-->
+
+<!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 "HornetQ_User_Manual.ent">
+%BOOK_ENTITIES;
+]>
+
+<chapter id="wildcard-routing">
+    <title>Routing Messages With Wild Cards</title>
+    <para>HornetQ 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>hornetq-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/8ecd255f/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
new file mode 100644
index 0000000..b121eb5
--- /dev/null
+++ b/docs/user-manual/en/wildcard-syntax.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- 
============================================================================= 
-->
+<!-- Copyright © 2009 Red Hat, Inc. and others.                               
     -->
+<!--                                                                           
    -->
+<!-- The text of and illustrations in this document are licensed by Red Hat 
under  -->
+<!-- a Creative Commons Attribution–Share Alike 3.0 Unported license 
("CC-BY-SA"). -->
+<!--                                                                           
    -->
+<!-- An explanation of CC-BY-SA is available at                                
    -->
+<!--                                                                           
    -->
+<!--            http://creativecommons.org/licenses/by-sa/3.0/.                
    -->
+<!--                                                                           
    -->
+<!-- In accordance with CC-BY-SA, if you distribute this document or an 
adaptation -->
+<!-- of it, you must provide the URL for the original version.                 
    -->
+<!--                                                                           
    -->
+<!-- Red Hat, as the licensor of this document, waives the right to enforce,   
    -->
+<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent    
    -->
+<!-- permitted by applicable law.                                              
    -->
+<!-- 
============================================================================= 
-->
+
+<!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 "HornetQ_User_Manual.ent">
+%BOOK_ENTITIES;
+]>
+
+<chapter id="wildcard-syntax">
+    <title>Understanding the HornetQ Wildcard Syntax</title>
+    <para>HornetQ 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 HornetQ 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/8ecd255f/docs/user-manual/pom.xml
----------------------------------------------------------------------
diff --git a/docs/user-manual/pom.xml b/docs/user-manual/pom.xml
new file mode 100644
index 0000000..549f648
--- /dev/null
+++ b/docs/user-manual/pom.xml
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright 2009 Red Hat, Inc.
+  ~  Red Hat 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.hornetq.docs</groupId>
+        <artifactId>hornetq-docs</artifactId>
+        <version>2.5.0-SNAPSHOT</version>
+    </parent>
+
+    <groupId>org.hornetq.docs</groupId>
+    <artifactId>user-manual</artifactId>
+    <version>1.0</version>
+    <packaging>jdocbook</packaging>
+    <name>user-manual</name>
+
+    <properties>
+        <translation>en</translation>
+        <docname>HornetQ_User_Manual</docname>
+        <bookname>HornetQ 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 -->
+        <profile>
+            <id>all</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>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 -->
+        <profile>
+            <id>html</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.jboss.maven.plugins</groupId>
+                        <artifactId>maven-jdocbook-plugin</artifactId>
+                        <version>2.2.1</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 -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.2.1</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.2.1</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>../../hornetq-server/src/main/resources/schema</dir>
+                  
<stylesheet>./src/main/resources/schemaToTable.xsl</stylesheet>
+                  <includes>
+                    <include>hornetq-configuration.xsd</include>
+                  </includes>
+                  <fileMappers>
+                    <fileMapper 
implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
+                      <targetExtension>.xml</targetExtension>
+                    </fileMapper>
+                  </fileMappers>
+                </transformationSet>
+                <transformationSet>
+                  <dir>../../hornetq-jms-server/src/main/resources/schema</dir>
+                  
<stylesheet>./src/main/resources/schemaToTable.xsl</stylesheet>
+                  <includes>
+                    <include>hornetq-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/8ecd255f/docs/user-manual/publican.cfg
----------------------------------------------------------------------
diff --git a/docs/user-manual/publican.cfg b/docs/user-manual/publican.cfg
new file mode 100644
index 0000000..821b348
--- /dev/null
+++ b/docs/user-manual/publican.cfg
@@ -0,0 +1,7 @@
+# Config::Simple 4.59
+# Tue Mar 29 06:11:07 2011
+
+xml_lang: en
+type: Book
+brand: common
+

Reply via email to