http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-bridge/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git 
a/examples/features/standard/jms-bridge/src/main/resources/activemq/server0/broker.xml
 
b/examples/features/standard/jms-bridge/src/main/resources/activemq/server0/broker.xml
index ed98e9c..94ff709 100644
--- 
a/examples/features/standard/jms-bridge/src/main/resources/activemq/server0/broker.xml
+++ 
b/examples/features/standard/jms-bridge/src/main/resources/activemq/server0/broker.xml
@@ -16,10 +16,8 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
-
-   
-
+-->
+<configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">
    <core xmlns="urn:activemq:core">
 
       <bindings-directory>./data/bindings</bindings-directory>
@@ -42,8 +40,8 @@ under the License.
             <permission roles="guest" type="deleteNonDurableQueue"/>
          </security-setting>
       </security-settings>
-   <addresses>
-         <address name="topic">
+      <addresses>
+         <address name="source">
             <multicast/>
          </address>
       </addresses>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-bridge/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git 
a/examples/features/standard/jms-bridge/src/main/resources/activemq/server1/broker.xml
 
b/examples/features/standard/jms-bridge/src/main/resources/activemq/server1/broker.xml
index 6ee55d9..7ed1674 100644
--- 
a/examples/features/standard/jms-bridge/src/main/resources/activemq/server1/broker.xml
+++ 
b/examples/features/standard/jms-bridge/src/main/resources/activemq/server1/broker.xml
@@ -16,10 +16,8 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
-
-   
-
+-->
+<configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">
    <core xmlns="urn:activemq:core">
 
       <bindings-directory>./data/bindings</bindings-directory>
@@ -42,7 +40,7 @@ under the License.
             <permission roles="guest" type="deleteNonDurableQueue"/>
          </security-setting>
       </security-settings>
-   <addresses>
+      <addresses>
          <address name="target">
             <anycast>
                <queue name="target"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-completion-listener/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-completion-listener/pom.xml 
b/examples/features/standard/jms-completion-listener/pom.xml
index 4d4848b..16f9167 100644
--- a/examples/features/standard/jms-completion-listener/pom.xml
+++ b/examples/features/standard/jms-completion-listener/pom.xml
@@ -103,7 +103,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
-</project>
+   <profiles>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-completion-listener/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-completion-listener/readme.html 
b/examples/features/standard/jms-completion-listener/readme.html
deleted file mode 100644
index 36be17a..0000000
--- a/examples/features/standard/jms-completion-listener/readme.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!--
-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.
--->
-
-<html>
-  <head>
-    <title>ActiveMQ Artemis JMS Completion Listener Example</title>
-    <link rel="stylesheet" type="text/css" href="../../../common/common.css" />
-    <link rel="stylesheet" type="text/css" href="../../../common/prettify.css" 
/>
-    <script type="text/javascript" src="../../../common/prettify.js"></script>
-  </head>
-  <body onload="prettyPrint()">
-     <h1>JMS Completion Listener Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this 
directory, <br>or <b>mvn -PnoServer verify</b> if you want to start and create 
the server manually.</pre>
-
-     <p>This example shows you how to send a message asynchronously to 
ActiveMQ Artemis and use a CompletionListener to be notified of
-     the Broker receiving it</p>
-
-     <h2>Example step-by-step</h2>
-
-     <ol>
-        <li>First we need to get an initial context so we can look-up the JMS 
connection factory and destination objects from JNDI. This initial context will 
get it's properties from the <code>client-jndi.properties</code> file in the 
directory <code>../common/config</code></li>
-        <pre class="prettyprint">
-           <code>InitialContext initialContext = getContext();</code>
-        </pre>
-
-        <li>We look-up the JMS queue object from JNDI</li>
-        <pre class="prettyprint">
-           <code>Queue queue = (Queue) 
initialContext.lookup("/queue/exampleQueue");</code>
-        </pre>
-
-        <li>We look-up the JMS connection factory object from JNDI</li>
-        <pre class="prettyprint">
-           <code>ConnectionFactory cf = (ConnectionFactory) 
initialContext.lookup("/ConnectionFactory");</code>
-        </pre>
-
-        <li>We create a JMS context</li>
-        <pre class="prettyprint">
-           <code>jmsContext = cf.createContext();</code>
-        </pre>
-
-        <li>We create a JMS Producer.</li>
-        <pre class="prettyprint">
-           <code>JMSProducer producer = jmsContext.createProducer();</code>
-        </pre>
-
-        <li>We set a CompletionListener on the Producer</li>
-        <pre class="prettyprint">
-          <code>producer.setAsync(new CompletionListener()
-                {
-                   @Override
-                   public void onCompletion(Message message)
-                   {
-                      System.out.println("message acknowledged by ActiveMQ");
-                      latch.countDown();
-                   }
-
-                   @Override
-                   public void onException(Message message, Exception e)
-                   {
-                      e.printStackTrace();
-                   }
-                });</code>
-       </pre>
-
-        <li>We send a message</li>
-        <pre class="prettyprint">
-           <code>producer.send(queue, "this is a string");</code>
-        </pre>
-
-         <li> and then wait for the Completion Listener to be called</li>
-        <pre class="prettyprint">
-           <code>return latch.await(5, TimeUnit.SECONDS);</code>
-        </pre>
-
-        <li>And finally, <b>always</b> remember to close your JMS connections 
and resources after use, in a <code>finally</code> block. Closing a JMS 
connection will automatically close all of its sessions, consumers, producer 
and browser objects</li>
-
-        <pre class="prettyprint">
-           <code>finally
-           {
-              if (initialContext != null)
-              {
-                 initialContext.close();
-              }
-              if (jmsContext != null)
-              {
-                 jmsContext.close();
-              }
-           }</code>
-        </pre>
-
-
-
-     </ol>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-completion-listener/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-completion-listener/readme.md 
b/examples/features/standard/jms-completion-listener/readme.md
new file mode 100644
index 0000000..a8c7d6d
--- /dev/null
+++ b/examples/features/standard/jms-completion-listener/readme.md
@@ -0,0 +1,5 @@
+# JMS Completion Listener Example
+
+To run the example, simply type **mvn verify** from this directory, or **mvn 
-PnoServer verify** if you want to start and create the broker manually.
+
+This example shows you how to send a message asynchronously to ActiveMQ 
Artemis and use a CompletionListener to be notified of the Broker receiving it.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-context/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-context/pom.xml 
b/examples/features/standard/jms-context/pom.xml
index 6258138..fa9d8cc 100644
--- a/examples/features/standard/jms-context/pom.xml
+++ b/examples/features/standard/jms-context/pom.xml
@@ -102,7 +102,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
-</project>
+   <profiles>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-context/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-context/readme.html 
b/examples/features/standard/jms-context/readme.html
deleted file mode 100644
index 34895a2..0000000
--- a/examples/features/standard/jms-context/readme.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!--
-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.
--->
-
-<html>
-  <head>
-    <title>ActiveMQ Artemis JMS Context Example</title>
-    <link rel="stylesheet" type="text/css" href="../../../common/common.css" />
-    <link rel="stylesheet" type="text/css" href="../../../common/prettify.css" 
/>
-    <script type="text/javascript" src="../../../common/prettify.js"></script>
-  </head>
-  <body onload="prettyPrint()">
-     <h1>JMS Context Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this 
directory, <br>or <b>mvn -PnoServer verify</b> if you want to start and create 
the server manually.</pre>
-
-     <p>This example shows you how to send and receive a message to a JMS 
Queue using ActiveMQ Artemis by using a JMS Context</p>
-     <p>A JMSContext is part of JMS 2.0 and combines the JMS Connection and 
Session Objects into a simple Interface</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-context/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-context/readme.md 
b/examples/features/standard/jms-context/readme.md
new file mode 100644
index 0000000..0f03836
--- /dev/null
+++ b/examples/features/standard/jms-context/readme.md
@@ -0,0 +1,7 @@
+# JMS Context Example
+
+To run the example, simply type **mvn verify** from this directory, or **mvn 
-PnoServer verify** if you want to start and create the broker manually.
+
+This example shows you how to send and receive a message to a JMS Queue using 
ActiveMQ Artemis by using a JMSContext.
+
+A JMSContext is part of JMS 2.0 and combines the JMS Connection and Session 
Objects into a simple interface.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-shared-consumer/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-shared-consumer/pom.xml 
b/examples/features/standard/jms-shared-consumer/pom.xml
index f3f95b1..864594f 100644
--- a/examples/features/standard/jms-shared-consumer/pom.xml
+++ b/examples/features/standard/jms-shared-consumer/pom.xml
@@ -104,7 +104,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
-</project>
+   <profiles>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-shared-consumer/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-shared-consumer/readme.html 
b/examples/features/standard/jms-shared-consumer/readme.html
deleted file mode 100644
index b92b340..0000000
--- a/examples/features/standard/jms-shared-consumer/readme.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!--
-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.
--->
-
-<html>
-  <head>
-    <title>ActiveMQ Artemis JMS Shared Consumer Example</title>
-    <link rel="stylesheet" type="text/css" href="../../../common/common.css" />
-    <link rel="stylesheet" type="text/css" href="../../../common/prettify.css" 
/>
-    <script type="text/javascript" src="../../../common/prettify.js"></script>
-  </head>
-  <body onload="prettyPrint()">
-     <h1>JMS Shared Consumer Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this 
directory, <br>or <b>mvn -PnoServer verify</b> if you want to start and create 
the server manually.</pre>
-
-     <p>This example shows you how can use shared consumers to share a 
subscription on a topic. In JMS 1.1 this was not allowed
-     and so caused a scalability issue. In JMS 2 this restriction has been 
lifted so you can share the load across different
-         threads and connections.</p>
-
-     <h2>Example step-by-step</h2>
-
-     <ol>
-        <li>First we need to get an initial context so we can look-up the JMS 
connection factory and destination objects from JNDI. This initial context will 
get it's properties from the <code>client-jndi.properties</code> file in the 
directory <code>../common/config</code></li>
-        <pre class="prettyprint">
-           <code>InitialContext initialContext = getContext();</code>
-        </pre>
-
-        <li>We look-up the JMS topic object from JNDI</li>
-        <pre class="prettyprint">
-           <code>Topic topic = (Topic) 
initialContext.lookup("/topic/exampleTopic");</code>
-        </pre>
-
-        <li>We look-up the JMS connection factory object from JNDI</li>
-        <pre class="prettyprint">
-           <code>ConnectionFactory cf = (ConnectionFactory) 
initialContext.lookup("/ConnectionFactory");</code>
-        </pre>
-
-        <li>We create a JMS context</li>
-        <pre class="prettyprint">
-           <code>jmsContext = cf.createContext();</code>
-        </pre>
-
-        <li>We create a JMS Producer.</li>
-        <pre class="prettyprint">
-           <code>JMSProducer producer = jmsContext.createProducer();</code>
-        </pre>
-
-        <li>We create a shared consumer using the subscription name 
<literal>sc1</literal></li>
-        <pre class="prettyprint">
-          <code>JMSConsumer jmsConsumer = 
jmsContext.createSharedConsumer(topic, "sc1");</code>
-       </pre>
-
-        <li>We then create a second JMS context for a second shared 
consumer</li>
-        <pre class="prettyprint">
-           <code>jmsContext2 = cf.createContext();</code>
-        </pre>
-
-         <li>we then create the second shared consumer using the same 
subscription name</li>
-        <pre class="prettyprint">
-           <code>JMSConsumer jmsConsumer2 = 
jmsContext2.createSharedConsumer(topic, "sc1");</code>
-        </pre>
-
-         <li>we then send 2 messages</li>
-        <pre class="prettyprint">
-           <code>
-           producer.send(topic, "this is a String!");
-
-           producer.send(topic, "this is a second String!") ;</code>
-        </pre>
-
-         <li>we then receive the 2 messages using both shared consumers</li>
-        <pre class="prettyprint">
-           <code>
-           String body = jmsConsumer.receiveBody(String.class, 5000);
-
-           body = jmsConsumer2.receiveBody(String.class, 5000);</code>
-        </pre>
-
-        <li>And finally, <b>always</b> remember to close your JMS connections 
and resources after use, in a <code>finally</code> block. Closing a JMS 
connection will automatically close all of its sessions, consumers, producer 
and browser objects</li>
-
-        <pre class="prettyprint">
-           <code>finally
-           {
-              if (initialContext != null)
-              {
-                 initialContext.close();
-              }
-              if (jmsContext != null)
-              {
-                 jmsContext.close();
-              }
-               if (jmsContext2 != null)
-               {
-               jmsContext2.close();
-               }
-           }</code>
-        </pre>
-
-
-
-     </ol>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-shared-consumer/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-shared-consumer/readme.md 
b/examples/features/standard/jms-shared-consumer/readme.md
new file mode 100644
index 0000000..090f110
--- /dev/null
+++ b/examples/features/standard/jms-shared-consumer/readme.md
@@ -0,0 +1,5 @@
+# JMS Shared Consumer Example
+
+To run the example, simply type **mvn verify** from this directory, or **mvn 
-PnoServer verify** if you want to start and create the broker manually.
+
+This example shows you how can use shared consumers to share a subscription on 
a topic. In JMS 1.1 this was not allowed and so caused a scalability issue. In 
JMS 2 this restriction has been lifted so you can share the load across 
different threads and connections.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-shared-consumer/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git 
a/examples/features/standard/jms-shared-consumer/src/main/resources/activemq/server0/broker.xml
 
b/examples/features/standard/jms-shared-consumer/src/main/resources/activemq/server0/broker.xml
index d3352b1..91d733a 100644
--- 
a/examples/features/standard/jms-shared-consumer/src/main/resources/activemq/server0/broker.xml
+++ 
b/examples/features/standard/jms-shared-consumer/src/main/resources/activemq/server0/broker.xml
@@ -16,10 +16,8 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
-
-   
-
+-->
+<configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">
    <core xmlns="urn:activemq:core">
 
       <bindings-directory>./data/bindings</bindings-directory>
@@ -50,7 +48,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleTopic">
             <multicast/>
          </address>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jmx-ssl/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/jmx-ssl/pom.xml 
b/examples/features/standard/jmx-ssl/pom.xml
index 04e7be9..cc7f1dc 100644
--- a/examples/features/standard/jmx-ssl/pom.xml
+++ b/examples/features/standard/jmx-ssl/pom.xml
@@ -108,7 +108,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
-</project>
+   <profiles>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jmx-ssl/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/jmx-ssl/readme.html 
b/examples/features/standard/jmx-ssl/readme.html
deleted file mode 100644
index ca4e6da..0000000
--- a/examples/features/standard/jmx-ssl/readme.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!--
-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.
--->
-
-<html>
-  <head>
-    <title>ActiveMQ Artemis JMX SSL Management Example</title>
-    <link rel="stylesheet" type="text/css" href="../../../common/common.css" />
-    <link rel="stylesheet" type="text/css" href="../../../common/prettify.css" 
/>
-    <script type="text/javascript" src="../../../common/prettify.js"></script>
-  </head>
-  <body onload="prettyPrint()">
-     <h1>JMX Management Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify 
-Djavax.net.ssl.keyStore=target/server0/etc/activemq.example.keystore 
-Djavax.net.ssl.keyStorePassword=activemqexample 
-Djavax.net.ssl.trustStore=target/server0/etc/activemq.example.truststore 
-Djavax.net.ssl.trustStorePassword=activemqexample</b> from this directory, 
<br>or add <b>-PnoServer</b> if you want to start and create the server 
manually.</pre>
-
-     <p>This example shows how to manage ActiveMQ Artemis using <a 
href="http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/";>JMX
 using SSL</a></p>
-
-     <h2>Example configuration</h2>
-
-     <p>ActiveMQ Artemis exposes its managed resources by default on the 
platform MBeanServer.</p>
-     <p>To access this MBeanServer remotely, add the following to the 
management.xml configuration:
-         <pre class="prettyprint">
-             <code><connector connector-port="1099" 
connector-host="localhost"/></code>
-        </pre>
-        <p>With these properties, ActiveMQ Artemis server will be manageable 
remotely using standard JMX URL on port <code>1099</code>.</p>
-     </p>
-
-     <h2>Example step-by-step</h2>
-     <ol>
-        <li>First we need to get an initial context so we can look-up the JMS 
connection factory and destination objects from JNDI. This initial context will 
get its properties from <a 
href="server0/client-jndi.properties">client-jndi.properties</a></li>
-        <pre class="prettyprint">
-            <code>InitialContext initialContext = getContext(0);</code>
-        </pre>
-
-        <li>We look up the JMS queue object from JNDI</li>
-        <pre class="prettyprint">
-            <code>Queue queue = (Queue) 
initialContext.lookup("/queue/exampleQueue");</code>
-        </pre>
-
-        <li>We look up the JMS connection factory object from JNDI</li>
-        <pre class="prettyprint">
-            <code>ConnectionFactory cf = (ConnectionFactory) 
initialContext.lookup("/ConnectionFactory");</code>
-        </pre>
-
-        <li>We create a JMS connection</li>
-        <pre class="prettyprint">
-            <code>connection = cf.createConnection();</code>
-        </pre>
-
-        <li>We create a JMS session. The session is created as non transacted 
and will auto acknowledge messages.</li>
-        <pre class="prettyprint">
-            <code>Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);</code>
-        </pre>
-
-        <li>We create a JMS message producer on the session. This will be used 
to send the messages.</li>
-        <pre class="prettyprint">
-            <code>MessageProducer messageProducer = 
session.createProducer(topic);</code>
-       </pre>
-
-        <li>We create a JMS text message that we are going to send.</li>
-        <pre class="prettyprint">
-            <code>TextMessage message = session.createTextMessage("This is a 
text message");</code>
-        </pre>
-
-        <li>We send message to the queue</li>
-        <pre class="prettyprint">
-            <code>messageProducer.send(message);</code>
-        </pre>
-
-        <p><em>Now that we have a message in the queue, we will manage the 
queue by retrieving the number of messages in the queue
-            (i.e. 1) and by removing the message which has been sent in step 
8.</em></p>
-
-        <li>We retrieve the <code>ObjectName</code> corresponding to the queue 
using a helper class <code>ObjectNameBuilder</code></li>
-        <pre class="prettyprint">
-              <code>ObjectName on = 
ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queue.getQueueName());</code>
-        </pre>
-
-        <li>We create a JMX Connector to connect to the server's MBeanServer 
using the <a 
href="http://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html#gdevg";>standard
 JMX service URL</a></li>
-        <pre class="prettyprint">
-            <code>JMXConnector connector = JMXConnectorFactory.connect(new 
JMXServiceURL(JMX_URL), new HashMap());</code>
-        </pre>
-
-        <li>We retrieve a <code>MBeanServerConnection</code> from the JMX 
connector</li>
-        <pre class="prettyprint">
-           <code>TextMessage messageReceived = (TextMessage) 
messageConsumer.receive(5000);</code>
-        </pre>
-
-        <li>We create a <code>JMSQueueControl</code> proxy to manage the queue 
on the server</li>
-        <pre class="prettyprint">
-            <code>JMSQueueControl queueControl = 
(JMSQueueControl)MBeanServerInvocationHandler.newProxyInstance(mbsc,
-                                                                               
               on,
-                                                                               
               JMSQueueControl.class,
-                                                                               
               false);
-             </code>
-        </pre>
-
-        <li>We use this mbean proxy to retrieve the number of messages in the 
queue using the <code>getMessageCount</code> method</li>
-        <pre class="prettyprint">
-            <code>System.out.println(queueControl.getName() + " contains " + 
queueControl.getMessageCount() + " messages");</code>
-        </pre>
-
-        <li>We will now remove the message sent at step 8 using the 
<code>removeMessage</code> method with the JMS Message ID of the message</li>
-        <pre class="prettyprint">
-            <code>System.out.println("message has been removed: " + 
queueControl.removeMessage(message.getJMSMessageID()));</code>
-        </pre>
-
-        <li>We use again the mbean proxy to retrieve the number of messages. 
This time, it will display <code>0</code> messages</li>
-        <pre class="prettyprint">
-            <code>System.out.println(queueControl.getName() + " contains " + 
queueControl.getMessageCount() + " messages");</code>
-        </pre>
-
-        <li>Now we have finish the management operations, we close the JMX 
connector</li>
-        <pre class="prettyprint">
-            <code>connector.close()</code>
-        </pre>
-
-        <p><em>We will now try to consume the message sent to the queue but it 
won't be there: it has been removed by the management operation</em></p>
-
-        <li>We create a JMS message consumer on the queue</li>
-        <pre class="prettyprint">
-            <code>MessageConsumer messageConsumer = 
session.createConsumer(queue);</code>
-        </pre>
-
-        <li>We start the connection. In order for delivery to occur on any 
consumers or subscribers on a connection, the connection must be started</li>
-        <pre class="prettyprint">
-            <code>connection.start();</code>
-        </pre>
-
-        <li>We try to receive a message from the queue. Since there is none, 
the call will timeout after 5000ms and messageReceived will be null
-        </li>
-        <pre class="prettyprint">
-            <code>TextMessage messageReceived = (TextMessage) 
messageConsumer.receive(5000);
-            System.out.println("Received message: " + messageReceived);</code>
-        </pre>
-
-        <li>And finally, <b>always</b> remember to close your JMS connections 
and resources after use, in a <code>finally</code> block. Closing a JMS 
connection will automatically close all of its sessions, consumers, producer 
and browser objects</li>
-
-        <pre class="prettyprint">
-           <code>finally
-           {
-              if (initialContext != null)
-              {
-                initialContext.close();
-              }
-              if (connection != null)
-              {
-                 connection.close();
-              }
-           }</code>
-        </pre>
-     </ol>
-
-     <h2>More information</h2>
-
-     <ul>
-        <li>User Manual's <a 
href="../../../docs/user-manual/en/html_single/index.html#management.jmx">Using 
Management Via JMX chapter</a></li>
-        <li><a 
href="http://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html";>Java
 management guide</a></li>
-     </ul>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jmx-ssl/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/jmx-ssl/readme.md 
b/examples/features/standard/jmx-ssl/readme.md
new file mode 100644
index 0000000..4c4291f
--- /dev/null
+++ b/examples/features/standard/jmx-ssl/readme.md
@@ -0,0 +1,23 @@
+# JMX Management Example
+
+To run the example, simply type:
+ 
+    mvn verify 
-Djavax.net.ssl.keyStore=target/server0/etc/activemq.example.keystore 
-Djavax.net.ssl.keyStorePassword=activemqexample 
-Djavax.net.ssl.trustStore=target/server0/etc/activemq.example.truststore 
-Djavax.net.ssl.trustStorePassword=activemqexample
+
+from this directory, or add **-PnoServer** if you want to start and create the 
broker manually.
+
+This example shows how to manage ActiveMQ Artemis using [JMX using 
SSL](http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/)
+
+## Example configuration
+
+ActiveMQ Artemis exposes its managed resources by default on the platform 
MBeanServer.
+
+To access this MBeanServer remotely, add the following to the management.xml 
configuration:
+
+    <connector connector-port="1099" connector-host="localhost"/>
+
+With these properties, ActiveMQ Artemis broker will be manageable remotely 
using standard JMX URL on port `1099`.
+
+## More information
+
+*   [Java management 
guide](http://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jmx-ssl/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git 
a/examples/features/standard/jmx-ssl/src/main/resources/activemq/server0/broker.xml
 
b/examples/features/standard/jmx-ssl/src/main/resources/activemq/server0/broker.xml
index 7576376..5d17696 100644
--- 
a/examples/features/standard/jmx-ssl/src/main/resources/activemq/server0/broker.xml
+++ 
b/examples/features/standard/jmx-ssl/src/main/resources/activemq/server0/broker.xml
@@ -16,10 +16,8 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
-
-   
-
+-->
+<configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">
    <core xmlns="urn:activemq:core">
 
       <bindings-directory>./data/messaging/bindings</bindings-directory>
@@ -53,7 +51,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <anycast>
                <queue name="exampleQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jmx/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/jmx/pom.xml 
b/examples/features/standard/jmx/pom.xml
index 902fe99..746be9a 100644
--- a/examples/features/standard/jmx/pom.xml
+++ b/examples/features/standard/jmx/pom.xml
@@ -108,7 +108,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
-</project>
+   <profiles>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jmx/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/jmx/readme.html 
b/examples/features/standard/jmx/readme.html
deleted file mode 100644
index 7106e34..0000000
--- a/examples/features/standard/jmx/readme.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!--
-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.
--->
-
-<html>
-  <head>
-    <title>ActiveMQ Artemis JMX Management Example</title>
-    <link rel="stylesheet" type="text/css" href="../../../common/common.css" />
-    <link rel="stylesheet" type="text/css" href="../../../common/prettify.css" 
/>
-    <script type="text/javascript" src="../../../common/prettify.js"></script>
-  </head>
-  <body onload="prettyPrint()">
-     <h1>JMX Management Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this 
directory, <br>or <b>mvn -PnoServer verify</b> if you want to start and create 
the server manually.</pre>
-
-     <p>This example shows how to manage ActiveMQ Artemis using <a 
href="http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/";>JMX</a></p>
-
-     <h2>Example configuration</h2>
-
-     <p>ActiveMQ Artemis exposes its managed resources by default on the 
platform MBeanServer.</p>
-     <p>To access this MBeanServer remotely, add the following to the 
management.xml configuration:
-         <pre class="prettyprint">
-             <code><connector connector-port="1099" 
connector-host="localhost"/></code>
-        </pre>
-        <p>With these properties, ActiveMQ Artemis server will be manageable 
remotely using standard JMX URL on port <code>1099</code>.</p>
-     </p>
-
-     <h2>Example step-by-step</h2>
-     <ol>
-        <li>First we need to get an initial context so we can look-up the JMS 
connection factory and destination objects from JNDI. This initial context will 
get its properties from <a 
href="server0/client-jndi.properties">client-jndi.properties</a></li>
-        <pre class="prettyprint">
-            <code>InitialContext initialContext = getContext(0);</code>
-        </pre>
-
-        <li>We look up the JMS queue object from JNDI</li>
-        <pre class="prettyprint">
-            <code>Queue queue = (Queue) 
initialContext.lookup("/queue/exampleQueue");</code>
-        </pre>
-
-        <li>We look up the JMS connection factory object from JNDI</li>
-        <pre class="prettyprint">
-            <code>ConnectionFactory cf = (ConnectionFactory) 
initialContext.lookup("/ConnectionFactory");</code>
-        </pre>
-
-        <li>We create a JMS connection</li>
-        <pre class="prettyprint">
-            <code>connection = cf.createConnection();</code>
-        </pre>
-
-        <li>We create a JMS session. The session is created as non transacted 
and will auto acknowledge messages.</li>
-        <pre class="prettyprint">
-            <code>Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);</code>
-        </pre>
-
-        <li>We create a JMS message producer on the session. This will be used 
to send the messages.</li>
-        <pre class="prettyprint">
-            <code>MessageProducer messageProducer = 
session.createProducer(topic);</code>
-       </pre>
-
-        <li>We create a JMS text message that we are going to send.</li>
-        <pre class="prettyprint">
-            <code>TextMessage message = session.createTextMessage("This is a 
text message");</code>
-        </pre>
-
-        <li>We send message to the queue</li>
-        <pre class="prettyprint">
-            <code>messageProducer.send(message);</code>
-        </pre>
-
-        <p><em>Now that we have a message in the queue, we will manage the 
queue by retrieving the number of messages in the queue
-            (i.e. 1) and by removing the message which has been sent in step 
8.</em></p>
-
-        <li>We retrieve the <code>ObjectName</code> corresponding to the queue 
using a helper class <code>ObjectNameBuilder</code></li>
-        <pre class="prettyprint">
-              <code>ObjectName on = 
ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queue.getQueueName());</code>
-        </pre>
-
-        <li>We create a JMX Connector to connect to the server's MBeanServer 
using the <a 
href="http://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html#gdevg";>standard
 JMX service URL</a></li>
-        <pre class="prettyprint">
-            <code>JMXConnector connector = JMXConnectorFactory.connect(new 
JMXServiceURL(JMX_URL), new HashMap());</code>
-        </pre>
-
-        <li>We retrieve a <code>MBeanServerConnection</code> from the JMX 
connector</li>
-        <pre class="prettyprint">
-           <code>TextMessage messageReceived = (TextMessage) 
messageConsumer.receive(5000);</code>
-        </pre>
-
-        <li>We create a <code>JMSQueueControl</code> proxy to manage the queue 
on the server</li>
-        <pre class="prettyprint">
-            <code>JMSQueueControl queueControl = 
(JMSQueueControl)MBeanServerInvocationHandler.newProxyInstance(mbsc,
-                                                                               
               on,
-                                                                               
               JMSQueueControl.class,
-                                                                               
               false);
-             </code>
-        </pre>
-
-        <li>We use this mbean proxy to retrieve the number of messages in the 
queue using the <code>getMessageCount</code> method</li>
-        <pre class="prettyprint">
-            <code>System.out.println(queueControl.getName() + " contains " + 
queueControl.getMessageCount() + " messages");</code>
-        </pre>
-
-        <li>We will now remove the message sent at step 8 using the 
<code>removeMessage</code> method with the JMS Message ID of the message</li>
-        <pre class="prettyprint">
-            <code>System.out.println("message has been removed: " + 
queueControl.removeMessage(message.getJMSMessageID()));</code>
-        </pre>
-
-        <li>We use again the mbean proxy to retrieve the number of messages. 
This time, it will display <code>0</code> messages</li>
-        <pre class="prettyprint">
-            <code>System.out.println(queueControl.getName() + " contains " + 
queueControl.getMessageCount() + " messages");</code>
-        </pre>
-
-        <li>Now we have finish the management operations, we close the JMX 
connector</li>
-        <pre class="prettyprint">
-            <code>connector.close()</code>
-        </pre>
-
-        <p><em>We will now try to consume the message sent to the queue but it 
won't be there: it has been removed by the management operation</em></p>
-
-        <li>We create a JMS message consumer on the queue</li>
-        <pre class="prettyprint">
-            <code>MessageConsumer messageConsumer = 
session.createConsumer(queue);</code>
-        </pre>
-
-        <li>We start the connection. In order for delivery to occur on any 
consumers or subscribers on a connection, the connection must be started</li>
-        <pre class="prettyprint">
-            <code>connection.start();</code>
-        </pre>
-
-        <li>We try to receive a message from the queue. Since there is none, 
the call will timeout after 5000ms and messageReceived will be null
-        </li>
-        <pre class="prettyprint">
-            <code>TextMessage messageReceived = (TextMessage) 
messageConsumer.receive(5000);
-            System.out.println("Received message: " + messageReceived);</code>
-        </pre>
-
-        <li>And finally, <b>always</b> remember to close your JMS connections 
and resources after use, in a <code>finally</code> block. Closing a JMS 
connection will automatically close all of its sessions, consumers, producer 
and browser objects</li>
-
-        <pre class="prettyprint">
-           <code>finally
-           {
-              if (initialContext != null)
-              {
-                initialContext.close();
-              }
-              if (connection != null)
-              {
-                 connection.close();
-              }
-           }</code>
-        </pre>
-     </ol>
-
-     <h2>More information</h2>
-
-     <ul>
-        <li>User Manual's <a 
href="../../../docs/user-manual/en/html_single/index.html#management.jmx">Using 
Management Via JMX chapter</a></li>
-        <li><a 
href="http://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html";>Java
 management guide</a></li>
-     </ul>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jmx/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/jmx/readme.md 
b/examples/features/standard/jmx/readme.md
new file mode 100644
index 0000000..19a72a1
--- /dev/null
+++ b/examples/features/standard/jmx/readme.md
@@ -0,0 +1,9 @@
+# JMX Management Example
+
+To run the example, simply type **mvn verify** from this directory, or **mvn 
-PnoServer verify** if you want to start and create the broker manually.
+
+This example shows how to manage ActiveMQ Artemis using 
[JMX](http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/)
+
+## More information
+
+*   [Java management 
guide](http://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jmx/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git 
a/examples/features/standard/jmx/src/main/resources/activemq/server0/broker.xml 
b/examples/features/standard/jmx/src/main/resources/activemq/server0/broker.xml
index 7576376..5d17696 100644
--- 
a/examples/features/standard/jmx/src/main/resources/activemq/server0/broker.xml
+++ 
b/examples/features/standard/jmx/src/main/resources/activemq/server0/broker.xml
@@ -16,10 +16,8 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
-
-   
-
+-->
+<configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">
    <core xmlns="urn:activemq:core">
 
       <bindings-directory>./data/messaging/bindings</bindings-directory>
@@ -53,7 +51,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <anycast>
                <queue name="exampleQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/large-message/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/large-message/pom.xml 
b/examples/features/standard/large-message/pom.xml
index 020a7b1..423e7e3 100644
--- a/examples/features/standard/large-message/pom.xml
+++ b/examples/features/standard/large-message/pom.xml
@@ -82,7 +82,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
-</project>
+   <profiles>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/large-message/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/large-message/readme.html 
b/examples/features/standard/large-message/readme.html
deleted file mode 100644
index 0dc42cb..0000000
--- a/examples/features/standard/large-message/readme.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!--
-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.
--->
-
-<html>
-  <head>
-    <title>ActiveMQ Artemis Large Message Example</title>
-    <link rel="stylesheet" type="text/css" href="../../../common/common.css" />
-    <link rel="stylesheet" type="text/css" href="../../../common/prettify.css" 
/>
-    <script type="text/javascript" src="../../../common/prettify.js"></script>
-  </head>
-  <body onload="prettyPrint()">
-     <h1>Large Message Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this 
directory, This example will start and stop the server since it will look for a 
failure.</pre>
-
-
-     <p>This example shows you how to send and receive very large messages 
with ActiveMQ Artemis.</p>
-     <p>ActiveMQ Artemis supports the sending and receiving of huge messages, 
much larger than can fit in available RAM
-     on the client or server. Effectively the only limit to message size is 
the amount of disk space you have on the server.</p>
-     <p>Large messages are persisted on the server so they can survive a 
server restart. In other words ActiveMQ Artemis doesn't just
-     do a simple socket stream from the sender to the consumer.</p>
-     <p>In order to do this ActiveMQ Artemis provides an extension to JMS 
where you can use an InputStream or OutputStream as the source and destination 
for your messages. You can send messages as large as it would fit in your 
disk.</p>
-     <p>You may also choose to read LargeMessages using the regular ByteStream 
or ByteMessage methods, but using the InputStream and OutputStream will provide 
you a much better performance</p>
-
-     <h2>Example step-by-step</h2>
-     <p>In this example we limit both the server and the client to be running 
in a maximum of 50MB of RAM,
-     and we send a message with a body of size 256MB.</p>
-     <p>ActiveMQ Artemis can support much large message sizes but we
-     choose these sizes and limit RAM so the example runs more quickly.</p>
-     <p>We create a file on disk representing the message body, create
-     a FileInputStream on that file and set that InputStream as the body of 
the message before sending.</p>
-     <p>The message is sent, then we stop the server, and restart it. This 
demonstrates the large message will survive a restart of the server.</p>
-     <p>Once the server is restarted we receive the message and stream it's 
body to another file on disk.</p>
-
-     <ol>
-        <li>Create an initial context to perform the JNDI lookup.</li>
-        <pre class="prettyprint">
-           <code>initialContext = getContext(0);</code>
-        </pre>
-
-        <li>Perfom a lookup on the queue.</li>
-        <pre class="prettyprint">
-           <code>Queue queue = 
(Queue)initialContext.lookup("/queue/exampleQueue");</code>
-        </pre>
-
-        <li>Perform a lookup on the Connection Factory. This ConnectionFactory 
has a special attribute set on it. activemq-jms.xml)
-            Messages with more than 10K are considered large.</li>
-        <pre class="prettyprint">
-           <code>ConnectionFactory cf = 
(ConnectionFactory)initialContext.lookup("/ConnectionFactory");</code>
-        </pre>
-
-        <li>Create the JMS objects for sending the message.</li>
-        <pre class="prettyprint">
-           <code>
-        connection = cf.createConnection();
-
-        Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
-
-        MessageProducer producer = session.createProducer(queue);
-           </code>
-        </pre>
-
-        <li>Create a huge file - this will form the body of the message we 
will send.</li>
-        <pre class="prettyprint">
-           <code>
-        File fileInput = new File("huge_message_to_send.dat");
-
-        fileInput.createNewFile();
-
-        createFile(fileInput, FILE_SIZE);
-           </code>
-        </pre>
-
-        <li>Create a BytesMessage</li>
-        <pre class="prettyprint">
-          <code>BytesMessage message = session.createBytesMessage();</code>
-       </pre>
-
-        <li>We set the InputStream on the message. When sending the message 
will read the InputStream
-        until it gets EOF. In this case we point the InputStream at a file on 
disk, and it will suck up the entire
-        file, however we could use any InputStream not just a 
FileInputStream.</li>
-        <pre class="prettyprint"><code>
-         FileInputStream fileInputStream = new FileInputStream(fileInput);
-
-         BufferedInputStream bufferedInput = new 
BufferedInputStream(fileInputStream);
-
-         message.setObjectProperty("JMS_AMQ_InputStream", bufferedInput);
-        </code></pre>
-
-        <li>Send the Message.</li>
-        <pre class="prettyprint"><code>
-         producer.send(message);
-         </code></pre>
-
-
-        <li>We send message to the queue. After the send completion the 
message file will be located at ./build/data/largeMessages</li>
-        <pre class="prettyprint">
-           <code>messageProducer.send(message);</code>
-        </pre>
-
-        <li>
-        To demonstrate that that we're not simply streaming the message from 
sending to consumer, we stop
-        the server and restart it before consuming the message. This 
demonstrates that the large message gets persisted, like a
-        normal persistent message, on the server. If you look at 
./build/data/largeMessages you will see the largeMessage
-        stored on disk the server.
-        </li>
-          <pre class="prettyprint">
-           <code>
-        connection.close();
-
-        initialContext.close();
-
-        stopServer(0);
-
-        // Give the server a little time to shutdown properly
-        Thread.sleep(5000);
-
-        startServer(0);
-           </code>
-        </pre>
-
-        <li>Now the server is restarted we can recreate the JMS Objects, and 
start the new connection.</li>
-        <pre class="prettyprint">
-           <code>
-        initialContext = getContext(0);
-
-        queue = (Queue)initialContext.lookup("/queue/exampleQueue");
-
-        cf = (ConnectionFactory)initialContext.lookup("/ConnectionFactory");
-
-        connection = cf.createConnection();
-
-        session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-        MessageConsumer messageConsumer = session.createConsumer(queue);
-
-        connection.start();
-
-           </code>
-        </pre>
-
-        <li>Receive the message. When we receive the large message we 
initially just receive the message with
-        an empty body.</li>
-        <pre class="prettyprint"><code>BytesMessage messageReceived = 
(BytesMessage)messageConsumer.receive(120000);
-        </code></pre>
-
-        <li>We set an OutputStream on the message. This causes the message 
body to be written to the
-         OutputStream until there are no more bytes to be written.
-         You don't have to use a FileOutputStream, you can use any 
OutputStream.
-         You may choose to use the regular BytesMessage or
-         StreamMessage interface but this method is much faster for large 
messages.</li>
-        <pre class="prettyprint"><code>
-         File outputFile = new File("huge_message_received.dat");
-
-         FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
-
-         BufferedOutputStream bufferedOutput = new 
BufferedOutputStream(fileOutputStream);
-
-        </code></pre>
-
-         <li>This will save the stream and wait until the entire message is 
written before continuing.</li>
-        <pre class="prettyprint"><code>
-         messageReceived.setObjectProperty("JMS_AMQ_SaveStream", 
bufferedOutput);
-        </code></pre>
-
-        <li>Be sure to close our resources!</li>
-
-        <pre class="prettyprint">
-           <code>
-           finally
-           {
-              if (initialContext != null)
-              {
-                initialContext.close();
-              }
-              if (connection != null)
-              {
-                 connection.close();
-              }
-           }</code>
-        </pre>
-     </ol>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/large-message/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/large-message/readme.md 
b/examples/features/standard/large-message/readme.md
new file mode 100644
index 0000000..144881b
--- /dev/null
+++ b/examples/features/standard/large-message/readme.md
@@ -0,0 +1,25 @@
+# Large Message Example
+
+To run the example, simply type **mvn verify** from this directory, This 
example will start and stop the broker since it will look for a failure.
+
+This example shows you how to send and receive very large messages with 
ActiveMQ Artemis.
+
+ActiveMQ Artemis supports the sending and receiving of huge messages, much 
larger than can fit in available RAM on the client or server. Effectively the 
only limit to message size is the amount of disk space you have on the server.
+
+Large messages are persisted on the broker so they can survive a broker 
restart. In other words ActiveMQ Artemis doesn't just do a simple socket stream 
from the sender to the consumer.
+
+In order to do this ActiveMQ Artemis provides an extension to JMS where you 
can use an InputStream or OutputStream as the source or destination for your 
messages respectively. You can send messages as large as it would fit in your 
disk.
+
+You may also choose to read LargeMessages using the regular ByteStream or 
ByteMessage methods, but using the InputStream or OutputStream will provide you 
a much better performance.
+
+## Example step-by-step
+
+In this example we limit both the broker and the client to be running in a 
maximum of 50MB of RAM, and we send a message with a body of size 2GiB.
+
+ActiveMQ Artemis can support much large message sizes but we choose these 
sizes and limit RAM so the example runs more quickly.
+
+We create a file on disk representing the message body, create a 
FileInputStream on that file and set that InputStream as the body of the 
message before sending.
+
+The message is sent, then we stop the server, and restart it. This 
demonstrates the large message will survive a restart of the server.
+
+Once the broker is restarted we receive the message and stream it's body to 
another file on disk.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/last-value-queue/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/last-value-queue/pom.xml 
b/examples/features/standard/last-value-queue/pom.xml
index e2e9c0c..85a4791 100644
--- a/examples/features/standard/last-value-queue/pom.xml
+++ b/examples/features/standard/last-value-queue/pom.xml
@@ -102,7 +102,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
-</project>
+   <profiles>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/last-value-queue/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/last-value-queue/readme.html 
b/examples/features/standard/last-value-queue/readme.html
deleted file mode 100644
index 1fb58ee..0000000
--- a/examples/features/standard/last-value-queue/readme.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!--
-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.
--->
-
-<html>
-  <head>
-    <title>ActiveMQ Artemis Last-Value Queue Example</title>
-    <link rel="stylesheet" type="text/css" href="../../../common/common.css" />
-    <link rel="stylesheet" type="text/css" href="../../../common/prettify.css" 
/>
-    <script type="text/javascript" src="../../../common/prettify.js"></script>
-  </head>
-  <body onload="prettyPrint()">
-     <h1>Last-Value Queue Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this 
directory, <br>or <b>mvn -PnoServer verify</b> if you want to start and create 
the server manually.</pre>
-
-     <p>This example shows you how to configure and use last-value queues.</p>
-     <p>Last-Value queues are special queues which discard any messages when a 
newer message with the same value for a well-defined <em>Last-Value</em> 
property is put in the queue.
-         In other words, a Last-Value queue only retains the last value.</p>
-     <p>A typical example for Last-Value queue is for stock prices, where you 
are only interested by the latest value for a particular stock.</p>
-
-     <p>The example will send 3 messages with the same <em>Last-Value</em> 
property to a to a Last-Value queue.<br />
-        We will browse the queue and see that only the last message is in the 
queue, the first two messages have been discarded. <br />
-        We will then consume from the queue the <em>last</em> message.</p>
-
-     <h2>Example setup</h2>
-     <p>Last-Value queues are defined in the configuration file <a 
href="server0/broker.xml">broker.xml</a>:</p>
-     <pre class="prettyprint">
-         <code>&lt;address-setting match="jms.queue.lastValueQueue"&gt;
-                &lt;last-value-queue&gt;true&lt;/last-value-queue&gt;
-         &lt;/address-setting&gt;</code>
-     </pre>
-
-     <h2>Example step-by-step</h2>
-     <ol>
-        <li>First we need to get an initial context so we can look-up the JMS 
connection factory and destination objects from JNDI. This initial context will 
get it's properties from the <a 
href="server0/client-jndi.properties">client-jndi.properties</a></li>
-        <pre class="prettyprint">
-           <code>InitialContext initialContext = getContext();</code>
-        </pre>
-
-        <li>We look up the JMS queue object from JNDI</li>
-        <pre class="prettyprint">
-           <code>Queue queue = (Queue) 
initialContext.lookup("/queue/lastValueQueue");</code>
-        </pre>
-
-        <li>We look up the JMS connection factory object from JNDI</li>
-        <pre class="prettyprint">
-           <code>ConnectionFactory cf = (ConnectionFactory) 
initialContext.lookup("/ConnectionFactory");</code>
-        </pre>
-
-        <li>We create a JMS connection, a session and a producer for the 
queue</li>
-        <pre class="prettyprint">
-           <code> connection = cf.createConnection();
-            Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
-            MessageProducer producer = session.createProducer(queue);</code>
-       </pre>
-
-       <li>We will create and send a text message with the Last-Value property 
set to <code>STOCK_NAME</code></li>
-       <pre class="prettyprint">
-           <code>TextMessage message = session.createTextMessage("1st message 
with Last-Value property set");
-           message.setStringProperty("_AMQ_LVQ_NAME", "STOCK_NAME");
-           producer.send(message);
-           System.out.format("Sent message: %s\n", message.getText());</code>
-       </pre>
-
-       <p><em>The <em>Last-Value</em> key is defined in ActiveMQ's MessageImpl 
class. Its value is <code>"_AMQ_LVQ_NAME"</code></em></p>
-
-       <li>We will create and send a <em>second</em> text message with the 
Last-Value property set to <code>STOCK_NAME</code></li>
-       <pre class="prettyprint">
-           <code>message = session.createTextMessage("2nd message with 
Last-Value property set");
-           message.setStringProperty("_AMQ_LVQ_NAME", "STOCK_NAME");
-           producer.send(message);
-           System.out.format("Sent message: %s\n", message.getText());</code>
-       </pre>
-
-       <li>We will create and send a <em>third</em> text message with the 
Last-Value property set to <code>STOCK_NAME</code></li>
-       <pre class="prettyprint">
-           <code>message = session.createTextMessage("3rd message with 
Last-Value property set");
-           message.setStringProperty("_AMQ_LVQ_NAME", "STOCK_NAME");
-           producer.send(message);
-           System.out.format("Sent message: %s\n", message.getText());</code>
-       </pre>
-
-       <p><em>When the 2<sup>nd</sup> message was sent to the queue, the 
1<sup>st</sup> message was discarded.<br />
-           Similarly, when the 3<sup>rd</sup> message was sent to the queue, 
the 2<sup>nd</sup> message was discarded.<br />
-           Only the 3<sup>rd</sup> message remains in the queue.</em></p>
-
-        <li>We will browse the queue. There will be a single message 
displayed: the 3<sup>rd</sup> message</li>
-        <pre class="prettyprint">
-            <code>QueueBrowser browser = session.createBrowser(queue);
-            Enumeration enumeration = browser.getEnumeration();
-            while (enumeration.hasMoreElements())
-            {
-               TextMessage messageInTheQueue = 
(TextMessage)enumeration.nextElement();
-               System.out.format("Message in the queue: %s\n", 
messageInTheQueue.getText());
-            }
-            browser.close();
-            </code>
-        </pre>
-
-        <p><em>We will now consume the message on the queue</em></p>
-
-        <li>We create a JMS message consumer on the queue</li>
-        <pre class="prettyprint">
-            <code>MessageConsumer messageConsumer = 
session.createConsumer(queue);</code>
-        </pre>
-
-        <li>We start the connection. In order for delivery to occur on any 
consumers or subscribers on a connection, the connection must be started</li>
-        <pre class="prettyprint">
-           <code>connection.start();</code>
-        </pre>
-
-        <li>We try to receive a message from the queue. It will be the 
3<sup>rd</sup> message</li>
-        <pre class="prettyprint">
-           <code> TextMessage messageReceived = 
(TextMessage)messageConsumer.receive(5000);
-            System.out.format("Received message: %s\n", 
messageReceived.getText());</code>
-        </pre>
-
-        <li>We will try to receive another message but there is no other on 
the queue. The <code>receive</code> method will timeout after 5 seconds</li>
-        <pre class="prettyprint">
-           <code> messageReceived = (TextMessage)messageConsumer.receive(5000);
-           System.out.format("Received message: %s\n", messageReceived);</code>
-        </pre>
-
-        <li>And finally, <b>always</b> remember to close your JMS connections 
and resources after use, in a <code>finally</code> block. Closing a JMS 
connection will automatically close all of its sessions, consumers, producer 
and browser objects</li>
-        <pre class="prettyprint">
-           <code>finally
-           {
-              if (initialContext != null)
-              {
-                initialContext.close();
-              }
-              if (connection != null)
-              {
-                 connection.close();
-              }
-           }</code>
-        </pre>
-     </ol>
-
-     <h2>More information</h2>
-
-     <ul>
-        <li>User Manual's <a 
href="../../../docs/user-manual/en/html_single/index.html#last-value-queues">Last-Value
 Queues chapter</a></li>
-     </ul>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/last-value-queue/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/last-value-queue/readme.md 
b/examples/features/standard/last-value-queue/readme.md
new file mode 100644
index 0000000..297d277
--- /dev/null
+++ b/examples/features/standard/last-value-queue/readme.md
@@ -0,0 +1,15 @@
+# Last-Value Queue Example
+
+To run the example, simply type **mvn verify** from this directory, or **mvn 
-PnoServer verify** if you want to start and create the broker manually.
+
+This example shows you how to configure and use last-value queues.
+
+Last-Value queues are special queues which discard any messages when a newer 
message with the same value for a well-defined _Last-Value_ property is put in 
the queue. In other words, a Last-Value queue only retains the last value.
+
+A typical example for Last-Value queue is for stock prices, where you are only 
interested by the latest value for a particular stock.
+
+The example will send 3 messages with the same _Last-Value_ property to a to a 
Last-Value queue.
+
+We will browse the queue and see that only the last message is in the queue, 
the first two messages have been discarded.
+
+We will then consume from the queue the _last_ message.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/last-value-queue/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git 
a/examples/features/standard/last-value-queue/src/main/resources/activemq/server0/broker.xml
 
b/examples/features/standard/last-value-queue/src/main/resources/activemq/server0/broker.xml
index 65de32d..d7017a0 100644
--- 
a/examples/features/standard/last-value-queue/src/main/resources/activemq/server0/broker.xml
+++ 
b/examples/features/standard/last-value-queue/src/main/resources/activemq/server0/broker.xml
@@ -16,10 +16,8 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
-
-   
-
+-->
+<configuration xmlns="urn:activemq" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">
    <core xmlns="urn:activemq:core">
 
       <bindings-directory>./data/messaging/bindings</bindings-directory>
@@ -56,7 +54,7 @@ under the License.
          </address-setting>
       </address-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <anycast>
                <queue name="exampleQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/management-notifications/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/management-notifications/pom.xml 
b/examples/features/standard/management-notifications/pom.xml
index 06bd8cb..55dad3d 100644
--- a/examples/features/standard/management-notifications/pom.xml
+++ b/examples/features/standard/management-notifications/pom.xml
@@ -102,7 +102,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
-</project>
+   <profiles>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/management-notifications/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/management-notifications/readme.html 
b/examples/features/standard/management-notifications/readme.html
deleted file mode 100644
index 6ac1efa..0000000
--- a/examples/features/standard/management-notifications/readme.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<!--
-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.
--->
-
-<html>
-  <head>
-    <title>ActiveMQ Artemis Management Notification Example</title>
-    <link rel="stylesheet" type="text/css" href="../../../common/common.css" />
-    <link rel="stylesheet" type="text/css" href="../../../common/prettify.css" 
/>
-    <script type="text/javascript" src="../../../common/prettify.js"></script>
-  </head>
-  <body onload="prettyPrint()">
-     <h1>Management Notification Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this 
directory, <br>or <b>mvn -PnoServer verify</b> if you want to start and create 
the server manually.</pre>
-
-     <p>This example shows how to receive management notifications from 
ActiveMQ Artemis using JMS Messages.</p>
-     <p>ActiveMQ Artemis servers emit management notifications when events of 
interest occur (consumers are created or closed,
-         destinations are created or deleted, security authentication fails, 
etc.).<br />
-         These notifications can be received either by using JMX (see <a 
href="../jmx/readme.html">JMX example</a>) or by receiving JMS Messages
-         from a well-known destination.</p>
-     <p>This example will setup a JMS MessageListener to receive management 
notifications. We will also perform normal JMS operations to see the kind
-         of notifications they trigger.</p>
-
-     <h2>Example configuration</h2>
-
-     <p>ActiveMQ Artemis can configured to send JMS messages when management 
notifications are emitted on the server.</p>
-     <p>By default, the management name is called 
<code>activemq.notifications</code> but this can be configured in <a 
href="server0/broker.xml">broker.xml</a>.
-        For this example, we will set it to 
<code>jms.topic.notificationsTopic</code> to be able to receive notifications 
from a JMS Topic.</p>
-      <pre class="prettyprint">
-         
<code>&lt;management-notification-address&gt;jms.topic.notificationsTopic&lt;/management-notification-address&gt;</code>
-     </pre>
-
-     <p>Since we want to lookup the notifications topic using JNDI, we also 
declare it in  <a href="server0/activemq-jms.xml">activemq-jms.xml</a>
-     <pre class="prettyprint">
-         <code>&lt;topic name="notificationsTopic"&gt;
-            &lt;entry name="/topic/notificationsTopic"/&gt;
-         &lt;/topic&gt;</code>
-     </pre>
-     <p>The notification queue requires permission to create/delete temporary 
queues and consume messages.
-         This is also configured in <a 
href="server0/broker.xml">broker.xml</a></p>
-     <pre class="prettyprint">
-         <code><!--security for notification topic-->
-         &lt;security-setting match="jms.topic.notificationsTopic"&gt;
-            &lt;permission type="consume" roles="guest"/&gt;
-            &lt;permission type="createNonDurableQueue" roles="guest"/&gt;
-            &lt;permission type="deleteNonDurableQueue" roles="guest"/&gt;
-         &lt;/security-setting&gt;</code>
-     </pre>
-
-     <h2>Example step-by-step</h2>
-x     <ol>
-        <li>First we need to get an initial context so we can look-up the JMS 
connection factory and destination objects from JNDI. This initial context will 
get its properties from <a 
href="server0/client-jndi.properties">client-jndi.properties</a></li>
-        <pre class="prettyprint">
-            <code>InitialContext initialContext = getContext(0);</code>
-        </pre>
-
-        <li>We look up the JMS queue object from JNDI</li>
-        <pre class="prettyprint">
-            <code>Queue queue = (Queue) 
initialContext.lookup("/queue/exampleQueue");</code>
-        </pre>
-
-        <li>We look up the JMS connection factory object from JNDI</li>
-        <pre class="prettyprint">
-            <code>ConnectionFactory cf = (ConnectionFactory) 
initialContext.lookup("/ConnectionFactory");</code>
-        </pre>
-
-        <li>We create a JMS connection, a session and a message producer for 
the example queue</li>
-        <pre class="prettyprint">
-            <code>connection = cf.createConnection();
-            Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
-            MessageProducer producer = session.createProducer(queue);</code>
-        </pre>
-
-        <li>We look up the JMS Topic used to receive the notifications from 
JNDI</li>
-        <pre class="prettyprint">
-            <code>Topic notificationsTopic = (Topic) 
initialContext.lookup("/topic/notificationsTopic");</code>
-        </pre>
-
-        <li>We create a MessageConsumer for the notification queue and set its 
MessageListener. When a notification is received, we will simply display all 
the message properties</li>
-        <pre class="prettyprint">
-           <code>MessageConsumer notificationConsumer = 
session.createConsumer(notificationsTopic);
-           notificationConsumer.setMessageListener(new MessageListener()
-           {
-              public void onMessage(Message notif)
-              {
-                 System.out.println("------------------------");
-                 System.out.println("Received notification:");
-                 try
-                 {
-                    Enumeration propertyNames = notif.getPropertyNames();
-                    while (propertyNames.hasMoreElements())
-                    {
-                       String propertyName = 
(String)propertyNames.nextElement();
-                       System.out.format("  %s: %s\n", propertyName, 
notif.getObjectProperty(propertyName));
-                    }
-                 }
-                 catch (JMSException e)
-                 {
-                 }
-                 System.out.println("------------------------");
-              }
-           });</code>
-        </pre>
-
-        <li>We start the connection to receive messages</li>
-        <pre class="prettyprint">
-            <code>connection.start();</code>
-        </pre>
-
-        <p><em>Now that a message listener is setup to receive management 
notifications, we will perform regular JMS operations to
-            see what kind of notifications are triggered</em></p>
-
-        <li>We create a JMS message consumer on the example queue</li>
-        <pre class="prettyprint">
-            <code>MessageConsumer consumer = 
session.createConsumer(queue);</code>
-        </pre>
-
-        <p>This will generate a <code>CONSUMER_CREATED</code> notification:
-        <pre class="prettyprint">
-            <code>------------------------
-            Received notification:
-              _AMQ_RoutingName: jms.queue.exampleQueue
-              _AMQ_Address: jms.queue.exampleQueue
-              ...
-              _AMQ_ConsumerCount: 1
-              ...
-              _AMQ_NotifType: CONSUMER_CREATED
-            ------------------------</code>
-        </pre>
-        <p>The notification tells us that a consumer was created for the JMS 
queue <code>exampleQueue</code>. When the notification
-            was emitted, this consumer was the only one for the queue</p>
-
-        <li>We close this consumer</li>
-        <pre class="prettyprint">
-            <code>consumer.close();</code>
-        </pre>
-
-        <p>This will generate a <code>CONSUMER_CLOSED</code> notification:
-        <pre class="prettyprint">
-            <code>------------------------
-            Received notification:
-              _AMQ_RoutingName: jms.queue.exampleQueue
-              _AMQ_Address: jms.queue.exampleQueue
-              ...
-              _AMQ_ConsumerCount: 0
-              ...
-              _AMQ_NotifType: CONSUMER_CLOSED
-            ------------------------</code>
-        </pre>
-        <p>The notification tells us that a consumer was closed for the JMS 
queue <code>exampleQueue</code>. When the notification
-            was emitted, there were no other consumers on the queue</p>
-
-        <li>As a last example, we will create a connection with invalid user 
credentials</li>
-        <pre class="prettyprint">
-            <code>try
-            {
-               cf.createConnection("not.a.valid.user", "not.a.valid.password");
-            } catch (JMSException e)
-            {
-            }</code>
-        </pre>
-
-        <p>This will generate a <code>SECURITY_AUTHENTICATION_VIOLATION</code> 
notification:
-        <pre class="prettyprint">
-            <code>------------------------
-            Received notification:
-              _AMQ_User: not.a.valid.user
-              ...
-              _AMQ_NotifType: SECURITY_AUTHENTICATION_VIOLATION
-            ------------------------
-            </code>
-        </pre>
-        <p>The notification tells us that a user named 
<code>not.a.valid.user</code> failed to authenticate when creating a connection 
to ActiveMQ Artemis.</p>
-
-        <li>And finally, <b>always</b> remember to close your JMS connections 
and resources after use, in a <code>finally</code> block. Closing a JMS 
connection will automatically close all of its sessions, consumers, producer 
and browser objects</li>
-
-        <pre class="prettyprint">
-           <code>finally
-           {
-              if (initialContext != null)
-              {
-                initialContext.close();
-              }
-              if (connection != null)
-              {
-                 connection.close();
-              }
-           }</code>
-        </pre>
-     </ol>
-
-     <h2>More information</h2>
-
-     <ul>
-         <li>User Manual's <a 
href="../../../docs/user-manual/en/html_single/index.html#management.notifications">Management
 Notifications chapter</a></li>
-     </ul>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/management-notifications/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/management-notifications/readme.md 
b/examples/features/standard/management-notifications/readme.md
new file mode 100644
index 0000000..9cee5e0
--- /dev/null
+++ b/examples/features/standard/management-notifications/readme.md
@@ -0,0 +1,26 @@
+# Management Notification Example
+
+To run the example, simply type **mvn verify** from this directory, or **mvn 
-PnoServer verify** if you want to start and create the broker manually.
+
+This example shows how to receive management notifications from ActiveMQ 
Artemis using JMS Messages.
+
+ActiveMQ Artemis servers emit management notifications when events of interest 
occur (consumers are created or closed, destinations are created or deleted, 
security authentication fails, etc.).
+These notifications can be received either by using JMX (see "jmx" example) or 
by receiving JMS Messages from a well-known destination.
+
+This example will setup a JMS MessageListener to receive management 
notifications. We will also perform normal JMS operations to see the kind of 
notifications they trigger.
+
+## Example configuration
+
+ActiveMQ Artemis can configured to send JMS messages when management 
notifications are emitted on the server.
+
+By default, the management name is called `activemq.notifications` but this 
can be configured in [broker.xml](server0/broker.xml). For this example, we 
will set it to `jms.topic.notificationsTopic` to be able to receive 
notifications from a JMS Topic.
+
+    
<management-notification-address>jms.topic.notificationsTopic</management-notification-address>
+
+The notification queue requires permission to create/delete temporary queues 
and consume messages. This is also configured in 
[broker.xml](server0/broker.xml)
+
+    <security-setting match="jms.topic.notificationsTopic">
+       <permission type="consume" roles="guest"/>
+       <permission type="createNonDurableQueue" roles="guest"/>
+       <permission type="deleteNonDurableQueue" roles="guest"/>
+    </security-setting>
\ No newline at end of file

Reply via email to