You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ma...@apache.org on 2017/12/15 14:55:20 UTC

[01/14] activemq-artemis git commit: This closes #1716

Repository: activemq-artemis
Updated Branches:
  refs/heads/master 4ad05e1dd -> c902e29b2


This closes #1716


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/c902e29b
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/c902e29b
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/c902e29b

Branch: refs/heads/master
Commit: c902e29b2c9d5d00d3019ae7e7bfdbee6bb6e27f
Parents: 4ad05e1 b77cdaf
Author: Martyn Taylor <mt...@redhat.com>
Authored: Fri Dec 15 14:54:16 2017 +0000
Committer: Martyn Taylor <mt...@redhat.com>
Committed: Fri Dec 15 14:54:16 2017 +0000

----------------------------------------------------------------------
 .gitignore                                      |   1 +
 artemis-distribution/src/main/assembly/dep.xml  |   1 +
 examples/common/footer.html                     |   2 +
 examples/common/header.html                     |  27 ++
 .../client-side-load-balancing/pom.xml          |  18 +-
 .../client-side-load-balancing/readme.html      |  49 ---
 .../client-side-load-balancing/readme.md        |  15 +
 .../clustered-durable-subscription/pom.xml      |  20 +-
 .../clustered-durable-subscription/readme.html  |  65 ----
 .../clustered-durable-subscription/readme.md    |  25 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../clustered/clustered-grouping/pom.xml        |  22 +-
 .../clustered/clustered-grouping/readme.html    |  79 ----
 .../clustered/clustered-grouping/readme.md      |  48 +++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../clustered/clustered-jgroups/pom.xml         |  18 +-
 .../clustered/clustered-jgroups/readme.html     |  67 ----
 .../clustered/clustered-jgroups/readme.md       |  34 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/clustered/clustered-queue/pom.xml  |  20 +-
 .../clustered/clustered-queue/readme.html       |  55 ---
 .../clustered/clustered-queue/readme.md         |  26 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../clustered-static-discovery-uri/pom.xml      |  20 +-
 .../clustered-static-discovery-uri/readme.html  |  57 ---
 .../clustered-static-discovery-uri/readme.md    |  28 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../main/resources/activemq/server3/broker.xml  |   8 +-
 .../clustered-static-discovery/pom.xml          |  20 +-
 .../clustered-static-discovery/readme.html      |  57 ---
 .../clustered-static-discovery/readme.md        |  28 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../main/resources/activemq/server3/broker.xml  |   8 +-
 .../clustered/clustered-static-oneway/pom.xml   |  19 +-
 .../clustered-static-oneway/readme.html         |  63 ----
 .../clustered/clustered-static-oneway/readme.md |  30 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../clustered/clustered-topic-uri/pom.xml       |  21 +-
 .../clustered/clustered-topic-uri/readme.html   |  46 ---
 .../clustered/clustered-topic-uri/readme.md     |  21 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/clustered/clustered-topic/pom.xml  |  19 +-
 .../clustered/clustered-topic/readme.html       |  54 ---
 .../clustered/clustered-topic/readme.md         |  25 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../queue-message-redistribution/pom.xml        |  20 +-
 .../queue-message-redistribution/readme.html    |  61 ----
 .../queue-message-redistribution/readme.md      |  23 ++
 .../main/resources/activemq/server0/broker.xml  |  12 +-
 .../main/resources/activemq/server1/broker.xml  |  12 +-
 .../clustered/symmetric-cluster/pom.xml         |  18 +-
 .../clustered/symmetric-cluster/readme.html     |  73 ----
 .../clustered/symmetric-cluster/readme.md       |  38 ++
 .../jms/example/SymmetricClusterExample.java    |   2 +-
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../main/resources/activemq/server3/broker.xml  |   8 +-
 .../main/resources/activemq/server4/broker.xml  |   8 +-
 .../main/resources/activemq/server5/broker.xml  |   8 +-
 .../ha/application-layer-failover/pom.xml       |  18 +-
 .../ha/application-layer-failover/readme.html   | 169 ---------
 .../ha/application-layer-failover/readme.md     |  17 +
 .../ha/client-side-failoverlistener/pom.xml     |  24 +-
 .../ha/client-side-failoverlistener/readme.html |  37 --
 .../ha/client-side-failoverlistener/readme.md   |   7 +
 .../ha/colocated-failover-scale-down/pom.xml    |  20 +-
 .../colocated-failover-scale-down/readme.html   |  65 ----
 .../ha/colocated-failover-scale-down/readme.md  |  31 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 examples/features/ha/colocated-failover/pom.xml |  19 +-
 .../features/ha/colocated-failover/readme.html  |  56 ---
 .../features/ha/colocated-failover/readme.md    |  27 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/ha/ha-policy-autobackup/pom.xml    |  20 +-
 .../main/resources/activemq/server0/broker.xml  |   9 +-
 .../main/resources/activemq/server1/broker.xml  |   9 +-
 .../ha/multiple-failover-failback/pom.xml       |  20 +-
 examples/features/ha/multiple-failover/pom.xml  |  20 +-
 .../ha/non-transaction-failover/pom.xml         |  20 +-
 .../ha/non-transaction-failover/readme.html     | 157 --------
 .../ha/non-transaction-failover/readme.md       |  13 +
 .../ha/replicated-failback-static/pom.xml       |  19 +-
 .../ha/replicated-failback-static/readme.html   |  38 --
 .../ha/replicated-failback-static/readme.md     |   7 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/ha/replicated-failback/pom.xml     |  17 +
 .../features/ha/replicated-failback/readme.html |  38 --
 .../features/ha/replicated-failback/readme.md   |   7 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../ha/replicated-multiple-failover/pom.xml     |  20 +-
 .../ha/replicated-multiple-failover/readme.html |  45 ---
 .../ha/replicated-multiple-failover/readme.md   |   7 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../ha/replicated-transaction-failover/pom.xml  |  19 +-
 .../replicated-transaction-failover/readme.html | 148 --------
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 examples/features/ha/scale-down/pom.xml         |  20 +-
 examples/features/ha/scale-down/readme.html     |  51 ---
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/ha/stop-server-failover/pom.xml    |  20 +-
 .../ha/stop-server-failover/readme.html         |  44 ---
 .../features/ha/transaction-failover/pom.xml    |  20 +-
 .../ha/transaction-failover/readme.html         |  46 ---
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 examples/features/perf/perf/pom.xml             |  21 +-
 examples/features/perf/perf/readme.html         |  39 --
 examples/features/perf/soak/README              |  85 -----
 examples/features/perf/soak/pom.xml             |  21 +-
 examples/features/perf/soak/readme.md           |  70 ++++
 examples/features/perf/soak/server0/broker.xml  |   6 +-
 examples/features/standard/README.md            |   2 +-
 examples/features/standard/bridge/pom.xml       |  18 +-
 examples/features/standard/bridge/readme.html   |  74 ----
 examples/features/standard/bridge/readme.md     |  38 ++
 .../main/resources/activemq/server0/broker.xml  |   5 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/standard/broker-plugin/pom.xml     |  18 +-
 .../features/standard/broker-plugin/readme.html |  34 --
 .../features/standard/broker-plugin/readme.md   |   5 +
 examples/features/standard/browser/pom.xml      |  20 +-
 examples/features/standard/browser/readme.html  |  40 --
 examples/features/standard/browser/readme.md    |  11 +
 examples/features/standard/cdi/readme.md        |   2 +-
 .../features/standard/client-kickoff/pom.xml    |  20 +-
 .../standard/client-kickoff/readme.html         |  54 ---
 .../features/standard/client-kickoff/readme.md  |  22 ++
 .../main/resources/activemq/server0/broker.xml  |   7 +-
 .../standard/consumer-rate-limit/pom.xml        |  20 +-
 .../standard/consumer-rate-limit/readme.html    |  47 ---
 .../standard/consumer-rate-limit/readme.md      |  17 +
 examples/features/standard/dead-letter/pom.xml  |  20 +-
 .../features/standard/dead-letter/readme.html   |  66 ----
 .../features/standard/dead-letter/readme.md     |  32 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../standard/delayed-redelivery/pom.xml         |  18 +-
 .../standard/delayed-redelivery/readme.html     |  56 ---
 .../standard/delayed-redelivery/readme.md       |  23 ++
 .../jms/example/DelayedRedeliveryExample.java   |   2 +-
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/divert/pom.xml       |  20 +-
 examples/features/standard/divert/readme.html   | 119 ------
 examples/features/standard/divert/readme.md     |  82 +++++
 .../artemis/jms/example/DivertExample.java      |   2 +-
 .../main/resources/activemq/server0/broker.xml  |  15 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../standard/durable-subscription/pom.xml       |  20 +-
 .../standard/durable-subscription/readme.html   |  39 --
 .../standard/durable-subscription/readme.md     |   9 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/embedded-simple/pom.xml   |  20 +-
 .../standard/embedded-simple/readme.html        |  35 --
 .../features/standard/embedded-simple/readme.md |   9 +
 .../src/main/resources/broker.xml               |   5 +-
 examples/features/standard/embedded/pom.xml     |  20 +-
 examples/features/standard/embedded/readme.html |  36 --
 examples/features/standard/embedded/readme.md   |   9 +
 examples/features/standard/expiry/pom.xml       |  20 +-
 examples/features/standard/expiry/readme.html   |  61 ----
 examples/features/standard/expiry/readme.md     |  17 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/http-transport/pom.xml    |  20 +-
 .../standard/http-transport/readme.html         |  52 ---
 .../features/standard/http-transport/readme.md  |   9 +
 .../jms/example/HttpTransportExample.java       |  23 +-
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../src/main/resources/jndi.properties          |  20 +
 .../instantiate-connection-factory/pom.xml      |  20 +-
 .../instantiate-connection-factory/readme.html  |  49 ---
 .../features/standard/interceptor-amqp/pom.xml  | 137 +++++++
 .../standard/interceptor-amqp/readme.md         |  21 ++
 .../amqp/example/InterceptorExample.java        |  47 +++
 .../amqp/example/SimpleAmqpInterceptor.java     |  37 ++
 .../main/resources/activemq/server0/broker.xml  |  53 +++
 .../standard/interceptor-client-amqp/pom.xml    | 121 -------
 .../interceptor-client-amqp/readme.html         |  71 ----
 .../amqp/example/InterceptorExample.java        |  47 ---
 .../amqp/example/SimpleAmqpInterceptor.java     |  37 --
 .../main/resources/activemq/server0/broker.xml  | 176 ---------
 .../standard/interceptor-client-mqtt/pom.xml    | 120 ------
 .../interceptor-client-mqtt/readme.html         |  71 ----
 .../mqtt/example/InterceptorExample.java        |  62 ----
 .../mqtt/example/SimpleMQTTInterceptor.java     |  68 ----
 .../main/resources/activemq/server0/broker.xml  | 180 ---------
 .../standard/interceptor-client/pom.xml         |  22 +-
 .../standard/interceptor-client/readme.html     |  72 ----
 .../standard/interceptor-client/readme.md       |  13 +
 .../artemis/jms/example/InterceptorExample.java |   2 +-
 .../features/standard/interceptor-mqtt/pom.xml  | 136 +++++++
 .../standard/interceptor-mqtt/readme.md         |  21 ++
 .../mqtt/example/InterceptorExample.java        |  62 ++++
 .../mqtt/example/SimpleMQTTInterceptor.java     |  63 ++++
 .../main/resources/activemq/server0/broker.xml  |  56 +++
 examples/features/standard/interceptor/pom.xml  |  20 +-
 .../features/standard/interceptor/readme.html   |  72 ----
 .../features/standard/interceptor/readme.md     |  21 ++
 .../main/resources/activemq/server0/broker.xml  |   9 +-
 .../standard/jms-auto-closeable/pom.xml         |  20 +-
 .../standard/jms-auto-closeable/readme.html     |  96 -----
 .../standard/jms-auto-closeable/readme.md       |   7 +
 examples/features/standard/jms-bridge/pom.xml   |  20 +-
 .../features/standard/jms-bridge/readme.html    | 246 -------------
 examples/features/standard/jms-bridge/readme.md |  24 ++
 .../artemis/jms/example/JMSBridgeExample.java   |   2 +-
 .../main/resources/activemq/server0/broker.xml  |  10 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../standard/jms-completion-listener/pom.xml    |  20 +-
 .../jms-completion-listener/readme.html         | 112 ------
 .../standard/jms-completion-listener/readme.md  |   5 +
 examples/features/standard/jms-context/pom.xml  |  20 +-
 .../features/standard/jms-context/readme.html   |  35 --
 .../features/standard/jms-context/readme.md     |   7 +
 .../standard/jms-shared-consumer/pom.xml        |  20 +-
 .../standard/jms-shared-consumer/readme.html    | 119 ------
 .../standard/jms-shared-consumer/readme.md      |   5 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/jmx-ssl/pom.xml      |  20 +-
 examples/features/standard/jmx-ssl/readme.html  | 176 ---------
 examples/features/standard/jmx-ssl/readme.md    |  23 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/jmx/pom.xml          |  20 +-
 examples/features/standard/jmx/readme.html      | 176 ---------
 examples/features/standard/jmx/readme.md        |   9 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/large-message/pom.xml     |  20 +-
 .../features/standard/large-message/readme.html | 200 ----------
 .../features/standard/large-message/readme.md   |  25 ++
 .../features/standard/last-value-queue/pom.xml  |  20 +-
 .../standard/last-value-queue/readme.html       | 162 ---------
 .../standard/last-value-queue/readme.md         |  15 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../standard/management-notifications/pom.xml   |  20 +-
 .../management-notifications/readme.html        | 215 -----------
 .../standard/management-notifications/readme.md |  26 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/management/pom.xml   |  20 +-
 .../features/standard/management/readme.html    | 208 -----------
 examples/features/standard/management/readme.md |  19 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/message-counters/pom.xml  |  20 +-
 .../standard/message-counters/readme.html       | 197 ----------
 .../standard/message-counters/readme.md         |  23 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/message-group/pom.xml     |  20 +-
 .../features/standard/message-group/readme.html | 152 --------
 .../features/standard/message-group/readme.md   |  14 +
 .../features/standard/message-group2/pom.xml    |  20 +-
 .../standard/message-group2/readme.html         | 161 ---------
 .../features/standard/message-group2/readme.md  |  14 +
 .../features/standard/message-priority/pom.xml  |  20 +-
 .../standard/message-priority/readme.html       | 159 --------
 .../standard/message-priority/readme.md         |   9 +
 .../standard/no-consumer-buffering/pom.xml      |  19 +-
 .../standard/no-consumer-buffering/readme.html  | 205 -----------
 .../standard/no-consumer-buffering/readme.md    |  29 ++
 examples/features/standard/paging/pom.xml       |  20 +-
 examples/features/standard/paging/readme.html   | 187 ----------
 examples/features/standard/paging/readme.md     |  11 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/pom.xml              |   8 +-
 .../features/standard/pre-acknowledge/pom.xml   |  20 +-
 .../standard/pre-acknowledge/readme.html        | 154 --------
 .../features/standard/pre-acknowledge/readme.md |  15 +
 .../jms/example/PreacknowledgeExample.java      |   2 +-
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../standard/producer-rate-limit/pom.xml        |  20 +-
 .../standard/producer-rate-limit/readme.html    | 176 ---------
 .../standard/producer-rate-limit/readme.md      |  15 +
 .../features/standard/queue-requestor/pom.xml   |  20 +-
 .../standard/queue-requestor/readme.html        |  46 ---
 .../features/standard/queue-requestor/readme.md |  14 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/queue-selector/pom.xml    |  20 +-
 .../standard/queue-selector/readme.html         |  52 ---
 .../features/standard/queue-selector/readme.md  |  11 +
 examples/features/standard/queue/pom.xml        |  20 +-
 examples/features/standard/queue/readme.html    |  38 --
 examples/features/standard/queue/readme.md      |  11 +
 .../features/standard/reattach-node/pom.xml     |  20 +-
 .../features/standard/reattach-node/readme.html |  55 ---
 .../features/standard/reattach-node/readme.md   |  19 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/request-reply/pom.xml     |  19 +-
 .../features/standard/request-reply/readme.html | 180 ---------
 .../features/standard/request-reply/readme.md   |   9 +
 .../features/standard/rest/dup-send/README.txt  |  41 ---
 .../features/standard/rest/dup-send/pom.xml     | 119 +++---
 .../features/standard/rest/dup-send/readme.md   |  41 +++
 .../rest/dup-send/src/main/resources/broker.xml |   6 +-
 .../standard/rest/javascript-chat/README.txt    |  16 -
 .../standard/rest/javascript-chat/pom.xml       | 119 +++---
 .../standard/rest/javascript-chat/readme.md     |  15 +
 .../src/main/resources/broker.xml               |   6 +-
 .../standard/rest/jms-to-rest/README.txt        |  49 ---
 .../features/standard/rest/jms-to-rest/pom.xml  | 117 +++---
 .../standard/rest/jms-to-rest/readme.md         |  49 +++
 .../jms-to-rest/src/main/resources/broker.xml   |   6 +-
 examples/features/standard/rest/push/README.txt |  32 --
 examples/features/standard/rest/push/pom.xml    | 122 ++++---
 examples/features/standard/rest/push/readme.md  |  32 ++
 .../rest/push/src/main/resources/broker.xml     |   8 +-
 .../features/standard/scheduled-message/pom.xml |  20 +-
 .../standard/scheduled-message/readme.html      | 134 -------
 .../standard/scheduled-message/readme.md        |   9 +
 .../features/standard/security-ldap/pom.xml     |  20 +-
 .../features/standard/security-ldap/readme.html | 361 -------------------
 .../features/standard/security-ldap/readme.md   | 121 +++++++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/security/pom.xml     |  20 +-
 examples/features/standard/security/readme.html | 315 ----------------
 examples/features/standard/security/readme.md   |  68 ++++
 .../main/resources/activemq/server0/broker.xml  |   5 +-
 .../standard/send-acknowledgements/pom.xml      |  20 +-
 .../standard/send-acknowledgements/readme.html  | 140 -------
 .../standard/send-acknowledgements/readme.md    |   9 +
 .../example/SendAcknowledgementsExample.java    |   2 +-
 .../standard/spring-integration/pom.xml         |  20 +-
 .../standard/spring-integration/readme.html     |  36 --
 .../standard/spring-integration/readme.md       |   5 +
 .../src/main/resources/broker.xml               |   8 +-
 .../ssl-enabled-dual-authentication/pom.xml     |  20 +-
 .../ssl-enabled-dual-authentication/readme.html |  75 ----
 .../ssl-enabled-dual-authentication/readme.md   |  26 ++
 .../main/resources/activemq/server0/broker.xml  |  10 +-
 examples/features/standard/ssl-enabled/pom.xml  |  20 +-
 .../features/standard/ssl-enabled/readme.html   |  56 ---
 .../features/standard/ssl-enabled/readme.md     |  15 +
 .../activemq/server0/activemq.example.keystore  | Bin 1273 -> 2251 bytes
 .../server0/activemq.example.truststore         | Bin 866 -> 963 bytes
 .../main/resources/activemq/server0/broker.xml  |  11 +-
 .../features/standard/static-selector/pom.xml   |  20 +-
 .../standard/static-selector/readme.html        |  60 ---
 .../features/standard/static-selector/readme.md |  11 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/temp-queue/pom.xml   |  18 +-
 .../features/standard/temp-queue/readme.html    |  40 --
 examples/features/standard/temp-queue/readme.md |   7 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/topic-hierarchies/pom.xml |  20 +-
 .../standard/topic-hierarchies/readme.html      |  42 ---
 .../standard/topic-hierarchies/readme.md        |  11 +
 .../jms/example/TopicHierarchyExample.java      |   2 +-
 .../standard/topic-selector-example1/pom.xml    |  20 +-
 .../topic-selector-example1/readme.html         |  38 --
 .../standard/topic-selector-example1/readme.md  |   9 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../standard/topic-selector-example2/pom.xml    |  20 +-
 .../topic-selector-example2/readme.html         |  47 ---
 .../standard/topic-selector-example2/readme.md  |   9 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/topic/pom.xml        |  19 +-
 examples/features/standard/topic/readme.html    |  36 --
 examples/features/standard/topic/readme.md      |   9 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/transactional/pom.xml     |  20 +-
 .../features/standard/transactional/readme.html |  40 --
 .../features/standard/transactional/readme.md   |   9 +
 examples/features/standard/xa-heuristic/pom.xml |  20 +-
 .../features/standard/xa-heuristic/readme.html  |  48 ---
 .../features/standard/xa-heuristic/readme.md    |  11 +
 examples/features/standard/xa-receive/pom.xml   |  20 +-
 .../features/standard/xa-receive/readme.html    |  48 ---
 examples/features/standard/xa-receive/readme.md |   9 +
 examples/features/standard/xa-send/pom.xml      |  20 +-
 examples/features/standard/xa-send/readme.html  | 215 -----------
 examples/features/standard/xa-send/readme.md    |   9 +
 .../features/sub-modules/artemis-ra-rar/pom.xml |  20 +-
 .../artemis-jms-bridge/README.md                | 147 --------
 .../artemis-jms-bridge/pom.xml                  |  20 +-
 .../artemis-jms-bridge/readme.md                | 147 ++++++++
 examples/perf/jmeter/README.md                  |  45 ---
 examples/perf/jmeter/readme.md                  |  33 ++
 examples/pom.xml                                |  47 +++
 .../protocols/amqp/proton-clustered-cpp/pom.xml |  21 +-
 .../amqp/proton-clustered-cpp/readme.html       |  61 ----
 .../amqp/proton-clustered-cpp/readme.md         |  32 ++
 .../artemis/jms/example/ProtonCPPExample.java   |   2 +-
 .../main/resources/activemq/server0/broker.xml  |   5 +-
 .../main/resources/activemq/server1/broker.xml  |   5 +-
 examples/protocols/amqp/proton-cpp/pom.xml      |  20 +-
 examples/protocols/amqp/proton-cpp/readme.html  | 120 ------
 examples/protocols/amqp/proton-cpp/readme.md    |  80 ++++
 .../artemis/jms/example/ProtonCPPExample.java   |   2 +-
 examples/protocols/amqp/proton-ruby/pom.xml     |  20 +-
 examples/protocols/amqp/proton-ruby/readme.html |  51 ---
 examples/protocols/amqp/proton-ruby/readme.md   |  25 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/protocols/amqp/queue/pom.xml           |  20 +-
 examples/protocols/amqp/queue/readme.html       |  46 ---
 examples/protocols/amqp/queue/readme.md         |  17 +
 examples/protocols/mqtt/basic-pubsub/pom.xml    |  20 +-
 .../protocols/mqtt/basic-pubsub/readme.html     | 136 -------
 examples/protocols/mqtt/basic-pubsub/readme.md  |  69 ++++
 .../protocols/mqtt/clustered-queue-mqtt/pom.xml |  20 +-
 .../mqtt/clustered-queue-mqtt/readme.html       |  55 ---
 .../mqtt/clustered-queue-mqtt/readme.md         |  11 +
 .../jms/example/ClusteredQueueMQTTExample.java  |   3 +-
 .../main/resources/activemq/server0/broker.xml  |   3 +-
 .../main/resources/activemq/server1/broker.xml  |   3 +-
 examples/protocols/openwire/chat/pom.xml        |  21 ++
 examples/protocols/openwire/chat/readme.html    |  53 ---
 examples/protocols/openwire/chat/readme.md      |  33 ++
 .../protocols/openwire/message-listener/pom.xml |  20 +-
 .../openwire/message-listener/readme.html       |  35 --
 .../openwire/message-listener/readme.md         |   5 +
 .../protocols/openwire/message-recovery/pom.xml |  20 +-
 .../openwire/message-recovery/readme.html       |  35 --
 .../openwire/message-recovery/readme.md         |   5 +
 examples/protocols/openwire/queue/pom.xml       |  20 +-
 examples/protocols/openwire/queue/readme.html   |  39 --
 examples/protocols/openwire/queue/readme.md     |  13 +
 examples/protocols/stomp/pom.xml                |   2 +
 .../stomp/stomp-dual-authentication/pom.xml     |  24 +-
 .../stomp/stomp-dual-authentication/readme.html |  51 ---
 .../stomp/stomp-dual-authentication/readme.md   |  14 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../stomp/stomp-embedded-interceptor/pom.xml    |  20 +-
 .../stomp-embedded-interceptor/readme.html      |  37 --
 .../stomp/stomp-embedded-interceptor/readme.md  |   7 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/protocols/stomp/stomp-jms/pom.xml      |  20 +-
 examples/protocols/stomp/stomp-jms/readme.html  |  37 --
 examples/protocols/stomp/stomp-jms/readme.md    |   5 +
 .../protocols/stomp/stomp-websockets/pom.xml    |  20 +-
 .../stomp/stomp-websockets/readme.html          |  55 ---
 .../protocols/stomp/stomp-websockets/readme.md  |  17 +
 examples/protocols/stomp/stomp/pom.xml          |  22 +-
 examples/protocols/stomp/stomp/readme.html      |  38 --
 examples/protocols/stomp/stomp/readme.md        |   7 +
 examples/protocols/stomp/stomp1.1/pom.xml       |  22 +-
 examples/protocols/stomp/stomp1.1/readme.html   |  38 --
 examples/protocols/stomp/stomp1.1/readme.md     |   7 +
 examples/protocols/stomp/stomp1.2/pom.xml       |  22 +-
 examples/protocols/stomp/stomp1.2/readme.html   |  38 --
 examples/protocols/stomp/stomp1.2/readme.md     |   7 +
 pom.xml                                         |   1 +
 458 files changed, 5449 insertions(+), 11008 deletions(-)
----------------------------------------------------------------------



[08/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
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


[05/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/jms-to-rest/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/jms-to-rest/pom.xml b/examples/features/standard/rest/jms-to-rest/pom.xml
index be63429..403d021 100644
--- a/examples/features/standard/rest/jms-to-rest/pom.xml
+++ b/examples/features/standard/rest/jms-to-rest/pom.xml
@@ -33,6 +33,64 @@ under the License.
       <activemq.basedir>${project.basedir}/../../../../..</activemq.basedir>
    </properties>
 
+   <dependencies>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-core-client</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-server</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-jms-client</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-jms-server</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>io.netty</groupId>
+         <artifactId>netty-all</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.geronimo.specs</groupId>
+         <artifactId>geronimo-jms_2.0_spec</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq.rest</groupId>
+         <artifactId>artemis-rest</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.resteasy</groupId>
+         <artifactId>resteasy-jaxrs</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.resteasy</groupId>
+         <artifactId>resteasy-jaxb-provider</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
+
    <profiles>
       <profile>
          <id>example</id>
@@ -103,53 +161,16 @@ under the License.
             </plugins>
          </build>
       </profile>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
    </profiles>
-   <dependencies>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-core-client</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-server</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-jms-client</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-jms-server</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>io.netty</groupId>
-         <artifactId>netty-all</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.geronimo.specs</groupId>
-         <artifactId>geronimo-jms_2.0_spec</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq.rest</groupId>
-         <artifactId>artemis-rest</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.resteasy</groupId>
-         <artifactId>resteasy-jaxrs</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.resteasy</groupId>
-         <artifactId>resteasy-jaxb-provider</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>junit</groupId>
-         <artifactId>junit</artifactId>
-         <scope>test</scope>
-      </dependency>
-   </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/jms-to-rest/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/jms-to-rest/readme.md b/examples/features/standard/rest/jms-to-rest/readme.md
new file mode 100644
index 0000000..16a5169
--- /dev/null
+++ b/examples/features/standard/rest/jms-to-rest/readme.md
@@ -0,0 +1,49 @@
+# Mixed JMS and REST Producers/Consumers Example 
+
+This is an example of mixing JMS producers and consumers with REST producers and consumers.  The REST clients have been
+written in both Java using RESTEasy's client library and within the Python language.  You will need Python 2.6.1 or higher
+to be able to run the Python clients.
+
+To run the example you will need 5 shell-script windows (or you'll need to run 4 processes in background)
+
+Step 1:
+
+    mvn jetty:run
+
+This will bring up ActiveMQ Artemis and the ActiveMQ Artemis REST Interface.
+
+Step 2:
+
+    mvn exec:java -Dexec.mainClass="RestReceive"
+
+This will bring up a Java REST client that is continuously pulling the broker through a consume-next (see doco for details).
+
+Step 3:
+
+    mvn exec:java -Dexec.mainClass="JmsReceive"
+
+This will bring up a Java JMS consumer that is using the MessageListener interface to consume messages.  It will
+extract a Order instance from the JMS Message it receives.
+
+Step 4:
+
+    python receiveOrder.py
+
+This runs a very simple Python program to consume messages
+
+Step 5:
+Use one of these three commands to post messages to the system.  One of the receive clients will consume the message.
+
+    mvn exec:java -Dexec.mainClass="JmsSend"
+
+A JMS client will create an Order object and send it to the queue.  You'll see one of the 4 clients receive the message.
+Notice that the REST clients automatically cause the Order object to be transformed on the broker and passed as XML
+to the REST client.
+
+    mvn exec:java -Dexec.mainClass="RestSend"
+
+This is a REST client that uses the Acknowledgement protocol to receive a message from the queue.
+
+    python postOrder.py
+
+This is a Python client that posts one message to the queue RESTfully (of course ;) )

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/jms-to-rest/src/main/resources/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/jms-to-rest/src/main/resources/broker.xml b/examples/features/standard/rest/jms-to-rest/src/main/resources/broker.xml
index 1628bdb..2624b8b 100644
--- a/examples/features/standard/rest/jms-to-rest/src/main/resources/broker.xml
+++ b/examples/features/standard/rest/jms-to-rest/src/main/resources/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">
       <persistence-enabled>false</persistence-enabled>
       <security-enabled>false</security-enabled>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/push/README.txt
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/push/README.txt b/examples/features/standard/rest/push/README.txt
deleted file mode 100644
index c5c0f3a..0000000
--- a/examples/features/standard/rest/push/README.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-System Requirements:
-You will need JDK 1.8 and Maven to run this example.  This example has been tested with Maven 3.3.3.  It may or may not work
-with earlier or later versions of Maven.
-
-
-This is an example of having the ActiveMQ Artemis REST interface forward a posted message to a registered URL.
-
-To run the example you will need 3 shell-script windows (or you'll need to run 2 processes in background)
-
-Step 1:
-$ mvn jetty:run
-
-This will bring up ActiveMQ Artemis and the ActiveMQ Artemis REST Interface.  Two queues will be created.  An "order" queue and a "shipping"
-queue.  The server will forward posted messages to the "shipping" queue through a registered push subscription.
-
-Step 2:
-$ mvn exec:java -Dexec.mainClass="ReceiveShipping"
-
-This will bring up a JMS client registers a MessageListener consumer to receive Order objects.  It will automatically
-convert a posted HTTP message into an Order object using JAX-RS content handlers.
-
-Step 3:
-$ mvn exec:java -Dexec.mainClass="PushReg"
-
-This creates a push registration that listens on the "order" queue and forwards messages posted to it to a URL.  This
-URL is the REST resource of the "shipping" queue.
-
-Step 4:
-
-$ mvn exec:java -Dexec.mainClass="PostOrder"
-
-This posts an order to the "order" queue.  You'll see it eventually consumed by the ReceiveShipping process.

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/push/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/push/pom.xml b/examples/features/standard/rest/push/pom.xml
index 8bc3aba..8b20ce9 100644
--- a/examples/features/standard/rest/push/pom.xml
+++ b/examples/features/standard/rest/push/pom.xml
@@ -33,12 +33,63 @@ under the License.
       <activemq.basedir>${project.basedir}/../../../../..</activemq.basedir>
    </properties>
 
-   <repositories>
-      <repository>
-         <id>jboss</id>
-         <url>http://repository.jboss.org/nexus/content/groups/public/</url>
-      </repository>
-   </repositories>
+   <dependencies>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-core-client</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-server</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-jms-client</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-jms-server</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>io.netty</groupId>
+         <artifactId>netty-all</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.geronimo.specs</groupId>
+         <artifactId>geronimo-jms_2.0_spec</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq.rest</groupId>
+         <artifactId>artemis-rest</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.resteasy</groupId>
+         <artifactId>resteasy-jaxrs</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.resteasy</groupId>
+         <artifactId>resteasy-jaxb-provider</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
 
    <profiles>
       <profile>
@@ -110,53 +161,16 @@ under the License.
             </plugins>
          </build>
       </profile>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
    </profiles>
-   <dependencies>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-core-client</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-server</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-jms-client</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-jms-server</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>io.netty</groupId>
-         <artifactId>netty-all</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.geronimo.specs</groupId>
-         <artifactId>geronimo-jms_2.0_spec</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq.rest</groupId>
-         <artifactId>artemis-rest</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.resteasy</groupId>
-         <artifactId>resteasy-jaxrs</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.resteasy</groupId>
-         <artifactId>resteasy-jaxb-provider</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>junit</groupId>
-         <artifactId>junit</artifactId>
-         <scope>test</scope>
-      </dependency>
-   </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/push/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/push/readme.md b/examples/features/standard/rest/push/readme.md
new file mode 100644
index 0000000..99362fe
--- /dev/null
+++ b/examples/features/standard/rest/push/readme.md
@@ -0,0 +1,32 @@
+# Rest Push Subscriptions Example 
+
+This is an example of having the ActiveMQ Artemis REST interface forward a posted message to a registered URL.
+
+To run the example you will need 3 shell-script windows (or you'll need to run 2 processes in background)
+
+Step 1:
+
+    mvn jetty:run
+
+This will bring up ActiveMQ Artemis and the ActiveMQ Artemis REST Interface.  Two queues will be created.  An "order" queue and a "shipping"
+queue.  The broker will forward posted messages to the "shipping" queue through a registered push subscription.
+
+Step 2:
+
+    mvn exec:java -Dexec.mainClass="ReceiveShipping"
+
+This will bring up a JMS client registers a MessageListener consumer to receive Order objects.  It will automatically
+convert a posted HTTP message into an Order object using JAX-RS content handlers.
+
+Step 3:
+
+    mvn exec:java -Dexec.mainClass="PushReg"
+
+This creates a push registration that listens on the "order" queue and forwards messages posted to it to a URL.  This
+URL is the REST resource of the "shipping" queue.
+
+Step 4:
+
+    mvn exec:java -Dexec.mainClass="PostOrder"
+
+This posts an order to the "order" queue.  You'll see it eventually consumed by the ReceiveShipping process.

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/push/src/main/resources/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/push/src/main/resources/broker.xml b/examples/features/standard/rest/push/src/main/resources/broker.xml
index d58574e..aff50d7 100644
--- a/examples/features/standard/rest/push/src/main/resources/broker.xml
+++ b/examples/features/standard/rest/push/src/main/resources/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">
       <persistence-enabled>false</persistence-enabled>
       <security-enabled>false</security-enabled>
@@ -28,7 +26,7 @@ under the License.
          <acceptor name="in-vm">vm://0</acceptor>
          <acceptor name="netty-acceptor">tcp://localhost:61616</acceptor>
       </acceptors>
-   <addresses>
+      <addresses>
          <address name="shipping">
             <anycast>
                <queue name="shipping"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/scheduled-message/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/scheduled-message/pom.xml b/examples/features/standard/scheduled-message/pom.xml
index f953c86..96ddc1c 100644
--- a/examples/features/standard/scheduled-message/pom.xml
+++ b/examples/features/standard/scheduled-message/pom.xml
@@ -107,7 +107,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/scheduled-message/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/scheduled-message/readme.html b/examples/features/standard/scheduled-message/readme.html
deleted file mode 100644
index 9144f94..0000000
--- a/examples/features/standard/scheduled-message/readme.html
+++ /dev/null
@@ -1,134 +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 Scheduled 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>JMS Scheduled Message 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 scheduled message to a JMS Queue using ActiveMQ Artemis.</p>
-     <p>A Scheduled Message is a message that will be delivered at a time specified by the sender. To do this,
-     simply set a HDR_SCHEDULED_DELIVERY_TIME header property. The value of the property should be the time of
-     delivery in milliseconds. </p>
-
-     <p>In this example, a message is created with the scheduled delivery time set to 5 seconds after the current time.</p>
-
-
-     <h2>Example step-by-step</h2>
-     <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p>
-
-     <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 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 producer = session.createProducer(queue);</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 scheduled message message which will be delivered in 5 sec.");</code>
-        </pre>
-
-        <li>We schedule the delivery time to be 5 sec later.</li>
-        <pre class="prettyprint">
-           <code>
-            long time = System.currentTimeMillis();
-            time += 5000;
-            message.setLongProperty(MessageImpl.HDR_SCHEDULED_DELIVERY_TIME.toString(), time);
-           </code>
-        </pre>
-
-        <li>We send message to the queue</li>
-        <pre class="prettyprint">
-           <code>messageProducer.send(message);</code>
-        </pre>
-
-        <li>We create a JMS Message Consumer to receive the message.</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 use a blocking receive() to consume the message and see when the message arrives.</li>
-        <pre class="prettyprint">
-           <code>TextMessage messageReceived = (TextMessage) messageConsumer.receive();</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#scheduled-messages">Scheduled Messages chapter</a></li>
-     </ul>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/scheduled-message/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/scheduled-message/readme.md b/examples/features/standard/scheduled-message/readme.md
new file mode 100644
index 0000000..2841aae
--- /dev/null
+++ b/examples/features/standard/scheduled-message/readme.md
@@ -0,0 +1,9 @@
+# JMS Scheduled Message 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 scheduled message to a JMS Queue using ActiveMQ Artemis.
+
+A Scheduled Message is a message that will be delivered at a time specified by the sender. To do this, simply set a `org.apache.activemq.artemis.api.core.Message.HDR_SCHEDULED_DELIVERY_TIME` header property. The value of the property should be the time of delivery in milliseconds.
+
+In this example, a message is created with the scheduled delivery time set to 5 seconds after the current time.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/security-ldap/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/security-ldap/pom.xml b/examples/features/standard/security-ldap/pom.xml
index 4970bce..d283796 100644
--- a/examples/features/standard/security-ldap/pom.xml
+++ b/examples/features/standard/security-ldap/pom.xml
@@ -144,7 +144,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/security-ldap/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/security-ldap/readme.html b/examples/features/standard/security-ldap/readme.html
deleted file mode 100644
index 430b319..0000000
--- a/examples/features/standard/security-ldap/readme.html
+++ /dev/null
@@ -1,361 +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 Security 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 Security LDAP 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 configure and use security using ActiveMQ Artemis and the Apache DS LDAP server.</p>
-
-     <p>With security properly configured, ActiveMQ Artemis can restrict client access to its resources, including
-     connection creation, message sending/receiving, etc. This is done by configuring users and roles as well as permissions in
-     the configuration files. </p>
-
-     <p>ActiveMQ Artemis supports wild-card security configuration. This feature makes security configuration very
-     flexible and enables fine-grained control over permissions in an efficient way.</p>
-
-     <p>For a full description of how to configure security with ActiveMQ Artemis, please consult the user
-     manual.</p>
-
-     <p>This example demonstrates how to configure users/roles in the Apache DS LDAP server, how to configure topics with
-     proper permissions using wild-card expressions, and how they take effects in a simple program.</p>
-
-     <p>Users and roles are configured in Apache DS. The SecurityExample class will start an embedded version of Apache
-     DS and load the contents of example.ldif which contains the users and passwords for this example.</p>
-
-     <pre class="prettyprint">
-     <code>
-         dn: dc=activemq,dc=org
-         dc: activemq
-         objectClass: top
-         objectClass: domain
-
-         dn: uid=bill,dc=activemq,dc=org
-         uid: bill
-         userPassword: activemq
-         objectClass: account
-         objectClass: simpleSecurityObject
-         objectClass: top
-
-         dn: uid=andrew,dc=activemq,dc=org
-         uid: andrew
-         userPassword: activemq1
-         objectClass: account
-         objectClass: simpleSecurityObject
-         objectClass: top
-
-         dn: uid=frank,dc=activemq,dc=org
-         uid: frank
-         userPassword: activemq2
-         objectClass: account
-         objectClass: simpleSecurityObject
-         objectClass: top
-
-         dn: uid=sam,dc=activemq,dc=org
-         uid: sam
-         userPassword: activemq3
-         objectClass: account
-         objectClass: simpleSecurityObject
-         objectClass: top
-
-         ###################
-         ## Define roles ##
-         ###################
-
-         dn: cn=user,dc=activemq,dc=org
-         cn: user
-         member: uid=bill,dc=activemq,dc=org
-         member: uid=andrew,dc=activemq,dc=org
-         member: uid=frank,dc=activemq,dc=org
-         member: uid=sam,dc=activemq,dc=org
-         objectClass: groupOfNames
-         objectClass: top
-
-         dn: cn=europe-user,dc=activemq,dc=org
-         cn: europe-user
-         member: uid=andrew,dc=activemq,dc=org
-         objectClass: groupOfNames
-         objectClass: top
-
-         dn: cn=news-user,dc=activemq,dc=org
-         cn: news-user
-         member: uid=frank,dc=activemq,dc=org
-         member: uid=sam,dc=activemq,dc=org
-         objectClass: groupOfNames
-         objectClass: top
-
-         dn: cn=us-user,dc=activemq,dc=org
-         cn: us-user
-         member: uid=frank,dc=activemq,dc=org
-         objectClass: groupOfNames
-         objectClass: top
-     </code>
-     </pre>
-
-     <p>
-     User name and password consists of a valid account that can be used to establish connections to a ActiveMQ Artemis server, while
-     roles are used in controlling the access privileges against ActiveMQ Artemis topics and queues. You can achieve this control by
-     configuring proper permissions in <code>broker.xml</code>, like the following
-     </p>
-     <pre class="prettyprint"><code>
-      &lt;security-settings&gt;
-         &lt;!-- any user can have full control of generic topics --&gt;
-		   &lt;security-setting match=&quot;jms.topic.#&quot;&gt;
-		      &lt;permission type=&quot;createDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;createNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;send&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;consume&quot; roles=&quot;user&quot;/&gt;
-		   &lt;/security-setting&gt;
-
-		   &lt;security-setting match=&quot;jms.topic.news.europe.#&quot;&gt;
-		      &lt;permission type=&quot;createDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;createNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;send&quot; roles=&quot;europe-user&quot;/&gt;
-		      &lt;permission type=&quot;consume&quot; roles=&quot;news-user&quot;/&gt;
-		   &lt;/security-setting&gt;
-
-		   &lt;security-setting match=&quot;jms.topic.news.us.#&quot;&gt;
-		      &lt;permission type=&quot;createDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;createNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;send&quot; roles=&quot;us-user&quot;/&gt;
-		      &lt;permission type=&quot;consume&quot; roles=&quot;news-user&quot;/&gt;
-		   &lt;/security-setting&gt;
-     &lt;/security-settings&gt;
-     </code></pre>
-
-     <p>Permissions can be defined on any group of queues, by using a wildcard. You can easily specify
-     wildcards to apply certain permissions to a set of matching queues and topics. In the above configuration
-     we have created four sets of permissions, each set matches against a special group of targets, indicated by wild-card match attributes.</p>
-
-     <p>You can provide a very broad permission control as a default and then add more strict control
-     over specific addresses. By the above we define the following access rules:</p>
-
-         <li>Only role 'us-user' can create/delete and pulish messages to topics whose names match wild-card pattern 'news.us.#'.</li>
-         <li>Only role 'europe-user' can create/delete and publish messages to topics whose names match wild-card pattern 'news.europe.#'.</li>
-         <li>Only role 'news-user' can subscribe messages to topics whose names match wild-card pattern 'news.us.#' and 'news.europe.#'.</li>
-         <li>For any other topics that don't match any of the above wild-card patterns, permissions are granted to users of role 'user'.</li>
-
-     <p>To illustrate the effect of permissions, three topics are deployed. Topic 'genericTopic' matches 'jms.topic.#' wild-card, topic 'news.europe.europeTopic' matches
-     jms.topic.news.europe.#' wild-cards, and topic 'news.us.usTopic' matches 'jms.topic.news.us.#'.</p>
-
-     <h2>Example step-by-step</h2>
-     <p><i>To run the example, simply type <code>mvn verify</code> from this directory</i></p>
-
-     <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(0);
-           </code>
-        </pre>
-
-        <li>We perform lookup on the topics</li>
-        <pre class="prettyprint">
-           <code>
-           Topic genericTopic = (Topic) initialContext.lookup("/topic/genericTopic");
-           Topic europeTopic = (Topic) initialContext.lookup("/topic/europeTopic");
-           Topic usTopic = (Topic) initialContext.lookup("/topic/usTopic");
-           </code>
-        </pre>
-
-        <li>We perform a lookup on the Connection Factory</li>
-        <pre class="prettyprint">
-           <code>
-           ConnectionFactory cf = (ConnectionFactory) initialContext.lookup("/ConnectionFactory");
-           </code>
-        </pre>
-
-        <li>We try to create a JMS Connection without user/password. It will fail.</li>
-        <pre class="prettyprint">
-           <code>
-           try
-           {
-              cf.createConnection();
-              result = false;
-           }
-           catch (JMSSecurityException e)
-           {
-              System.out.println("Default user cannot get a connection. Details: " + e.getMessage());
-           }
-           </code>
-        </pre>
-
-        <li>Bill tries to make a connection using wrong password</li>
-        <pre class="prettyprint">
-           <code>
-           billConnection = null;
-           try
-           {
-              billConnection = createConnection("bill", "activemq1", cf);
-              result = false;
-           }
-           catch (JMSException e)
-           {
-              System.out.println("User bill failed to connect. Details: " + e.getMessage());
-           }
-           </code>
-        </pre>
-
-        <li>Bill makes a good connection.</li>
-        <pre class="prettyprint">
-          <code>
-           billConnection = createConnection("bill", "activemq", cf);
-           billConnection.start();
-          </code>
-       </pre>
-
-        <li>Andrew makes a good connection</li>
-         <pre class="prettyprint">
-           <code>
-           andrewConnection = createConnection("andrew", "activemq1", cf);
-           andrewConnection.start();
-           </code>
-         </pre>
-
-        <li>Frank makes a good connection</li>
-        <pre class="prettyprint">
-           <code>
-           frankConnection = createConnection("frank", "activemq2", cf);
-           frankConnection.start();
-           </code>
-        </pre>
-
-        <li>Sam makes a good connection</li>
-        <pre class="prettyprint">
-           <code>
-           samConnection = createConnection("sam", "activemq3", cf);
-           samConnection.start();
-           </code>
-        </pre>
-
-        <li>We check every user can publish/subscribe genericTopics</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserSendAndReceive(genericTopic, billConnection, "bill");
-           checkUserSendAndReceive(genericTopic, andrewConnection, "andrew");
-           checkUserSendAndReceive(genericTopic, frankConnection, "frank");
-           checkUserSendAndReceive(genericTopic, samConnection, "sam");
-           </code>
-        </pre>
-
-        <li>We check permissions on news.europe.europeTopic for bill: can't send and can't receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserNoSendNoReceive(europeTopic, billConnection, "bill", andrewConnection, frankConnection);
-           </code>
-        </pre>
-
-        <li>We check permissions on news.europe.europeTopic for andrew: can send but can't receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserSendNoReceive(europeTopic, andrewConnection, "andrew", frankConnection);
-           </code>
-        </pre>
-
-        <li>We check permissions on news.europe.europeTopic for frank: can't send but can receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserReceiveNoSend(europeTopic, frankConnection, "frank", andrewConnection);
-           </code>
-        </pre>
-
-        <li>We check permissions on news.europe.europeTopic for sam: can't send but can receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserReceiveNoSend(europeTopic, samConnection, "sam", andrewConnection);
-           </code>
-        </pre>
-
-        <li>We check permissions on news.us.usTopic for bill: can't send and can't receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserNoSendNoReceive(usTopic, billConnection, "bill");
-           </code>
-        </pre>
-
-        <li>We check permissions on news.us.usTopic for andrew: can't send and can't receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserNoSendNoReceive(usTopic, andrewConnection, "andrew");
-           </code>
-        </pre>
-
-        <li>We check permissions on news.us.usTopic for frank: can both send and receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserSendAndReceive(usTopic, frankConnection, "frank");
-           </code>
-        </pre>
-
-        <li>We check permissions on news.us.usTopic for sam: can't send but can receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserReceiveNoSend(usTopic, samConnection, "sam", frankConnection);
-           </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 (billConnection != null)
-              {
-                 billConnection.close();
-              }
-              if (andrewConnection != null)
-              {
-                 andrewConnection.close();
-              }
-              if (frankConnection != null)
-              {
-                 frankConnection.close();
-              }
-              if (samConnection != null)
-              {
-                 samConnection.close();
-              }
-
-              // Also the initialContext
-              if (initialContext != null)
-              {
-                 initialContext.close();
-              }
-           }
-           </code>
-        </pre>
-     </ol>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/security-ldap/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/security-ldap/readme.md b/examples/features/standard/security-ldap/readme.md
new file mode 100644
index 0000000..d966ec4
--- /dev/null
+++ b/examples/features/standard/security-ldap/readme.md
@@ -0,0 +1,121 @@
+# JMS Security LDAP 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 configure and use security using ActiveMQ Artemis and the Apache DS LDAP server.
+
+With security properly configured, ActiveMQ Artemis can restrict client access to its resources, including connection creation, message sending/receiving, etc. This is done by configuring users and roles as well as permissions in the configuration files.
+
+ActiveMQ Artemis supports wild-card security configuration. This feature makes security configuration very flexible and enables fine-grained control over permissions in an efficient way.
+
+For a full description of how to configure security with ActiveMQ Artemis, please consult the user manual.
+
+This example demonstrates how to configure users/roles in the Apache DS LDAP server, how to configure topics with proper permissions using wild-card expressions, and how they take effects in a simple program.
+
+Users and roles are configured in Apache DS. The SecurityExample class will start an embedded version of Apache DS and load the contents of example.ldif which contains the users and passwords for this example.
+
+         dn: dc=activemq,dc=org
+         dc: activemq
+         objectClass: top
+         objectClass: domain
+
+         dn: uid=bill,dc=activemq,dc=org
+         uid: bill
+         userPassword: activemq
+         objectClass: account
+         objectClass: simpleSecurityObject
+         objectClass: top
+
+         dn: uid=andrew,dc=activemq,dc=org
+         uid: andrew
+         userPassword: activemq1
+         objectClass: account
+         objectClass: simpleSecurityObject
+         objectClass: top
+
+         dn: uid=frank,dc=activemq,dc=org
+         uid: frank
+         userPassword: activemq2
+         objectClass: account
+         objectClass: simpleSecurityObject
+         objectClass: top
+
+         dn: uid=sam,dc=activemq,dc=org
+         uid: sam
+         userPassword: activemq3
+         objectClass: account
+         objectClass: simpleSecurityObject
+         objectClass: top
+
+         ###################
+         ## Define roles ##
+         ###################
+
+         dn: cn=user,dc=activemq,dc=org
+         cn: user
+         member: uid=bill,dc=activemq,dc=org
+         member: uid=andrew,dc=activemq,dc=org
+         member: uid=frank,dc=activemq,dc=org
+         member: uid=sam,dc=activemq,dc=org
+         objectClass: groupOfNames
+         objectClass: top
+
+         dn: cn=europe-user,dc=activemq,dc=org
+         cn: europe-user
+         member: uid=andrew,dc=activemq,dc=org
+         objectClass: groupOfNames
+         objectClass: top
+
+         dn: cn=news-user,dc=activemq,dc=org
+         cn: news-user
+         member: uid=frank,dc=activemq,dc=org
+         member: uid=sam,dc=activemq,dc=org
+         objectClass: groupOfNames
+         objectClass: top
+
+         dn: cn=us-user,dc=activemq,dc=org
+         cn: us-user
+         member: uid=frank,dc=activemq,dc=org
+         objectClass: groupOfNames
+         objectClass: top`
+
+User name and password consists of a valid account that can be used to establish connections to a ActiveMQ Artemis server, while roles are used in controlling the access privileges against ActiveMQ Artemis topics and queues. You can achieve this control by configuring proper permissions in `broker.xml`, like the following
+
+<security-settings>
+    <!-- any user can have full control of generic topics -->
+    <security-setting match="#">
+        <permission type="createDurableQueue" roles="user"/>
+        <permission type="deleteDurableQueue" roles="user"/>
+        <permission type="createNonDurableQueue" roles="user"/>
+        <permission type="deleteNonDurableQueue" roles="user"/>
+        <permission type="send" roles="user"/>
+        <permission type="consume" roles="user"/>
+    </security-setting>
+    <security-setting match="news.europe.#">
+        <permission type="createDurableQueue" roles="user"/>
+        <permission type="deleteDurableQueue" roles="user"/>
+        <permission type="createNonDurableQueue" roles="user"/>
+        <permission type="deleteNonDurableQueue" roles="user"/>
+        <permission type="send" roles="europe-user"/>
+        <permission type="consume" roles="news-user"/>
+    </security-setting>
+    <security-setting match="news.us.#">
+        <permission type="createDurableQueue" roles="user"/>
+        <permission type="deleteDurableQueue" roles="user"/>
+        <permission type="createNonDurableQueue" roles="user"/>
+        <permission type="deleteNonDurableQueue" roles="user"/>
+        <permission type="send" roles="us-user"/>
+        <permission type="consume" roles="news-user"/>
+    </security-setting>
+</security-settings>
+
+Permissions can be defined on any group of queues, by using a wildcard. You can easily specify wildcards to apply certain permissions to a set of matching queues and topics. In the above configuration we have created four sets of permissions, each set matches against a special group of targets, indicated by wild-card match attributes.
+
+You can provide a very broad permission control as a default and then add more strict control over specific addresses. By the above we define the following access rules:
+
+*   Only role `us-user` can create/delete and pulish messages to topics whose names match wild-card pattern `news.us.#`.
+*   Only role `europe-user` can create/delete and publish messages to topics whose names match wild-card pattern `news.europe.#`.
+*   Only role `news-user` can subscribe messages to topics whose names match wild-card pattern `news.us.#` and `news.europe.#`.
+*   For any other topics that don't match any of the above wild-card patterns, permissions are granted to users of role `user`.
+
+To illustrate the effect of permissions, three topics are deployed. Topic `genericTopic` matches `#` wild-card, topic `news.europe.europeTopic` matches `news.europe.#` wild-cards, and topic `news.us.usTopic` matches `news.us.#`.

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/security-ldap/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/security-ldap/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/security-ldap/src/main/resources/activemq/server0/broker.xml
index 6f230a9..c9587ec 100644
--- a/examples/features/standard/security-ldap/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/security-ldap/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>
@@ -70,7 +68,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="genericTopic">
             <multicast/>
          </address>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/security/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/security/pom.xml b/examples/features/standard/security/pom.xml
index cd8af45..56074af 100644
--- a/examples/features/standard/security/pom.xml
+++ b/examples/features/standard/security/pom.xml
@@ -105,7 +105,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/security/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/security/readme.html b/examples/features/standard/security/readme.html
deleted file mode 100644
index 749ed79..0000000
--- a/examples/features/standard/security/readme.html
+++ /dev/null
@@ -1,315 +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 Security 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 Security 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 configure and use security using ActiveMQ Artemis.</p>
-
-     <p>With security properly configured, ActiveMQ Artemis can restrict client access to its resources, including
-     connection creation, message sending/receiving, etc. This is done by configuring users and roles as well as permissions in
-     the configuration files. </p>
-
-     <p>ActiveMQ Artemis supports wild-card security configuration. This feature makes security configuration very
-     flexible and enables fine-grained control over permissions in an efficient way.</p>
-
-     <p>For a full description of how to configure security with ActiveMQ Artemis, please consult the user
-     manual.</p>
-
-     <p>This example demonstrates how to configure users/roles, how to configure topics with proper permissions using wild-card
-     expressions, and how they take effects in a simple program. </p>
-
-     <p>First we need to configure users with roles. For this example, users and roles are configured in <code>artemis-users.properties</code>
-     and <code>artemis-roles.properties</code>. The <code>artemis-users.properties</code> file follows the syntax of
-     &lt;user>=&lt;password>. This example has four users configured as below </p>
-
-     <pre class="prettyprint">
-     <code>
-         bill=activemq
-         andrew=activemq1
-         frank=activemq2
-         sam=activemq3
-     </code>
-     </pre>
-
-     <p>The <code>artemis-roles.properties</code> file follows the syntax of &lt;role>=&lt;users> where &lt;users> can be
-     a comma-separated list of users from <code>artemis-users.properties</code> (since more than one user can belong in a
-     particular role). This example has four roles configured as below </p>
-
-     <pre class="prettyprint">
-     <code>
-         user=bill,andrew,frank,sam
-         europe-user=andrew
-         news-user=frank,sam
-         us-user=frank
-     </code>
-     </pre>
-
-     <p>
-     User name and password consists of a valid account that can be used to establish connections to a ActiveMQ Artemis server, while
-     roles are used in controlling the access privileges against ActiveMQ Artemis topics and queues. You can achieve this control by
-     configuring proper permissions in <code>broker.xml</code>, like the following
-     </p>
-     <pre class="prettyprint"><code>
-      &lt;security-settings&gt;
-         &lt;!-- any user can have full control of generic topics --&gt;
-		   &lt;security-setting match=&quot;jms.topic.#&quot;&gt;
-		      &lt;permission type=&quot;createDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;createNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;send&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;consume&quot; roles=&quot;user&quot;/&gt;
-		   &lt;/security-setting&gt;
-
-		   &lt;security-setting match=&quot;jms.topic.news.europe.#&quot;&gt;
-		      &lt;permission type=&quot;createDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;createNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;send&quot; roles=&quot;europe-user&quot;/&gt;
-		      &lt;permission type=&quot;consume&quot; roles=&quot;news-user&quot;/&gt;
-		   &lt;/security-setting&gt;
-
-		   &lt;security-setting match=&quot;jms.topic.news.us.#&quot;&gt;
-		      &lt;permission type=&quot;createDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;createNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;deleteNonDurableQueue&quot; roles=&quot;user&quot;/&gt;
-		      &lt;permission type=&quot;send&quot; roles=&quot;us-user&quot;/&gt;
-		      &lt;permission type=&quot;consume&quot; roles=&quot;news-user&quot;/&gt;
-		   &lt;/security-setting&gt;
-     &lt;/security-settings&gt;
-     </code></pre>
-
-     <p>Permissions can be defined on any group of queues, by using a wildcard. You can easily specify
-     wildcards to apply certain permissions to a set of matching queues and topics. In the above configuration
-     we have created four sets of permissions, each set matches against a special group of targets, indicated by wild-card match attributes.</p>
-
-     <p>You can provide a very broad permission control as a default and then add more strict control
-     over specific addresses. By the above we define the following access rules:</p>
-
-         <li>Only role 'us-user' can create/delete and pulish messages to topics whose names match wild-card pattern 'news.us.#'.</li>
-         <li>Only role 'europe-user' can create/delete and publish messages to topics whose names match wild-card pattern 'news.europe.#'.</li>
-         <li>Only role 'news-user' can subscribe messages to topics whose names match wild-card pattern 'news.us.#' and 'news.europe.#'.</li>
-         <li>For any other topics that don't match any of the above wild-card patterns, permissions are granted to users of role 'user'.</li>
-
-     <p>To illustrate the effect of permissions, three topics are deployed. Topic 'genericTopic' matches 'jms.topic.#' wild-card, topic 'news.europe.europeTopic' matches
-     jms.topic.news.europe.#' wild-cards, and topic 'news.us.usTopic' matches 'jms.topic.news.us.#'.</p>
-
-     <h2>Example step-by-step</h2>
-     <p><i>To run the example, simply type <code>mvn verify</code> from this directory</i></p>
-
-     <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(0);
-           </code>
-        </pre>
-
-        <li>We perform lookup on the topics</li>
-        <pre class="prettyprint">
-           <code>
-           Topic genericTopic = (Topic) initialContext.lookup("/topic/genericTopic");
-           Topic europeTopic = (Topic) initialContext.lookup("/topic/europeTopic");
-           Topic usTopic = (Topic) initialContext.lookup("/topic/usTopic");
-           </code>
-        </pre>
-
-        <li>We perform a lookup on the Connection Factory</li>
-        <pre class="prettyprint">
-           <code>
-           ConnectionFactory cf = (ConnectionFactory) initialContext.lookup("/ConnectionFactory");
-           </code>
-        </pre>
-
-        <li>We try to create a JMS Connection without user/password. It will fail.</li>
-        <pre class="prettyprint">
-           <code>
-           try
-           {
-              cf.createConnection();
-              result = false;
-           }
-           catch (JMSSecurityException e)
-           {
-              System.out.println("Default user cannot get a connection. Details: " + e.getMessage());
-           }
-           </code>
-        </pre>
-
-        <li>Bill tries to make a connection using wrong password</li>
-        <pre class="prettyprint">
-           <code>
-           billConnection = null;
-           try
-           {
-              billConnection = createConnection("bill", "activemq1", cf);
-              result = false;
-           }
-           catch (JMSException e)
-           {
-              System.out.println("User bill failed to connect. Details: " + e.getMessage());
-           }
-           </code>
-        </pre>
-
-        <li>Bill makes a good connection.</li>
-        <pre class="prettyprint">
-          <code>
-           billConnection = createConnection("bill", "activemq", cf);
-           billConnection.start();
-          </code>
-       </pre>
-
-        <li>Andrew makes a good connection</li>
-         <pre class="prettyprint">
-           <code>
-           andrewConnection = createConnection("andrew", "activemq1", cf);
-           andrewConnection.start();
-           </code>
-         </pre>
-
-        <li>Frank makes a good connection</li>
-        <pre class="prettyprint">
-           <code>
-           frankConnection = createConnection("frank", "activemq2", cf);
-           frankConnection.start();
-           </code>
-        </pre>
-
-        <li>Sam makes a good connection</li>
-        <pre class="prettyprint">
-           <code>
-           samConnection = createConnection("sam", "activemq3", cf);
-           samConnection.start();
-           </code>
-        </pre>
-
-        <li>We check every user can publish/subscribe genericTopics</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserSendAndReceive(genericTopic, billConnection, "bill");
-           checkUserSendAndReceive(genericTopic, andrewConnection, "andrew");
-           checkUserSendAndReceive(genericTopic, frankConnection, "frank");
-           checkUserSendAndReceive(genericTopic, samConnection, "sam");
-           </code>
-        </pre>
-
-        <li>We check permissions on news.europe.europeTopic for bill: can't send and can't receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserNoSendNoReceive(europeTopic, billConnection, "bill", andrewConnection, frankConnection);
-           </code>
-        </pre>
-
-        <li>We check permissions on news.europe.europeTopic for andrew: can send but can't receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserSendNoReceive(europeTopic, andrewConnection, "andrew", frankConnection);
-           </code>
-        </pre>
-
-        <li>We check permissions on news.europe.europeTopic for frank: can't send but can receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserReceiveNoSend(europeTopic, frankConnection, "frank", andrewConnection);
-           </code>
-        </pre>
-
-        <li>We check permissions on news.europe.europeTopic for sam: can't send but can receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserReceiveNoSend(europeTopic, samConnection, "sam", andrewConnection);
-           </code>
-        </pre>
-
-        <li>We check permissions on news.us.usTopic for bill: can't send and can't receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserNoSendNoReceive(usTopic, billConnection, "bill");
-           </code>
-        </pre>
-
-        <li>We check permissions on news.us.usTopic for andrew: can't send and can't receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserNoSendNoReceive(usTopic, andrewConnection, "andrew");
-           </code>
-        </pre>
-
-        <li>We check permissions on news.us.usTopic for frank: can both send and receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserSendAndReceive(usTopic, frankConnection, "frank");
-           </code>
-        </pre>
-
-        <li>We check permissions on news.us.usTopic for sam: can't send but can receive</li>
-        <pre class="prettyprint">
-           <code>
-           checkUserReceiveNoSend(usTopic, samConnection, "sam", frankConnection);
-           </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 (billConnection != null)
-              {
-                 billConnection.close();
-              }
-              if (andrewConnection != null)
-              {
-                 andrewConnection.close();
-              }
-              if (frankConnection != null)
-              {
-                 frankConnection.close();
-              }
-              if (samConnection != null)
-              {
-                 samConnection.close();
-              }
-
-              // Also the initialContext
-              if (initialContext != null)
-              {
-                 initialContext.close();
-              }
-           }
-           </code>
-        </pre>
-     </ol>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/security/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/security/readme.md b/examples/features/standard/security/readme.md
new file mode 100644
index 0000000..f78df6a
--- /dev/null
+++ b/examples/features/standard/security/readme.md
@@ -0,0 +1,68 @@
+# JMS Security 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 configure and use security using ActiveMQ Artemis.
+
+With security properly configured, ActiveMQ Artemis can restrict client access to its resources, including connection creation, message sending/receiving, etc. This is done by configuring users and roles as well as permissions in the configuration files.
+
+ActiveMQ Artemis supports wild-card security configuration. This feature makes security configuration very flexible and enables fine-grained control over permissions in an efficient way.
+
+For a full description of how to configure security with ActiveMQ Artemis, please consult the user manual.
+
+This example demonstrates how to configure users/roles, how to configure topics with proper permissions using wild-card expressions, and how they take effects in a simple program.
+
+First we need to configure users with roles. For this example, users and roles are configured in `artemis-users.properties` and `artemis-roles.properties`. The `artemis-users.properties` file follows the syntax of <user>=<password>. This example has four users configured as below
+
+    bill=activemq
+    andrew=activemq1
+    frank=activemq2
+    sam=activemq3
+
+The `artemis-roles.properties` file follows the syntax of <role>=<users> where <users> can be a comma-separated list of users from `artemis-users.properties` (since more than one user can belong in a particular role). This example has four roles configured as below
+
+    user=bill,andrew,frank,sam
+    europe-user=andrew
+    news-user=frank,sam
+    us-user=frank
+
+User name and password consists of a valid account that can be used to establish connections to a ActiveMQ Artemis server, while roles are used in controlling the access privileges against ActiveMQ Artemis topics and queues. You can achieve this control by configuring proper permissions in `broker.xml`, like the following
+
+    <security-settings>
+       <!-- any user can have full control of generic topics -->
+       <security-setting match="#">
+          <permission type="createDurableQueue" roles="user"/>
+          <permission type="deleteDurableQueue" roles="user"/>
+          <permission type="createNonDurableQueue" roles="user"/>
+          <permission type="deleteNonDurableQueue" roles="user"/>
+          <permission type="send" roles="user"/>
+          <permission type="consume" roles="user"/>
+       </security-setting>
+       <security-setting match="news.europe.#">
+          <permission type="createDurableQueue" roles="user"/>
+          <permission type="deleteDurableQueue" roles="user"/>
+          <permission type="createNonDurableQueue" roles="user"/>
+          <permission type="deleteNonDurableQueue" roles="user"/>
+          <permission type="send" roles="europe-user"/>
+          <permission type="consume" roles="news-user"/>
+       </security-setting>
+       <security-setting match="news.us.#">
+          <permission type="createDurableQueue" roles="user"/>
+          <permission type="deleteDurableQueue" roles="user"/>
+          <permission type="createNonDurableQueue" roles="user"/>
+          <permission type="deleteNonDurableQueue" roles="user"/>
+          <permission type="send" roles="us-user"/>
+          <permission type="consume" roles="news-user"/>
+       </security-setting>
+    </security-settings>
+
+Permissions can be defined on any group of queues, by using a wildcard. You can easily specify wildcards to apply certain permissions to a set of matching queues and topics. In the above configuration we have created four sets of permissions, each set matches against a special group of targets, indicated by wild-card match attributes.
+
+You can provide a very broad permission control as a default and then add more strict control over specific addresses. By the above we define the following access rules:
+
+*   Only role `us-user` can create/delete and pulish messages to topics whose names match wild-card pattern `news.us.#`.
+*   Only role `europe-user` can create/delete and publish messages to topics whose names match wild-card pattern `news.europe.#`.
+*   Only role `news-user` can subscribe messages to topics whose names match wild-card pattern `news.us.#` and `news.europe.#`.
+*   For any other topics that don't match any of the above wild-card patterns, permissions are granted to users of role `user`.
+
+To illustrate the effect of permissions, three topics are deployed. Topic `genericTopic` matches `#` wild-card, topic `news.europe.europeTopic` matches `news.europe.#` wild-cards, and topic `news.us.usTopic` matches `news.us.#`.

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/security/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/security/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/security/src/main/resources/activemq/server0/broker.xml
index 8e27293..6c2c505 100644
--- a/examples/features/standard/security/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/security/src/main/resources/activemq/server0/broker.xml
@@ -17,8 +17,7 @@ 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>
@@ -66,7 +65,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="genericTopic">
             <multicast/>
          </address>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/send-acknowledgements/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/send-acknowledgements/pom.xml b/examples/features/standard/send-acknowledgements/pom.xml
index 05a8ae5..12b52ab 100644
--- a/examples/features/standard/send-acknowledgements/pom.xml
+++ b/examples/features/standard/send-acknowledgements/pom.xml
@@ -97,7 +97,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/send-acknowledgements/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/send-acknowledgements/readme.html b/examples/features/standard/send-acknowledgements/readme.html
deleted file mode 100644
index fcc37fc..0000000
--- a/examples/features/standard/send-acknowledgements/readme.html
+++ /dev/null
@@ -1,140 +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 Asynchronous Send Acknowledgements 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>Asynchronous Send Acknowledgements 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>Asynchronous Send Acknowledgements are an advanced feature of ActiveMQ Artemis which allow you to
-     receive acknowledgements that messages were successfully received at the server in a separate thread to the sending thread<p/>
-     <p>In this example we create a normal JMS session, then set a SendAcknowledgementHandler on the JMS
-     session's underlying core session. We send many messages to the server without blocking and asynchronously
-     receive send acknowledgements via the SendAcknowledgementHandler.
-
-     <p>For more information on Asynchronous Send Acknowledgements please see the user manual</p>
-     <h2>Example step-by-step</h2>
-     <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p>
-
-     <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 connection</li>
-        <pre class="prettyprint">
-           <code>connection = cf.createConnection();</code>
-        </pre>
-
-        <li>Define a SendAcknowledgementHandler which will receive asynchronous acknowledgements</li>
-        <pre class="prettyprint">
-           <code>
-         class MySendAcknowledgementsHandler implements SendAcknowledgementHandler
-         {
-            int count = 0;
-
-            public void sendAcknowledged(final Message message)
-            {
-               System.out.println("Received send acknowledgement for message " + count++);
-            }
-         }
-           </code>
-        </pre>
-
-        <li>Create a JMS session</li>
-        <pre class="prettyprint">
-          <code>Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);</code>
-       </pre>
-
-        <li>Set the handler on the underlying core session</li>
-        <pre class="prettyprint">
-           <code>
-         ClientSession coreSession = ((ActiveMQSession)session).getCoreSession();
-
-         coreSession.setSendAcknowledgementHandler(new MySendAcknowledgementsHandler());
-
-           </code>
-        </pre>
-
-        <li>Create a JMS Message Producer</li>
-        <pre class="prettyprint">
-           <code>
-         MessageProducer producer = session.createProducer(queue);
-
-         producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-           </code>
-        </pre>
-
-        <li>Send 5000 messages, the handler will get called asynchronously some time later after the messages are sent.</li>
-          <pre class="prettyprint">
-           <code>
-         final int numMessages = 5000;
-
-         for (int i = 0; i < numMessages; i++)
-         {
-            javax.jms.Message jmsMessage = session.createMessage();
-
-            producer.send(jmsMessage);
-
-            System.out.println("Sent message " + i);
-         }
-           </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>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/send-acknowledgements/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/send-acknowledgements/readme.md b/examples/features/standard/send-acknowledgements/readme.md
new file mode 100644
index 0000000..e9dc702
--- /dev/null
+++ b/examples/features/standard/send-acknowledgements/readme.md
@@ -0,0 +1,9 @@
+# Asynchronous Send Acknowledgements 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.
+
+Asynchronous Send Acknowledgements are an advanced feature of ActiveMQ Artemis which allow you to receive acknowledgements that messages were successfully received at the broker in a separate thread to the sending thread
+
+In this example we create a normal JMS session, then set a SendAcknowledgementHandler on the JMS session's underlying core session. We send many messages to the broker without blocking and asynchronously receive send acknowledgements via the SendAcknowledgementHandler.
+
+For more information on Asynchronous Send Acknowledgements please see the user manual
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/send-acknowledgements/src/main/java/org/apache/activemq/artemis/jms/example/SendAcknowledgementsExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/send-acknowledgements/src/main/java/org/apache/activemq/artemis/jms/example/SendAcknowledgementsExample.java b/examples/features/standard/send-acknowledgements/src/main/java/org/apache/activemq/artemis/jms/example/SendAcknowledgementsExample.java
index a3097d2..e816ddc 100644
--- a/examples/features/standard/send-acknowledgements/src/main/java/org/apache/activemq/artemis/jms/example/SendAcknowledgementsExample.java
+++ b/examples/features/standard/send-acknowledgements/src/main/java/org/apache/activemq/artemis/jms/example/SendAcknowledgementsExample.java
@@ -33,7 +33,7 @@ import org.apache.activemq.artemis.jms.client.ActiveMQSession;
  * Asynchronous Send Acknowledgements are an advanced feature of ActiveMQ Artemis which allow you to
  * receive acknowledgements that messages were successfully received at the server in a separate stream
  * to the stream of messages being sent to the server.
- * For more information please see the readme.html file
+ * For more information please see the readme file
  */
 public class SendAcknowledgementsExample {
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/spring-integration/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/spring-integration/pom.xml b/examples/features/standard/spring-integration/pom.xml
index 6373b2b..ed1b997 100644
--- a/examples/features/standard/spring-integration/pom.xml
+++ b/examples/features/standard/spring-integration/pom.xml
@@ -79,7 +79,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/spring-integration/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/spring-integration/readme.html b/examples/features/standard/spring-integration/readme.html
deleted file mode 100644
index a3855d0..0000000
--- a/examples/features/standard/spring-integration/readme.html
+++ /dev/null
@@ -1,36 +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 Spring 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>ActiveMQ Artemis Spring Example</h1>
-
-      <p>This examples shows how to setup and run an embedded JMS server within a Spring ApplicationContext using ActiveMQ Artemis along with ActiveMQ Artemis configuration files.</p>
-
-      <h2>Example step-by-step</h2>
-      <p><i><b>YOU MUST DOWNLOAD THE SPRING LIBRARIES TO RUN THIS EXAMPLE!!!</b>  You must also modify the build.xml file to include the spring jars.  You'll see the placeholder that is already there.</i></p>
-      <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p>
-   </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/spring-integration/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/spring-integration/readme.md b/examples/features/standard/spring-integration/readme.md
new file mode 100644
index 0000000..41c2c9e
--- /dev/null
+++ b/examples/features/standard/spring-integration/readme.md
@@ -0,0 +1,5 @@
+# ActiveMQ Artemis Spring Example
+
+To run the example, simply type **mvn verify -Pexample** from this directory
+
+This examples shows how to setup and run an embedded broker within a Spring ApplicationContext using ActiveMQ Artemis along with ActiveMQ Artemis configuration files.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/spring-integration/src/main/resources/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/spring-integration/src/main/resources/broker.xml b/examples/features/standard/spring-integration/src/main/resources/broker.xml
index 8ad3a41..9d703b3 100644
--- a/examples/features/standard/spring-integration/src/main/resources/broker.xml
+++ b/examples/features/standard/spring-integration/src/main/resources/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">
 
       <persistence-enabled>false</persistence-enabled>
@@ -42,7 +40,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <anycast>
                <queue name="jms.queue.exampleQueue"/>


[10/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/divert/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/divert/readme.html b/examples/features/standard/divert/readme.html
deleted file mode 100644
index 63fb710..0000000
--- a/examples/features/standard/divert/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 Divert 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>Divert 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>ActiveMQ Artemis diverts allow messages to be transparently "diverted" from one address to another
-     with just some simple configuration defined on the server side.</p>
-     <p>Diverts can be defined to be <b>exclusive</b> or <b>non-exclusive</b>.</p>
-     <p>With an <b>exclusive</b> divert the message is intercepted and does not get sent to the queues originally
-     bound to that address - it only gets diverted.</p>
-     <p>With a <b>non-exclusive</b> divert the message continues to go to the queues bound to the address,
-     but also a <b>copy</b> of the message gets sent to the address specified in the divert. Consequently non-exclusive
-     diverts can be used to "snoop" on another address</p>
-     <p>Diverts can also be configured to have an optional filter. If specified then only matching messages
-     will be diverted.</p>
-     <p>Diverts can be configured to apply a Transformer. If specified, all diverted messages will have the
-     opportunity of being transformed by the Transformer.</p>
-     <p>Diverts are a very sophisticated concept, which when combined with bridges can be used to create
-     interesting and complex routings. The set of diverts can be thought of as a type of <i>routing table</i>
-     for messages.</p>
-
-     <h2>Example step-by-step</h2>
-     <p>In this example we will imagine a fictitious company which has two offices; one in London and another in New York.</p>
-     <p>The company accepts orders for it's products only at it's London office, and also generates price-updates
-     for it's products, also only from it's London office. However only the New York office is interested in receiving
-     price updates for New York products. Any prices for New York products need to be forwarded to the New York office.</p>
-     <p>There is an unreliable WAN linking the London and New York offices.</p>
-     <p>The company also requires a copy of any order received to be available to be inspected by management.</p>
-     <p>In order to achieve this, we will create a queue <code>orderQueue</code> on the London server in to which orders arrive.</p>
-     <p>We will create a topic, <code>spyTopic</code> on the London server, and there will be two subscribers both in London.</p>
-     <p>We will create a <i>non-exclusive</i> divert on the London server which will siphon off a copy of each order
-     received to the topic <code>spyTopic</code>.</p>
-     <p>Here's the xml config for that divert, from <code>broker.xml</code></p>
-     <pre class="prettyprint">
-        <code>
-     &lt;divert name="order-divert"&gt;
-         &lt;address&gt;jms.queue.orders&lt;/address&gt;
-         &lt;forwarding-address&gt;jms.topic.spyTopic&lt;/forwarding-address&gt;
-         &lt;exclusive&gt;false&lt;/exclusive&gt;
-      &lt;/divert&gt;
-         </code>
-     </pre>
-     <p>For the prices we will create a topic on the London server, <code>priceUpdates</code> to which all price updates
-     are sent. We will create another topic on the New York server <code>newYorkPriceUpdates</code> to which all New York
-     price updates need to be forwarded.</p>
-     <p>Diverts can only be used to divert messages from one <b>local</b> address to another <b>local</b> address
-     so we cannot divert directly to an address on another server.</p>
-     <p>Instead we divert to a local <i>store and forward queue</i> they we define in the configuration. This is just a normal queue
-     that we use for storing messages before forwarding to another node.</p>
-     <p>Here's the configuration for it:</p>
-     <pre class="prettyprint">
-        <code>
-     &lt;queues&gt;
-        &lt;queue name="jms.queue.priceForwarding"&gt;
-           &lt;address&gt;jms.queue.priceForwarding&lt;/address&gt;
-        &lt;/queue&gt;
-     &lt;/queues&gt;
-         </code>
-      </pre>
-     <p>Here's the configuration for the divert:</p>
-     <pre class="prettyprint">
-        <code>
-     &lt;divert name="prices-divert"&gt;
-	     &lt;address&gt;jms.topic.priceUpdates&lt;/address&gt;
-	     &lt;forwarding-address&gt;jms.queue.priceForwarding&lt;/forwarding-address&gt;
-	     &lt;filter string="office='New York'"/&gt;
-	     &lt;transformer-class-name&gt;org.apache.activemq.artemis.jms.example.AddForwardingTimeTransformer&lt;/transformer-class-name&gt;
-	     &lt;exclusive&gt;true&lt;/exclusive&gt;
-	  &lt;/divert&gt;
-	     </code>
-	  </pre>
-	  <p>Note we specify a filter in the divert, so only New York prices get diverted. We also specify a Transformer class
-	  since we are going to insert a header in the message at divert time, recording the time the diversion happened.</p>
-	  <p>And finally we define a bridge that moves messages from the local queue to the address on the New York server.
-	  Bridges move messages from queues to remote addresses and are ideal to use when the target server may be stopped and
-	  started independently, and/or the network might be unreliable. Bridges guarantee once and only once delivery
-	  of messages from their source queues to their target addresses.</p>
-	  <p>Here is the bridge configuration: </p>
-	  <pre class="prettyprint">
-	     <code>
-	  &lt;bridges&gt;
-	     &lt;bridge name="price-forward-bridge"&gt;
-	        &lt;queue-name&gt;jms.queue.priceForwarding&lt;/queue-name&gt;
-	        &lt;forwarding-address&gt;jms.topic.newYorkPriceUpdates&lt;/forwarding-address&gt;
-	        &lt;reconnect-attempts&gt;-1&lt;/reconnect-attempts&gt;
-          &lt;static-connectors>
-             &lt;connector-ref>newyork-connector&lt;/connector-ref>
-          &lt;/static-connectors>
-	     &lt;/bridge&gt;
-      &lt;/bridges&gt;
-         </code>
-     </pre>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/divert/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/divert/readme.md b/examples/features/standard/divert/readme.md
new file mode 100644
index 0000000..8651024
--- /dev/null
+++ b/examples/features/standard/divert/readme.md
@@ -0,0 +1,82 @@
+# Divert 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.
+
+ActiveMQ Artemis diverts allow messages to be transparently "diverted" from one address to another with just some simple configuration defined on the broker side.
+
+Diverts can be defined to be **exclusive** or **non-exclusive**.
+
+With an **exclusive** divert the message is intercepted and does not get sent to the queues originally bound to that address - it only gets diverted.
+
+With a **non-exclusive** divert the message continues to go to the queues bound to the address, but also a **copy** of the message gets sent to the address specified in the divert. Consequently non-exclusive diverts can be used to "snoop" on another address
+
+Diverts can also be configured to have an optional filter. If specified then only matching messages will be diverted.
+
+Diverts can be configured to apply a Transformer. If specified, all diverted messages will have the opportunity of being transformed by the Transformer.
+
+Diverts are a very sophisticated concept, which when combined with bridges can be used to create interesting and complex routings. The set of diverts can be thought of as a type of _routing table_ for messages.
+
+## Example step-by-step
+
+In this example we will imagine a fictitious company which has two offices; one in London and another in New York.
+
+The company accepts orders for it's products only at it's London office, and also generates price-updates for it's products, also only from it's London office. However only the New York office is interested in receiving price updates for New York products. Any prices for New York products need to be forwarded to the New York office.
+
+There is an unreliable WAN linking the London and New York offices.
+
+The company also requires a copy of any order received to be available to be inspected by management.
+
+In order to achieve this, we will create a queue `orderQueue` on the London broker in to which orders arrive.
+
+We will create a topic, `spyTopic` on the London server, and there will be two subscribers both in London.
+
+We will create a _non-exclusive_ divert on the London broker which will siphon off a copy of each order received to the topic `spyTopic`.
+
+Here's the xml config for that divert, from `broker.xml`
+
+    <divert name="order-divert">
+       <address>orders</address>
+       <forwarding-address>spyTopic</forwarding-address>
+       <exclusive>false</exclusive>
+    </divert>
+
+For the prices we will create a topic on the London server, `priceUpdates` to which all price updates are sent. We will create another topic on the New York broker `newYorkPriceUpdates` to which all New York price updates need to be forwarded.
+
+Diverts can only be used to divert messages from one **local** address to another **local** address so we cannot divert directly to an address on another server.
+
+Instead we divert to a local _store and forward queue_ they we define in the configuration. This is just a normal queue that we use for storing messages before forwarding to another node.
+
+Here's the configuration for it:
+
+    <address name="priceForwarding">
+       <anycast>
+          <queue name="priceForwarding"/>
+       </anycast>
+    </address>
+
+Here's the configuration for the divert:
+
+    <divert name="prices-divert">
+       <address>priceUpdates</address>
+       <forwarding-address>priceForwarding</forwarding-address>
+       <filter string="office='New York'"/>
+       <transformer-class-name>org.apache.activemq.artemis.jms.example.AddForwardingTimeTransformer</transformer-class-name>
+       <exclusive>true</exclusive>
+    </divert>
+
+Note we specify a filter in the divert, so only New York prices get diverted. We also specify a Transformer class since we are going to insert a header in the message at divert time, recording the time the diversion happened.
+
+And finally we define a bridge that moves messages from the local queue to the address on the New York server. Bridges move messages from queues to remote addresses and are ideal to use when the target broker may be stopped and started independently, and/or the network might be unreliable. Bridges guarantee once and only once delivery of messages from their source queues to their target addresses.
+
+Here is the bridge configuration:
+
+    <bridges>
+       <bridge name="price-forward-bridge">
+          <queue-name>priceForwarding</queue-name>
+          <forwarding-address>newYorkPriceUpdates</forwarding-address>
+          <reconnect-attempts>-1</reconnect-attempts>
+          <static-connectors>
+             <connector-ref>newyork-connector</connector-ref>
+          </static-connectors>
+	   </bridge>
+    </bridges>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/divert/src/main/java/org/apache/activemq/artemis/jms/example/DivertExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/divert/src/main/java/org/apache/activemq/artemis/jms/example/DivertExample.java b/examples/features/standard/divert/src/main/java/org/apache/activemq/artemis/jms/example/DivertExample.java
index 98740fe..babb069 100644
--- a/examples/features/standard/divert/src/main/java/org/apache/activemq/artemis/jms/example/DivertExample.java
+++ b/examples/features/standard/divert/src/main/java/org/apache/activemq/artemis/jms/example/DivertExample.java
@@ -33,7 +33,7 @@ import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
  * This examples demonstrates the use of ActiveMQ Artemis "Diverts" to transparently divert or copy messages
  * from one address to another.
  *
- * Please see the readme.html for more information.
+ * Please see the readme for more information.
  */
 public class DivertExample {
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/divert/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/divert/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/divert/src/main/resources/activemq/server0/broker.xml
index 5e36d6e..a6fcc0b 100644
--- a/examples/features/standard/divert/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/divert/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>
@@ -96,18 +94,15 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="priceForwarding">
-            <multicast>
-               <queue name="priceForwarding"/>
-            </multicast>
             <anycast>
-               <queue name="jms.queue.priceForwarding"/>
+               <queue name="priceForwarding"/>
             </anycast>
          </address>
          <address name="orders">
             <anycast>
-               <queue name="jms.queue.orders"/>
+               <queue name="orders"/>
             </anycast>
          </address>
          <address name="spyTopic">

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/divert/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/divert/src/main/resources/activemq/server1/broker.xml b/examples/features/standard/divert/src/main/resources/activemq/server1/broker.xml
index 4b2ee13..9bf01ef 100644
--- a/examples/features/standard/divert/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/standard/divert/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>
@@ -50,7 +48,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="newYorkPriceUpdates">
             <multicast/>
          </address>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/durable-subscription/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/durable-subscription/pom.xml b/examples/features/standard/durable-subscription/pom.xml
index 7c537bf..578117f 100644
--- a/examples/features/standard/durable-subscription/pom.xml
+++ b/examples/features/standard/durable-subscription/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/durable-subscription/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/durable-subscription/readme.html b/examples/features/standard/durable-subscription/readme.html
deleted file mode 100644
index 61b591f..0000000
--- a/examples/features/standard/durable-subscription/readme.html
+++ /dev/null
@@ -1,39 +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 Durable Subscription 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 Durable Subscription 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 demonstrates how to use a durable subscription with ActiveMQ Artemis.</p>
-     <p>Durable subscriptions are a standard part of JMS, please consult the JMS 1.1 specification for full details.</p>
-     <p>Unlike non durable subscriptions, the key function of durable subscriptions is that the messages contained in them
-         persist longer than the lifetime of the subscriber - i.e. they will accumulate messages sent to the topic even
-         if the subscriber is not currently connected. They will also survive server restarts. Note that for the messages to
-         be persisted, the messages sent to them must be marked as persistent messages.</p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/durable-subscription/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/durable-subscription/readme.md b/examples/features/standard/durable-subscription/readme.md
new file mode 100644
index 0000000..6b74040
--- /dev/null
+++ b/examples/features/standard/durable-subscription/readme.md
@@ -0,0 +1,9 @@
+# JMS Durable Subscription 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 demonstrates how to use a durable subscription with ActiveMQ Artemis.
+
+Durable subscriptions are a standard part of JMS, please consult the JMS 1.1 specification for full details.
+
+Unlike non durable subscriptions, the key function of durable subscriptions is that the messages contained in them persist longer than the lifetime of the subscriber - i.e. they will accumulate messages sent to the topic even if the subscriber is not currently connected. They will also survive broker restarts. Note that for the messages to be persisted, the messages sent to them must be marked as persistent messages.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/durable-subscription/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/durable-subscription/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/durable-subscription/src/main/resources/activemq/server0/broker.xml
index d3352b1..91d733a 100644
--- a/examples/features/standard/durable-subscription/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/durable-subscription/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/embedded-simple/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/embedded-simple/pom.xml b/examples/features/standard/embedded-simple/pom.xml
index 40e9fc2..610934b 100644
--- a/examples/features/standard/embedded-simple/pom.xml
+++ b/examples/features/standard/embedded-simple/pom.xml
@@ -77,7 +77,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/embedded-simple/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/embedded-simple/readme.html b/examples/features/standard/embedded-simple/readme.html
deleted file mode 100644
index dae7359..0000000
--- a/examples/features/standard/embedded-simple/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 Embedded Broker with External Config 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>Embedded Broker with External Config Example</h1>
-      <pre>To run the example, simply type <b>mvn verify</b> from this directory</pre>
-
-      <p>This examples shows how to setup and run an embedded broker using ActiveMQ Artemis.</p>
-      <p>ActiveMQ Artemis was designed using POJOs (Plain Old Java Objects) which means embedding ActiveMQ Artemis in your own application is as simple as instantiating a few objects.</p>
-      <p>This example uses an external configuration file (i.e. broker.xml).</p>
-   </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/embedded-simple/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/embedded-simple/readme.md b/examples/features/standard/embedded-simple/readme.md
new file mode 100644
index 0000000..7b85d02
--- /dev/null
+++ b/examples/features/standard/embedded-simple/readme.md
@@ -0,0 +1,9 @@
+# Embedded Broker with External Config Example
+
+To run the example, simply type **mvn verify** from this directory.
+
+This examples shows how to setup and run an embedded broker using ActiveMQ Artemis.
+
+ActiveMQ Artemis was designed using POJOs (Plain Old Java Objects) which means embedding ActiveMQ Artemis in your own application is as simple as instantiating a few objects.
+
+This example uses an external configuration file (i.e. broker.xml).
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/embedded-simple/src/main/resources/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/embedded-simple/src/main/resources/broker.xml b/examples/features/standard/embedded-simple/src/main/resources/broker.xml
index a67720c..52e32de 100644
--- a/examples/features/standard/embedded-simple/src/main/resources/broker.xml
+++ b/examples/features/standard/embedded-simple/src/main/resources/broker.xml
@@ -20,10 +20,7 @@ under the License.
 
 <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="urn:activemq"
-               xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
-
-   <core xmlns="urn:activemq:core">
-
+               xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">
       <persistence-enabled>false</persistence-enabled>
 
       <acceptors>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/embedded/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/embedded/pom.xml b/examples/features/standard/embedded/pom.xml
index ff99767..a69522c 100644
--- a/examples/features/standard/embedded/pom.xml
+++ b/examples/features/standard/embedded/pom.xml
@@ -77,7 +77,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/embedded/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/embedded/readme.html b/examples/features/standard/embedded/readme.html
deleted file mode 100644
index d277c91..0000000
--- a/examples/features/standard/embedded/readme.html
+++ /dev/null
@@ -1,36 +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 Embedded Broker with Programmatic Config 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>Embedded Broker with Programmatic Config Example</h1>
-      <pre>To run the example, simply type <b>mvn verify</b> from this directory</pre>
-
-      <p>This examples shows how to setup and run an embedded broker using ActiveMQ Artemis.</p>
-      <p>ActiveMQ Artemis was designed using POJOs (Plain Old Java Objects) which means embedding ActiveMQ Artemis in your own application
-          is as simple as instantiating a few objects.</p>
-      <p>This example does not use any configuration files. The server is configured using POJOs and can be easily ported to any dependency injection framework.</p>
-   </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/embedded/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/embedded/readme.md b/examples/features/standard/embedded/readme.md
new file mode 100644
index 0000000..c70c044
--- /dev/null
+++ b/examples/features/standard/embedded/readme.md
@@ -0,0 +1,9 @@
+# Embedded Broker with Programmatic Config Example
+
+To run the example, simply type **mvn verify** from this directory.
+
+This examples shows how to setup and run an embedded broker using ActiveMQ Artemis.
+
+ActiveMQ Artemis was designed using POJOs (Plain Old Java Objects) which means embedding ActiveMQ Artemis in your own application is as simple as instantiating a few objects.
+
+This example does not use any configuration files. The broker is configured using POJOs and can be easily ported to any dependency injection framework.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/expiry/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/expiry/pom.xml b/examples/features/standard/expiry/pom.xml
index 4c8f1f7..84c4641 100644
--- a/examples/features/standard/expiry/pom.xml
+++ b/examples/features/standard/expiry/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/expiry/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/expiry/readme.html b/examples/features/standard/expiry/readme.html
deleted file mode 100644
index d13cac0..0000000
--- a/examples/features/standard/expiry/readme.html
+++ /dev/null
@@ -1,61 +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 Message Expiration 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 Expiration 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 ActiveMQ Artemis so messages are expipired after a certain time.</p>
-     <p>Messages can be retained in the messaging system for a limited period of time before being removed.
-         JMS specification states that clients should not receive messages that have been expired (but it does not guarantee this will not happen).</p>
-     <p>ActiveMQ Artemis can assign a <em>expiry address</em> to a given queue so that when messages are expired, they are removed from the queue and
-        routed to this address. These "expired" messages can later be consumed for further inspection.
-     <p>
-         The example will send 1 message with a short <em>time-to-live</em> to a queue. We will wait for the message to expire and checks that the message
-         is no longer in the queue it was sent to.
-         We will instead consume it from an <em>expiry queue</em> where it was moved when it expired.
-     </p>
-     <h2>Example setup</h2>
-     <p>Expiry destinations 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.exampleQueue"&gt;
-            &lt;expiry-address&gt;jms.queue.expiryQueue&lt;/expiry-address&gt;
-         &lt;/address-setting&gt;
-         </code>
-     </pre>
-     <p>This configuration will moved expired messages from the <code>exampleQueue</code> to the <code>expiryQueue</code></p>
-     <p>ActiveMQ Artemis allows to specify either a <code>Queue</code> by prefixing the <code>expiry-address</code> with <code>jms.queue.</code>
-         or a <code>Topic</code> by prefixing with <code>jms.topic.</code>.<br />
-         In this example, we will use a <code>Queue</code> to hold the expired messages.</p>
-     <p>Since we want to consume messages from this expiryQueue, we also need to add a JNDI binding to perform a lookup.
-         This is configured in <a href="server0/activemq-jms.xml">activemq-jms.xml</a></p>
-     <pre class="prettyprint">
-         <code>&lt;queue name="expiryQueue"&gt;
-            &lt;entry name="/queue/expiryQueue"/&gt;
-         &lt;/queue&gt;</code>
-     </pre>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/expiry/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/expiry/readme.md b/examples/features/standard/expiry/readme.md
new file mode 100644
index 0000000..963e6de
--- /dev/null
+++ b/examples/features/standard/expiry/readme.md
@@ -0,0 +1,17 @@
+# JMS Expiration 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 ActiveMQ Artemis so messages are expipired after a certain time.
+
+Messages can be retained in the messaging system for a limited period of time before being removed. JMS specification states that clients should not receive messages that have been expired (but it does not guarantee this will not happen).
+
+ActiveMQ Artemis can assign a _expiry address_ to a given queue so that when messages are expired, they are removed from the queue and routed to this address. These "expired" messages can later be consumed for further inspection.
+
+The example will send 1 message with a short _time-to-live_ to a queue. We will wait for the message to expire and checks that the message is no longer in the queue it was sent to. We will instead consume it from an _expiry queue_ where it was moved when it expired.
+
+## Example setup
+
+Expiry destinations are defined in the configuration file broker.xml.
+
+This configuration will moved expired messages from the `exampleQueue` to the `expiryQueue`.

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/expiry/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/expiry/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/expiry/src/main/resources/activemq/server0/broker.xml
index fd26edd..12faf9b 100644
--- a/examples/features/standard/expiry/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/expiry/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>
@@ -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/http-transport/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/http-transport/pom.xml b/examples/features/standard/http-transport/pom.xml
index 38c3a60..02e4d45 100644
--- a/examples/features/standard/http-transport/pom.xml
+++ b/examples/features/standard/http-transport/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/http-transport/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/http-transport/readme.html b/examples/features/standard/http-transport/readme.html
deleted file mode 100644
index 061c939..0000000
--- a/examples/features/standard/http-transport/readme.html
+++ /dev/null
@@ -1,52 +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 HTTP Transport 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 HTTP 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 ActiveMQ Artemis to use the HTTP protocol as its transport layer.</p>
-
-     <p>ActiveMQ Artemis supports a variety of network protocols to be its underlying transport without any specific code change.</p>
-
-     <p>This example is taken from the queue example without any code change. By changing the configuration file, one can get ActiveMQ Artemis working with HTTP transport.</p>
-     <p>All you need to do is open the server0/broker.xml and enable HTTP like the following</p>
-
-
-      <pre class="prettyprint">
-      <code>
-      &lt;connector name=&quot;netty-connector&quot;&gt;tcp://localhost:8080?httpEnabled=true&lt;/connector&gt;
-
-      &lt;!-- Acceptors --&gt;
-
-      &lt;acceptor name=&quot;netty-acceptor&quot;&gt;tcp://localhost:8080 &lt;/acceptor&gt;
-      </code>
-      </pre>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/http-transport/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/http-transport/readme.md b/examples/features/standard/http-transport/readme.md
new file mode 100644
index 0000000..5c1951c
--- /dev/null
+++ b/examples/features/standard/http-transport/readme.md
@@ -0,0 +1,9 @@
+# JMS HTTP 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 ActiveMQ Artemis to use the HTTP protocol as its transport layer.
+
+ActiveMQ Artemis supports a variety of network protocols to be its underlying transport without any specific code change.
+
+This example is taken from the queue example without any code change. By changing the client's URL in `jndi.properties` one can get ActiveMQ Artemis working with the HTTP transport.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/http-transport/src/main/java/org/apache/activemq/artemis/jms/example/HttpTransportExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/http-transport/src/main/java/org/apache/activemq/artemis/jms/example/HttpTransportExample.java b/examples/features/standard/http-transport/src/main/java/org/apache/activemq/artemis/jms/example/HttpTransportExample.java
index bb189d3..721e6c6 100644
--- a/examples/features/standard/http-transport/src/main/java/org/apache/activemq/artemis/jms/example/HttpTransportExample.java
+++ b/examples/features/standard/http-transport/src/main/java/org/apache/activemq/artemis/jms/example/HttpTransportExample.java
@@ -23,29 +23,29 @@ import javax.jms.MessageProducer;
 import javax.jms.Queue;
 import javax.jms.Session;
 import javax.jms.TextMessage;
-
-import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient;
-import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
+import javax.naming.InitialContext;
 
 /**
- * A simple JMS Queue example that uses HTTP protocol.
+ * A simple JMS Queue example that uses the HTTP protocol.
  */
 public class HttpTransportExample {
 
    public static void main(final String[] args) throws Exception {
       Connection connection = null;
+      InitialContext initialContext = null;
       try {
-         // Step 2. Perfom a lookup on the queue
-         Queue queue = ActiveMQJMSClient.createQueue("exampleQueue");
+         // Step 1. Create an initial context to perform the JNDI lookup.
+         initialContext = new InitialContext();
+
+         // Step 2. Perform a lookup on the queue
+         Queue queue = (Queue) initialContext.lookup("queue/exampleQueue");
 
          // Step 3. Perform a lookup on the Connection Factory
-         ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:8080?httpEnabled=true");
+         ConnectionFactory cf = (ConnectionFactory) initialContext.lookup("ConnectionFactory");
 
          // Step 4.Create a JMS Connection
          connection = cf.createConnection();
 
-         System.out.println("connection created: " + connection);
-
          // Step 5. Create a JMS Session
          Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
@@ -70,8 +70,11 @@ public class HttpTransportExample {
          TextMessage messageReceived = (TextMessage) messageConsumer.receive(5000);
 
          System.out.println("Received message: " + messageReceived.getText());
-
       } finally {
+         // Step 12. Be sure to close our JMS resources!
+         if (initialContext != null) {
+            initialContext.close();
+         }
          if (connection != null) {
             connection.close();
          }

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/http-transport/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/http-transport/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/http-transport/src/main/resources/activemq/server0/broker.xml
index db5d588..cb1f0d9 100644
--- a/examples/features/standard/http-transport/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/http-transport/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="exampleQueue">
             <anycast>
                <queue name="exampleQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/http-transport/src/main/resources/jndi.properties
----------------------------------------------------------------------
diff --git a/examples/features/standard/http-transport/src/main/resources/jndi.properties b/examples/features/standard/http-transport/src/main/resources/jndi.properties
new file mode 100644
index 0000000..5f8076d
--- /dev/null
+++ b/examples/features/standard/http-transport/src/main/resources/jndi.properties
@@ -0,0 +1,20 @@
+# 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.
+
+java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory
+connectionFactory.ConnectionFactory=tcp://localhost:8080?httpEnabled=true
+queue.queue/exampleQueue=exampleQueue

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/instantiate-connection-factory/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/instantiate-connection-factory/pom.xml b/examples/features/standard/instantiate-connection-factory/pom.xml
index bd63910..8ab0350 100644
--- a/examples/features/standard/instantiate-connection-factory/pom.xml
+++ b/examples/features/standard/instantiate-connection-factory/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/instantiate-connection-factory/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/instantiate-connection-factory/readme.html b/examples/features/standard/instantiate-connection-factory/readme.html
deleted file mode 100644
index b084471..0000000
--- a/examples/features/standard/instantiate-connection-factory/readme.html
+++ /dev/null
@@ -1,49 +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 Instantiate Connection Factory 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 Instantiate Connection Factory 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>Usually, JMS Objects such as ConnectionFactories, Queue and Topic instances are looked up from JNDI
-     before being used by the client code. This objects are called "administered objects" in JMS specification
-     terminology.</p>
-     <p>However, in some cases a JNDI server may not be available or desired. To come to the rescue ActiveMQ
-     also supports the direct instantiation of these administered objects on the client side.</p>
-     <p>This allows the full set of JMS functionality to be available without requiring a JNDI server!</p>
-     <p>This example is very simple and based on the simple Queue example, however in this example we
-     instantiate the JMS Queue and ConnectionFactory objects directly.</p>
-     <p>A wide variety of methods are available for instantiating ConnectionFactory objects. In this example
-     we use a simple method which just takes the server connection details so it knows where to make the
-     connection to.</p>
-     <p>Other methods are available so all the connection factory parameters can be specified
-     including specifying UDP discovery so the client does not need hard-wired knowledge of where the servers
-     are that it wishes to connect to, or for specifying live-backup pairs of servers for failover.</p>
-     <p>For more information on instantiating ConnectionFactories directly please consult the user manual and
-     javadoc.</p>
-       </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-amqp/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-amqp/pom.xml b/examples/features/standard/interceptor-amqp/pom.xml
new file mode 100644
index 0000000..de4e5b1
--- /dev/null
+++ b/examples/features/standard/interceptor-amqp/pom.xml
@@ -0,0 +1,137 @@
+<?xml version='1.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.
+-->
+
+<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/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <groupId>org.apache.activemq.examples.broker</groupId>
+      <artifactId>jms-examples</artifactId>
+      <version>2.5.0-SNAPSHOT</version>
+   </parent>
+
+   <artifactId>interceptor-amqp</artifactId>
+   <packaging>jar</packaging>
+   <name>ActiveMQ Artemis AMQP Interceptor Example</name>
+
+   <properties>
+      <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
+   </properties>
+
+   <dependencies>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-amqp-protocol</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+
+      <dependency>
+         <groupId>org.apache.qpid</groupId>
+         <artifactId>qpid-jms-client</artifactId>
+         <version>${qpid.jms.version}</version>
+      </dependency>
+
+      <dependency>
+         <groupId>io.netty</groupId>
+         <artifactId>netty-all</artifactId>
+      </dependency>
+   </dependencies>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>artemis-maven-plugin</artifactId>
+            <executions>
+               <execution>
+                  <id>create</id>
+                  <goals>
+                     <goal>create</goal>
+                  </goals>
+                  <configuration>
+                     <libList><arg>org.apache.activemq.examples.broker:interceptor-client-amqp:${project.version}</arg></libList>
+                     <ignore>${noServer}</ignore>
+                     <configuration>${basedir}/target/classes/activemq/server0</configuration>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>start</id>
+                  <goals>
+                     <goal>cli</goal>
+                  </goals>
+                  <configuration>
+                     <ignore>${noServer}</ignore>
+                     <spawn>true</spawn>
+                     <testURI>tcp://localhost:61616</testURI>
+                     <args>
+                        <param>run</param>
+                     </args>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>runClient</id>
+                  <goals>
+                     <goal>runClient</goal>
+                  </goals>
+                  <configuration>
+                     <clientClass>org.apache.activemq.artemis.amqp.example.InterceptorExample</clientClass>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>stop</id>
+                  <goals>
+                     <goal>cli</goal>
+                  </goals>
+                  <configuration>
+                     <ignore>${noServer}</ignore>
+                     <args>
+                        <param>stop</param>
+                     </args>
+                  </configuration>
+               </execution>
+            </executions>
+            <dependencies>
+               <dependency>
+                  <groupId>org.apache.activemq.examples.broker</groupId>
+                  <artifactId>interceptor-client-amqp</artifactId>
+                  <version>${project.version}</version>
+               </dependency>
+            </dependencies>
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
+   <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/interceptor-amqp/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-amqp/readme.md b/examples/features/standard/interceptor-amqp/readme.md
new file mode 100644
index 0000000..73735b5
--- /dev/null
+++ b/examples/features/standard/interceptor-amqp/readme.md
@@ -0,0 +1,21 @@
+# AMQP Interceptor 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 implement and configure a simple incoming, server-side AMQP interceptor with ActiveMQ Artemis.
+
+ActiveMQ Artemis allows an application to use an interceptor to hook into the messaging system. To intercept AMQP packets all that needs to be done is to implement the `org.apache.activemq.artemis.protocol.amqp.broker.AmqpInterceptor` interface.
+
+Once you have your own interceptor class add it to the broker.xml as follows:
+
+    <configuration>
+       ...
+       <remoting-incoming-interceptors>
+          <class-name>org.apache.activemq.artemis.amqp.example.SimpleAmqpInterceptor</class-name>
+       </remoting-incoming-interceptors>
+        ...
+    </configuration>
+
+With an interceptor you can handle various events in message processing. In this example, a simple interceptor, SimpleAmqpInterceptor, is implemented and configured. When the example is running, the interceptor will display the value of a string property of a sample AMQP message.
+
+With our interceptor we always return `true` from the `intercept` method. If we were to return `false` that signifies that no more interceptors are to run. Throw an exception to abort processing of the packet.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/InterceptorExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/InterceptorExample.java b/examples/features/standard/interceptor-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/InterceptorExample.java
new file mode 100644
index 0000000..5ae2e5c
--- /dev/null
+++ b/examples/features/standard/interceptor-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/InterceptorExample.java
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+package org.apache.activemq.artemis.amqp.example;
+
+import org.apache.qpid.jms.JmsConnectionFactory;
+
+import javax.jms.Connection;
+import javax.jms.MessageProducer;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+
+/**
+ * A simple example that shows how to implement and use interceptors with ActiveMQ Artemis with the AMQP protocol.
+ */
+public class InterceptorExample {
+   public static void main(final String[] args) throws Exception {
+      JmsConnectionFactory factory = new JmsConnectionFactory("amqp://localhost:61616");
+
+      try (Connection connection = factory.createConnection()) {
+
+         Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         Queue interceptorQueue = session.createQueue("interceptorQueue");
+
+         MessageProducer producer = session.createProducer(interceptorQueue);
+
+         TextMessage textMessage = session.createTextMessage("A text message");
+         textMessage.setStringProperty("SimpleAmqpInterceptor", "SimpleAmqpInterceptorValue");
+         producer.send(textMessage);
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/SimpleAmqpInterceptor.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/SimpleAmqpInterceptor.java b/examples/features/standard/interceptor-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/SimpleAmqpInterceptor.java
new file mode 100644
index 0000000..02faea0
--- /dev/null
+++ b/examples/features/standard/interceptor-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/SimpleAmqpInterceptor.java
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+package org.apache.activemq.artemis.amqp.example;
+
+import org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage;
+import org.apache.activemq.artemis.protocol.amqp.broker.AmqpInterceptor;
+import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection;
+
+
+/**
+ * A simple Interceptor implementation
+ */
+public class SimpleAmqpInterceptor implements AmqpInterceptor {
+
+   @Override
+   public boolean intercept(final AMQPMessage message, RemotingConnection connection) {
+      System.out.println("AMQP Interceptor gets called with message " + message.getMessageID());
+      String val = message.getStringProperty("SimpleAmqpInterceptor");
+      System.out.println("intercepted message with property " + val);
+      return true;
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-amqp/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-amqp/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/interceptor-amqp/src/main/resources/activemq/server0/broker.xml
new file mode 100644
index 0000000..e03bff6
--- /dev/null
+++ b/examples/features/standard/interceptor-amqp/src/main/resources/activemq/server0/broker.xml
@@ -0,0 +1,53 @@
+<?xml version='1.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.
+-->
+<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">
+
+      <paging-directory>./data/paging</paging-directory>
+
+      <bindings-directory>./data/bindings</bindings-directory>
+
+      <journal-directory>./data/journal</journal-directory>
+
+      <large-messages-directory>./data/large-messages</large-messages-directory>
+
+      <remoting-incoming-interceptors>
+         <class-name>org.apache.activemq.artemis.amqp.example.SimpleAmqpInterceptor</class-name>
+      </remoting-incoming-interceptors>
+
+      <acceptors>
+         <!-- Acceptor for every supported protocol -->
+         <acceptor name="artemis">tcp://0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE</acceptor>
+      </acceptors>
+
+      <security-settings>
+         <security-setting match="#">
+            <permission type="createNonDurableQueue" roles="guest"/>
+            <permission type="deleteNonDurableQueue" roles="guest"/>
+            <permission type="createDurableQueue" roles="guest"/>
+            <permission type="deleteDurableQueue" roles="guest"/>
+            <permission type="createAddress" roles="guest"/>
+            <permission type="deleteAddress" roles="guest"/>
+            <permission type="consume" roles="guest"/>
+            <permission type="send" roles="guest"/>
+         </security-setting>
+      </security-settings>
+   </core>
+</configuration>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client-amqp/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client-amqp/pom.xml b/examples/features/standard/interceptor-client-amqp/pom.xml
deleted file mode 100644
index 35d90ca..0000000
--- a/examples/features/standard/interceptor-client-amqp/pom.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version='1.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.
--->
-
-<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/maven-v4_0_0.xsd">
-   <modelVersion>4.0.0</modelVersion>
-
-   <parent>
-      <groupId>org.apache.activemq.examples.broker</groupId>
-      <artifactId>jms-examples</artifactId>
-      <version>2.5.0-SNAPSHOT</version>
-   </parent>
-
-   <artifactId>interceptor-client-amqp</artifactId>
-   <packaging>jar</packaging>
-   <name>ActiveMQ Artemis AMQP Interceptor Example</name>
-
-   <properties>
-      <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
-   </properties>
-
-   <dependencies>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-amqp-protocol</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-
-      <dependency>
-         <groupId>org.apache.qpid</groupId>
-         <artifactId>qpid-jms-client</artifactId>
-         <version>${qpid.jms.version}</version>
-      </dependency>
-
-      <dependency>
-         <groupId>io.netty</groupId>
-         <artifactId>netty-all</artifactId>
-      </dependency>
-   </dependencies>
-
-   <build>
-      <plugins>
-         <plugin>
-            <groupId>org.apache.activemq</groupId>
-            <artifactId>artemis-maven-plugin</artifactId>
-            <executions>
-               <execution>
-                  <id>create</id>
-                  <goals>
-                     <goal>create</goal>
-                  </goals>
-                  <configuration>
-                     <libList><arg>org.apache.activemq.examples.broker:interceptor-client-amqp:${project.version}</arg></libList>
-                     <ignore>${noServer}</ignore>
-                     <configuration>${basedir}/target/classes/activemq/server0</configuration>
-                  </configuration>
-               </execution>
-               <execution>
-                  <id>start</id>
-                  <goals>
-                     <goal>cli</goal>
-                  </goals>
-                  <configuration>
-                     <ignore>${noServer}</ignore>
-                     <spawn>true</spawn>
-                     <testURI>tcp://localhost:61616</testURI>
-                     <args>
-                        <param>run</param>
-                     </args>
-                  </configuration>
-               </execution>
-               <execution>
-                  <id>runClient</id>
-                  <goals>
-                     <goal>runClient</goal>
-                  </goals>
-                  <configuration>
-                     <clientClass>org.apache.activemq.artemis.amqp.example.InterceptorExample</clientClass>
-                  </configuration>
-               </execution>
-               <execution>
-                  <id>stop</id>
-                  <goals>
-                     <goal>cli</goal>
-                  </goals>
-                  <configuration>
-                     <ignore>${noServer}</ignore>
-                     <args>
-                        <param>stop</param>
-                     </args>
-                  </configuration>
-               </execution>
-            </executions>
-            <dependencies>
-               <dependency>
-                  <groupId>org.apache.activemq.examples.broker</groupId>
-                  <artifactId>interceptor-client-amqp</artifactId>
-                  <version>${project.version}</version>
-               </dependency>
-            </dependencies>
-         </plugin>
-      </plugins>
-   </build>
-
-</project>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client-amqp/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client-amqp/readme.html b/examples/features/standard/interceptor-client-amqp/readme.html
deleted file mode 100644
index 20bbc5c..0000000
--- a/examples/features/standard/interceptor-client-amqp/readme.html
+++ /dev/null
@@ -1,71 +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 AMQP Interceptor 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>AMQP Interceptor 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 implement and configure a simple incoming, server-side AMQP interceptor with ActiveMQ Artemis.</p>
-
-     <p>ActiveMQ Artemis allows an application to use an interceptor to hook into the messaging system. All that needs to do is to implement the
-     Interceptor interface, as defined below: </p>
-     <pre class="prettyprint">
-     <code>
-         public interface AmqpInterceptor
-         {
-            boolean intercept(final AMQPMessage message, RemotingConnection connection);
-         }
-     </code>
-     </pre>
-     <p>Once you have your own interceptor class, add it to the broker.xml, as follows:</p>
-     <pre class="prettyprint">
-     <code>
-        &lt;configuration&gt;
-        ...
-           &lt;remoting-incoming-interceptors&gt;
-              &lt;class-name&gt;org.apache.activemq.artemis.amqp.example.SimpleAMQPInterceptor&lt;/class-name&gt;
-           &lt;/remoting-incoming-interceptors&gt;
-        ...
-        &lt;/configuration&gt;
-     </code>
-     </pre>
-
-     <p>With interceptor, you can handle various events in message processing. In this example, a simple interceptor, SimpleAMQPInterceptor, is implemented and configured.
-     When the example is running, the interceptor examine and log properties of the AMQP message.</p>
-
-     <p>With our interceptor we always return <code>true</code> from the <code>intercept</code> method. If we were
-     to return <code>false</code> that signifies that no more interceptors are to run.
-         Throw an exception to abort processing of the packet.</p>
-  </body>
-</html>
-
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/InterceptorExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/InterceptorExample.java b/examples/features/standard/interceptor-client-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/InterceptorExample.java
deleted file mode 100644
index 5ae2e5c..0000000
--- a/examples/features/standard/interceptor-client-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/InterceptorExample.java
+++ /dev/null
@@ -1,47 +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.
- */
-package org.apache.activemq.artemis.amqp.example;
-
-import org.apache.qpid.jms.JmsConnectionFactory;
-
-import javax.jms.Connection;
-import javax.jms.MessageProducer;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-/**
- * A simple example that shows how to implement and use interceptors with ActiveMQ Artemis with the AMQP protocol.
- */
-public class InterceptorExample {
-   public static void main(final String[] args) throws Exception {
-      JmsConnectionFactory factory = new JmsConnectionFactory("amqp://localhost:61616");
-
-      try (Connection connection = factory.createConnection()) {
-
-         Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-         Queue interceptorQueue = session.createQueue("interceptorQueue");
-
-         MessageProducer producer = session.createProducer(interceptorQueue);
-
-         TextMessage textMessage = session.createTextMessage("A text message");
-         textMessage.setStringProperty("SimpleAmqpInterceptor", "SimpleAmqpInterceptorValue");
-         producer.send(textMessage);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/SimpleAmqpInterceptor.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/SimpleAmqpInterceptor.java b/examples/features/standard/interceptor-client-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/SimpleAmqpInterceptor.java
deleted file mode 100644
index 02faea0..0000000
--- a/examples/features/standard/interceptor-client-amqp/src/main/java/org/apache/activemq/artemis/amqp/example/SimpleAmqpInterceptor.java
+++ /dev/null
@@ -1,37 +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.
- */
-package org.apache.activemq.artemis.amqp.example;
-
-import org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage;
-import org.apache.activemq.artemis.protocol.amqp.broker.AmqpInterceptor;
-import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection;
-
-
-/**
- * A simple Interceptor implementation
- */
-public class SimpleAmqpInterceptor implements AmqpInterceptor {
-
-   @Override
-   public boolean intercept(final AMQPMessage message, RemotingConnection connection) {
-      System.out.println("AMQP Interceptor gets called with message " + message.getMessageID());
-      String val = message.getStringProperty("SimpleAmqpInterceptor");
-      System.out.println("intercepted message with property " + val);
-      return true;
-   }
-
-}


[07/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/management-notifications/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/management-notifications/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/management-notifications/src/main/resources/activemq/server0/broker.xml
index a42fc9c..c340a72 100644
--- a/examples/features/standard/management-notifications/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/management-notifications/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 ../../../../src/schema/artemis-server.xsd">
-
-   
-
+-->
+<configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:activemq ../../../../src/schema/artemis-configuration.xsd">
    <core xmlns="urn:activemq:core">
 
       <bindings-directory>./data/messaging/bindings</bindings-directory>
@@ -67,7 +65,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="notificationsTopic">
             <multicast/>
          </address>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/management/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/management/pom.xml b/examples/features/standard/management/pom.xml
index e1d1a64..94a302a 100644
--- a/examples/features/standard/management/pom.xml
+++ b/examples/features/standard/management/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/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/management/readme.html b/examples/features/standard/management/readme.html
deleted file mode 100644
index 30057ba..0000000
--- a/examples/features/standard/management/readme.html
+++ /dev/null
@@ -1,208 +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 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 Example</h1>
-     <p>This example shows how to manage ActiveMQ Artemis using JMS Messages to invoke management operations on the server.</a></p>
-     <p>To manage ActiveMQ Artemis using JMX, see the <a href="../jmx/readme.html">JMX</a> example.</p>
-
-     <h2>Example configuration</h2>
-
-     <p>ActiveMQ Artemis can be managed by sending JMS messages with specific properties to its <em>management</em> queue.</p>
-     </p>By default, the management name is called <code>activemq.management</code> but this can be configured in <a href="server0/broker.xml">broker.xml</a>
-     <pre class="prettyprint">
-         <code>&lt;management-address&gt;activemq.management&lt;/management-address&gt;</code>
-     </pre>
-
-     <p>The management queue requires a "special" user permission <code>manage</code> to be able to receive management messages.
-         This is also configured in <a href="server0/broker.xml">broker.xml</a></p>
-     <pre class="prettyprint">
-         <code>&lt;security-setting match="activemq.management"&gt;
-            &lt;permission type="manage" roles="guest" /&gt;
-         &lt;/security-setting&gt;</code>
-     </pre>
-
-     <h2>Example step-by-step</h2>
-     <p><em>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</em></p>
-     <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 create the JMS management queue. This is a <em>special</em> queue which is not looked up from JNDI but instantiated directly</li>
-        <pre class="prettyprint">
-            <code>Queue managementQueue = new ActiveMQQueue("activemq.management", "activemq.management");</code>
-        </pre>
-
-        <li>We create a <code>QueueRequestor</code> to send messages to the management queue and receive replies (see <a href="../queue-requestor/readme.html">queue-requestor example</a>)</li>
-        <pre class="prettyprint">
-            <code>QueueRequestor requestor = new QueueRequestor(session, managementQueue);</code>
-        </pre>
-
-        <li>We start the connection to receive replies on the requestor</li>
-        <pre class="prettyprint">
-           <code>connection.start()</code>
-        </pre>
-
-        <li>We create a JMS message which will be used as a <em>management</em> message</li>
-        <pre class="prettyprint">
-            <code>Message m = session.createMessage();</code>
-        </pre>
-
-        <li>a <em>management</em> message has well-defined properties that ActiveMQ Artemis server needs to know to perform management operations.<br />
-            We use a helper class <code>JMSManagementHelper</code> to fill these properties:
-            <ul>
-                <li>The name of the resource to manage <code>jms.queue.exampleQueue</code>
-                    (i.e. <code>jms.queue</code> followed by the name of the queue as defined in <a href="server0/activemq-jms.xml">activemq-jms.xml</a>)</li>
-                <li>In our case, the name of the attribute to retrieve <code>MessageCount</code></li>
-            </ul>
-        </li>
-        <pre class="prettyprint">
-            <code>JMSManagementHelper.putAttribute(m, "jms.queue.exampleQueue", "MessageCount");</code>
-        </pre>
-
-        <li>We send the <em>management</em> message using the requestor and wait for a reply</li>
-        <pre class="prettyprint">
-            <code>Message reply = requestor.request(m);</code>
-        </pre>
-
-        <li>We use a helper class <code>JMSManagementHelper</code> to retrieve the result from the reply message:
-        <pre class="prettyprint">
-            <code>int messageCount = (Integer)JMSManagementHelper.getResult(reply);
-            System.out.println(queue.getQueueName() + " contains " + messageCount + " messages");</code>
-        </pre>
-
-        <li>We create another JMS message to use as a management message</li>
-        <pre class="prettyprint">
-            <code>m = session.createMessage();</code>
-        </pre>
-
-        <li>This time, we fill the <em>management</em> message with properties to <em>invoke</em> a management operation on the queue
-            <ul>
-                <li>the name of the resource <code>jms.queue.exampleQueue</code></li>
-                <li>the name of the management operation <code>removeMessage</code></li>
-                <li>any parameters required to invoke the management operations (in our case, the JMS Message ID of the message sent in step 8)</li>
-            </ul>
-        </li>
-        <pre class="prettyprint">
-            <code>JMSManagementHelper.putOperationInvocation(m, "jms.queue.exampleQueue", "removeMessage", message.getJMSMessageID());</code>
-        </pre>
-
-        <li>Again, we use the requestor to send the management message and wait for a reply</li>
-        <pre class="prettyprint">
-            <code>reply = requestor.request(m);</code>
-        </pre>
-
-        <li>We use the helper class to check that the operation was successfully invoked on the server</li>
-        <pre class="prettyprint">
-            <code>boolean success = JMSManagementHelper.hasOperationSucceeded(reply);
-            System.out.println("operation invocation has succeeded: " + success);</code>
-        </pre>
-
-        <li>We use a helper class <code>JMSManagementHelper</code> to retrieve the result from the reply message:
-            (in our case, the <code>removeMessage</code> method returns a boolean)</li>
-        <pre class="prettyprint">
-            <code>boolean messageRemoved = (Boolean)JMSManagementHelper.getResult(reply);
-            System.out.println("message has been removed: " + messageRemoved);</code>
-        </pre>
-
-        <p><em>We will now consume the message from the queue but there will be none: the message sent at step 8 was 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 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.jms">Using Management Via JMS chapter</a></li>
-     </ul>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/management/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/management/readme.md b/examples/features/standard/management/readme.md
new file mode 100644
index 0000000..425c22a
--- /dev/null
+++ b/examples/features/standard/management/readme.md
@@ -0,0 +1,19 @@
+# Management Example
+
+This example shows how to manage ActiveMQ Artemis using JMS Messages to invoke management operations on the server.
+
+To manage ActiveMQ Artemis using JMX, see the "jmx" example.
+
+## Example configuration
+
+ActiveMQ Artemis can be managed by sending JMS messages with specific properties to its _management_ queue.
+
+By default, the management name is called `activemq.management` but this can be configured in broker.xml like so:
+
+    <management-address>activemq.management</management-address>
+
+The management queue requires a "special" user permission `manage` to be able to receive management messages. This is also configured in broker.xml:
+
+    <security-setting match="activemq.management">
+       <permission type="manage" roles="guest" />
+    </security-setting>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/management/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/management/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/management/src/main/resources/activemq/server0/broker.xml
index d8f997e..6d041c7 100644
--- a/examples/features/standard/management/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/management/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>
@@ -65,7 +63,7 @@ under the License.
 
       </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/message-counters/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-counters/pom.xml b/examples/features/standard/message-counters/pom.xml
index 30b58e5..fbd07c4 100644
--- a/examples/features/standard/message-counters/pom.xml
+++ b/examples/features/standard/message-counters/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/message-counters/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-counters/readme.html b/examples/features/standard/message-counters/readme.html
deleted file mode 100644
index 40e247a..0000000
--- a/examples/features/standard/message-counters/readme.html
+++ /dev/null
@@ -1,197 +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 Message Counter 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 Message Counter 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 use message counters to obtain message information for a JMS queue.</p>
-     <p>The example will show how to configure sampling of message counters.<br />
-         We will produce and consume 1 message from a queue. Interleaved with the JMS operation, we will retrieve the queue's message counters
-         at different times to display the metrics on the queue.
-     </p>
-     <h2>Example setup</h2>
-     <p>Message counter is configured in the server configuration file <a href="server0/broker.xml">broker.xml</a>:</p>
-     <pre class="prettyprint">
-         <code>&lt;message-counter-enabled&gt;true&lt;/message-counter-enabled&gt;
-         &lt;message-counter-sample-period&gt;2000&lt;/message-counter-sample-period&gt;
-         &lt;message-counter-max-day-history&gt;2&lt;/message-counter-max-day-history&gt;</code>
-     </pre>
-     <p>By default, Message counter is not enabled (for performance reason). To enable them, set <code>message-counter-enabled</code> to <code>true</code>.<br />
-     Queues are sampled every 10 seconds by default. For this example we will reduce it to 2 seconds by setting <code>message-counter-sample-period</code> to <code>2000</code>.<br />
-     ActiveMQ Artemis holds in memory the message counters' history for a maximum number of days (10 by default). We can change the number of days the history is kept by setting
-         the <code>message-counter-max-day-history</code> parameter.</p>
-     <p>The sample period and the max day history parameters have a small impact on the performance of ActiveMQ Artemis (the resources taken to sample a queue are not available to the system's
-         normal use). You should set these parameters accordingly to the use and throughput of your messages.</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 connection, session and producer for the queue</li>
-        <pre class="prettyprint">
-           <code> connection = cf.createQueueConnection();
-            QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
-            MessageProducer producer = session.createProducer(queue);</code>
-       </pre>
-
-        <li>We create and send a JMS text message</li>
-        <pre class="prettyprint">
-            <code>TextMessage message = session.createTextMessage("This is a text message");
-            producer.send(message);
-            System.out.println("Sent message: " + message.getText());</code>
-        </pre>
-
-        <li>We will now sleep a little bit to be sure the queue is sample. Since we have configure the sample period to be 2 seconds,
-            we will sleep for 3 seconds to be sure that a sample is taken</li>
-        <pre class="prettyprint">
-            <code>System.out.println("Sleep a little bit to have the queue sampled...");
-            Thread.sleep(3000);</code>
-        </pre>
-
-        <p>We now need to retrieve the message counters. They're available from the JMS Queue management resource. In this example, we
-            will retrieve them using JMX (see the <a href="../jmx/readme.html">JMX example</a> for a more complete description). You can also use JMS message to retrieve them (see the <a href="../management/readme.html">Management example</a> to
-            learn about managing ActiveMQ Artemis using JMS messages).</p>
-
-       <li>We retrieve the JMX MBean used to manage the JMS queue</li>
-        <pre class="prettyprint">
-            <code>ObjectName on = ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queue.getQueueName());
-            JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMX_URL), new HashMap());
-            MBeanServerConnection mbsc = connector.getMBeanServerConnection();
-            JMSQueueControl queueControl = (JMSQueueControl)MBeanServerInvocationHandler.newProxyInstance(mbsc,
-                                                                                              on,
-                                                                                              JMSQueueControl.class,
-                                                                                              false);</code>
-        </pre>
-
-        <li>We retrieve the message counter and display them. MessageCounters are retrieved as <code>JSON Strings</code> for portability reason (whether
-            JMX is used for management or JMS messages). To make it simpler to use them in the code, there is a <code>MessageCounterInfo</code> data structure.</li>
-        <pre class="prettyprint">
-            <code>String counters = queueControl.listMessageCounter();
-            MessageCounterInfo messageCounter = MessageCounterInfo.fromJSON(counters);</code>>
-        </pre>
-
-        <li>We display the message counters</li>
-        <pre class="prettyprint">
-            <code>displayMessageCounter(messageCounter);</code>
-        </pre>
-
-        <p>The message counter contains a variety of metrics on the queue which is sampled (total messages added to the queue, current depth of the queue, deltas since the last sample, timestamp
-            of the last message added, timestamp of the last sample, etc.)</p>
-        <pre class="prettyprint">
-            <code>
-            private void displayMessageCounter(MessageCounterInfo counter)
-            {
-               System.out.format("%s (sample updated at %s)\n",  counter.getName(), counter.getUdpateTimestamp());
-               System.out.format("   %s message(s) added to the queue (since last sample: %s)\n", counter.getCount(),
-                                                                                                  counter.getCountDelta());
-               System.out.format("   %s message(s) in the queue (since last sample: %s)\n", counter.getDepth(),
-                                                                                            counter.getDepthDelta());
-               System.out.format("   last message added at %s\n\n", counter.getLastAddTimestamp());
-            }</code>
-        </pre>
-
-        <li>We sleep again to have the queue sampled</li>
-        <pre class="prettyprint">
-            <code>System.out.println("Sleep a little bit again...");
-            Thread.sleep(3000);</code>
-        </pre>
-
-        <li>We list the message counters again</li>
-        <pre class="prettyprint">
-            <code>counters = queueControl.listMessageCounter();
-            messageCounter = MessageCounterInfo.fromJSON(counters);
-            displayMessageCounter(messageCounter);</code>
-        </pre>
-
-        <p>We will now consume a message from the queue before listing a last time the message counters</p>
-
-        <li>We create a consumer for the queue</li>
-        <pre class="prettyprint">
-            <code>MessageConsumer consumer = session.createConsumer(queue);</code>
-        </pre>
-
-        <li>We start the connection to receive messages on the consumer</li>
-        <pre class="prettyprint">
-           <code>connection.start();</code>
-        </pre>
-
-        <li>We receive a message from the queue</li>
-        <pre class="prettyprint">
-           <code>TextMessage messageReceived = (TextMessage)consumer.receive(5000);
-           System.out.format("Received message: %s\n\n", messageReceived.getText());</code>
-        </pre>
-
-        <li>We sleep one last time to have the queue sampled</li>
-        <pre class="prettyprint">
-            <code>System.out.println("Sleep a little bit one last time...");
-            Thread.sleep(3000);</code>
-        </pre>
-
-        <li>We list the message counters a final time (this time with no message in the queue)</li>
-        <pre class="prettyprint">
-            <code>counters = queueControl.listMessageCounter();
-            messageCounter = MessageCounterInfo.fromJSON(counters);
-            displayMessageCounter(messageCounter);</code>
-        </pre>
-
-        </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>
-
-     <li>User Manual's <a href="../../../docs/user-manual/en/html_single/index.html#management.message-counters">Message Counters chapter</a></li>
-     <li><a href="../../../docs/api/org/jboss/messaging/core/management/MessageCounterInfo.html">MessageCounterInfo</a> is a helper class used
-        to create a MessageCounterInfo object from the JSON String which represents message counters</li>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/message-counters/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-counters/readme.md b/examples/features/standard/message-counters/readme.md
new file mode 100644
index 0000000..f5ff5a7
--- /dev/null
+++ b/examples/features/standard/message-counters/readme.md
@@ -0,0 +1,23 @@
+# JMS Message Counter 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 use message counters to obtain message information for a JMS queue.
+
+The example will show how to configure sampling of message counters.
+
+We will produce and consume 1 message from a queue. Interleaved with the JMS operation, we will retrieve the queue's message counters at different times to display the metrics on the queue.
+
+## Example setup
+
+Message counter is configured in the broker configuration file broker.xml:
+
+    <message-counter-enabled>true</message-counter-enabled>
+    <message-counter-sample-period>2000</message-counter-sample-period>
+    <message-counter-max-day-history>2</message-counter-max-day-history>
+
+By default, message counters are not enabled (for performance reason). To enable them, set `message-counter-enabled` to `true`.
+Queues are sampled every 10 seconds by default. For this example we will reduce it to 2 seconds by setting `message-counter-sample-period` to `2000`.
+ActiveMQ Artemis holds in memory the message counters' history for a maximum number of days (10 by default). We can change the number of days the history is kept by setting the `message-counter-max-day-history` parameter.
+
+The sample period and the max day history parameters have a small impact on the performance of ActiveMQ Artemis (the resources taken to sample a queue are not available to the system's normal use). You should set these parameters accordingly to the use and throughput of your messages.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/message-counters/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-counters/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/message-counters/src/main/resources/activemq/server0/broker.xml
index cfb8262..ec9a8b9 100644
--- a/examples/features/standard/message-counters/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/message-counters/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 ../../../../src/schema/artemis-server.xsd">
-
-   
-
+-->
+<configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:activemq ../../../../src/schema/artemis-configuration.xsd">
    <core xmlns="urn:activemq:core">
 
       <bindings-directory>./data/messaging/bindings</bindings-directory>
@@ -72,7 +70,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/message-group/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-group/pom.xml b/examples/features/standard/message-group/pom.xml
index 8ca2809..46cadb4 100644
--- a/examples/features/standard/message-group/pom.xml
+++ b/examples/features/standard/message-group/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/message-group/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-group/readme.html b/examples/features/standard/message-group/readme.html
deleted file mode 100644
index 277d2f6..0000000
--- a/examples/features/standard/message-group/readme.html
+++ /dev/null
@@ -1,152 +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 Message Group 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>Message Group 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 message groups with ActiveMQ Artemis.</p>
-
-     <p>Message groups are sets of messages that has the following characteristics: </p>
-     <li>Messages in a message group share the same group id, i.e. they have same JMSXGroupID string property values.</li>
-     <li>Messages in a message group will be all delivered to no more than one of the queue's consumers. The consumer that receives the
-     first message of a group will receive all the messages that belong to the group.</li>
-
-     <p>You can make any message belong to a message group by setting its 'JMSXGroupID' string property to the group id.
-     In this example we create a message group 'Group-0'. And make such a message group of 10 messages. It also create two consumers on the queue
-     where the 10 'Group-0' group messages are to be sent. You can see that with message grouping enabled, all the 10 messages will be received by
-     the first consumer. The second consumer will receive none. </p>
-
-     <p>Alternatively, ActiveMQ's connection factories can be configured to <em>auto group</em> messages. By setting <code>autogroup</code> to </code>true</code> on the <code>ActiveMQConnectionFactory</code>
-        (or setting <code>&lt;autogroup&gt;true&lt;/autogroup&gt;</code> in <code>activemq-jms.xml</code>'s connection factory settings), a random unique id
-        will be picked to create a message group. <em>Every messages</em> sent by a producer created from this connection factory will automatically
-        be part of this message group.</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 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 two consumers.</li>
-        <pre class="prettyprint">
-           <code>
-          MessageConsumer consumer1 = session.createConsumer(queue);
-          consumer1.setMessageListener(new SimpleMessageListener("consumer-1"));
-          MessageConsumer consumer2 = session.createConsumer(queue);
-          consumer2.setMessageListener(new SimpleMessageListener("consumer-2"));
-          </code>
-        </pre>
-
-        <li>We create and send 10 text messages with group id 'Group-0'</li>
-        <pre class="prettyprint">
-           <code>
-         int msgCount = 10;
-         TextMessage[] groupMessages = new TextMessage[msgCount];
-         for (int i = 0; i &lt; msgCount; i++)
-         {
-            groupMessages[i] = session.createTextMessage("Group-0 message " + i);
-            groupMessages[i].setStringProperty("JMSXGroupID", "Group-0");
-            producer.send(groupMessages[i]);
-            System.out.println("Sent message: " + groupMessages[i].getText());
-         }
-           </code>
-        </pre>
-
-        <li>We start the connection.</li>
-          <pre class="prettyprint">
-           <code>connection.start();</code>
-        </pre>
-
-        <li>We check the group messages are received by only one consumer</li>
-        <pre class="prettyprint">
-           <code>
-         String trueReceiver = messageReceiverMap.get(groupMessages[0].getText());
-         for (TextMessage grpMsg : groupMessages)
-         {
-            String receiver = messageReceiverMap.get(grpMsg.getText());
-            if (!trueReceiver.equals(receiver))
-            {
-               System.out.println("Group message [" + grpMsg.getText() + "[ went to wrong receiver: " + receiver);
-               result = false;
-            }
-         }
-           </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#message-grouping">Message Grouping chapter</a></li>
-     </ul>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/message-group/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-group/readme.md b/examples/features/standard/message-group/readme.md
new file mode 100644
index 0000000..b570bf3
--- /dev/null
+++ b/examples/features/standard/message-group/readme.md
@@ -0,0 +1,14 @@
+# Message Group 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 message groups with ActiveMQ Artemis.
+
+Message groups are sets of messages that has the following characteristics:
+
+*   Messages in a message group share the same group id, i.e. they have same JMSXGroupID string property values.
+*   Messages in a message group will be all delivered to no more than one of the queue's consumers. The consumer that receives the first message of a group will receive all the messages that belong to the group.
+
+You can make any message belong to a message group by setting its 'JMSXGroupID' string property to the group id. In this example we create a message group 'Group-0'. And make such a message group of 10 messages. It also create two consumers on the queue where the 10 'Group-0' group messages are to be sent. You can see that with message grouping enabled, all the 10 messages will be received by the first consumer. The second consumer will receive none.
+
+Alternatively, ActiveMQ's connection factories can be configured to _auto group_ messages. By setting `autoGroup=true` in the client's URL a random unique id will be picked to create a message group. _Every messages_ sent by a producer created from this connection factory will automatically be part of this message group.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/message-group2/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-group2/pom.xml b/examples/features/standard/message-group2/pom.xml
index 5d38995..c447926 100644
--- a/examples/features/standard/message-group2/pom.xml
+++ b/examples/features/standard/message-group2/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/message-group2/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-group2/readme.html b/examples/features/standard/message-group2/readme.html
deleted file mode 100644
index 983a442..0000000
--- a/examples/features/standard/message-group2/readme.html
+++ /dev/null
@@ -1,161 +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 Message Group 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>Message Group 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 message groups via a connection factory with ActiveMQ Artemis.</p>
-
-     <p>Message groups are sets of messages that has the following characteristics: </p>
-     <li>Messages in a message group share the same group id, i.e. they have same JMSXGroupID string property values.</li>
-     <li>Messages in a message group will be all delivered to no more than one of the queue's consumers. The consumer that receives the
-     first message of a group will receive all the messages that belongs to the group.</li>
-
-     <p>You can make any message belong to a message group by setting a 'group-id' on the connection factory. All producers created via this connection factory will set that group id on its messages.
-     In this example we set the group id 'Group-0'on a connection factory and send messages via 2 different producers and check that only 1 consumer receives them. </p>
-
-     <p>Alternatively, ActiveMQ's connection factories can be configured to <em>auto group</em> messages. By setting <code>autogroup</code> to </code>true</code> on the <code>ActiveMQConnectionFactory</code>
-        (or setting <code>&lt;autogroup&gt;true&lt;/autogroup&gt;</code> in <code>activemq-jms.xml</code>'s connection factory settings), a random unique id
-        will be picked to create a message group. <em>Every messages</em> sent by a producer created from this connection factory will automatically
-        be part of this message group.</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 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 2 JMS message producers on the session. This will be used to send the messages.</li>
-        <pre class="prettyprint">
-          <code>
-              MessageProducer producer1 = session.createProducer(queue);
-
-              MessageProducer producer2 = session.createProducer(queue);</code>
-       </pre>
-
-        <li>We create two consumers.</li>
-        <pre class="prettyprint">
-           <code>
-          MessageConsumer consumer1 = session.createConsumer(queue);
-          consumer1.setMessageListener(new SimpleMessageListener("consumer-1"));
-          MessageConsumer consumer2 = session.createConsumer(queue);
-          consumer2.setMessageListener(new SimpleMessageListener("consumer-2"));
-          </code>
-        </pre>
-
-        <li>We create and send 10 text messages using each producer</li>
-        <pre class="prettyprint">
-           <code>
-         int msgCount = 10;
-         for (int i = 0; i < msgCount; i++)
-         {
-            TextMessage m = session.createTextMessage("producer1 message " + i);
-            producer1.send(m);
-            System.out.println("Sent message: " + m.getText());
-            TextMessage m2 = session.createTextMessage("producer2 message " + i);
-            producer2.send(m2);
-            System.out.println("Sent message: " + m2.getText());
-         }
-           </code>
-        </pre>
-
-        <li>We start the connection.</li>
-          <pre class="prettyprint">
-           <code>connection.start();</code>
-        </pre>
-
-        <li>We check the group messages are received by only one consumer</li>
-        <pre class="prettyprint">
-           <code>
-            String trueReceiver = messageReceiverMap.get("producer1 message " + 0);
-            for (int i = 0; i < msgCount; i++)
-            {
-               String receiver = messageReceiverMap.get("producer1 message " + i);
-               if (!trueReceiver.equals(receiver))
-               {
-                  System.out.println("Group message [producer1 message " + i + "] went to wrong receiver: " + receiver);
-                  result = false;
-               }
-               receiver = messageReceiverMap.get("producer2 message " + i);
-               if (!trueReceiver.equals(receiver))
-               {
-                  System.out.println("Group message [producer2 message " + i + "] went to wrong receiver: " + receiver);
-                  result = false;
-               }
-            }
-
-           </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#message-grouping2">Message Grouping chapter</a></li>
-     </ul>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/message-group2/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-group2/readme.md b/examples/features/standard/message-group2/readme.md
new file mode 100644
index 0000000..0a81e20
--- /dev/null
+++ b/examples/features/standard/message-group2/readme.md
@@ -0,0 +1,14 @@
+# Message Group 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 message groups via a connection factory with ActiveMQ Artemis.
+
+Message groups are sets of messages that has the following characteristics:
+
+*   Messages in a message group share the same group id, i.e. they have same JMSXGroupID string property values.
+*   Messages in a message group will be all delivered to no more than one of the queue's consumers. The consumer that receives the first message of a group will receive all the messages that belongs to the group.
+
+You can make any message belong to a message group by setting a 'group-id' on the connection factory. All producers created via this connection factory will set that group id on its messages. In this example we set the group id 'Group-0'on a connection factory and send messages via 2 different producers and check that only 1 consumer receives them.
+
+Alternatively, ActiveMQ's connection factories can be configured to _auto group_ messages. By setting `autoGroup=true` in the client's URL a random unique id will be picked to create a message group. _Every messages_ sent by a producer created from this connection factory will automatically be part of this message group.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/message-priority/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-priority/pom.xml b/examples/features/standard/message-priority/pom.xml
index 4e89d0c..9c07a3b 100644
--- a/examples/features/standard/message-priority/pom.xml
+++ b/examples/features/standard/message-priority/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/message-priority/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-priority/readme.html b/examples/features/standard/message-priority/readme.html
deleted file mode 100644
index fc25297..0000000
--- a/examples/features/standard/message-priority/readme.html
+++ /dev/null
@@ -1,159 +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 Message Priority 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 Message Priority 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 messages with different priorities are delivered in different orders.</p>
-
-     <p>The Message Priority property carries the delivery preference of sent messages. It can be set by the message's
-     standard header field 'JMSPriority' as defined in JMS specification version 1.1. The value is of type
-     integer, ranging from 0 (the lowest) to 9 (the highest). When messages are being delivered, their priorities
-     will effect their order of delivery. Messages of higher priorities will likely be delivered before those
-     of lower priorities. Messages of equal priorities are delivered in the natural order of their arrival at
-     their destinations. Please consult the JMS 1.1 specification for full details.</p>
-
-     <p>In this example, three messages are sent to a queue with different priorities. The first message is sent
-     with default priority (4), the second is sent with a higher priority (5), and the third has the highest
-     priority (9). At the receiving end, we will show the order of receiving of the three messages. You will
-     see that the third message, though last sent, will 'jump' forward to be the first one received. The second
-     is also received ahead of the message first sent, but behind the third message. The first message, regardless
-     of its being sent first, arrives last.</p>
-
-     <h2>Example step-by-step</h2>
-     <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p>
-
-     <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 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 Message Consumer.</li>
-        <pre class="prettyprint">
-           <code>
-           MessageConsumer redConsumer = session.createConsumer(queue);
-           redConsumer.setMessageListener(new SimpleMessageListener());
-           </code>
-        </pre>
-
-        <li>We Create three messages.</li>
-        <pre class="prettyprint">
-           <code>
-           TextMessage[] sentMessages = new TextMessage[3];
-           sentMessages[0] = session.createTextMessage("first message");
-           sentMessages[1] = session.createTextMessage("second message");
-           sentMessages[2] = session.createTextMessage("third message");
-           </code>
-        </pre>
-
-        <li>Send the Messages, each has a different priority.</li>
-        <pre class="prettyprint">
-           <code>
-           producer.send(sentMessages[0]);
-           System.out.println("Message sent: " + sentMessages[0].getText() + " with priority: " + sentMessages[0].getJMSPriority());
-           producer.send(sentMessages[1], DeliveryMode.NON_PERSISTENT, 5, 0);
-           System.out.println("Message sent: " + sentMessages[1].getText() + "with priority: " + sentMessages[1].getJMSPriority());
-           producer.send(sentMessages[2], DeliveryMode.NON_PERSISTENT, 9, 0);
-           System.out.println("Message sent: " + sentMessages[2].getText() + "with priority: " + sentMessages[2].getJMSPriority());
-           </code>
-        </pre>
-
-        <li>We start the connection now.</li>
-        <pre class="prettyprint">
-           <code>
-           connection.start();
-           </code>
-        </pre>
-
-        <li>We wait for message delivery completion</li>
-        <pre class="prettyprint">
-           <code>
-           Thread.sleep(5000);
-           </code>
-        </pre>
-
-        <li>We wait for message delivery completion</li>
-        <pre class="prettyprint">
-           <code>
-           for (int i = 0; i < 3; i++)
-           {
-              TextMessage rm = msgReceived.get(i);
-              if (!rm.getText().equals(sentMessages[2-i].getText()))
-              {
-                 System.err.println("Priority is broken!");
-                 result = false;
-              }
-           }
-           </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>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/message-priority/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/message-priority/readme.md b/examples/features/standard/message-priority/readme.md
new file mode 100644
index 0000000..e48746a
--- /dev/null
+++ b/examples/features/standard/message-priority/readme.md
@@ -0,0 +1,9 @@
+# JMS Message Priority 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 messages with different priorities are delivered in different orders.
+
+The Message Priority property carries the delivery preference of sent messages. It can be set by the message's standard header field 'JMSPriority' as defined in JMS specification version 1.1\. The value is of type integer, ranging from 0 (the lowest) to 9 (the highest). When messages are being delivered, their priorities will effect their order of delivery. Messages of higher priorities will likely be delivered before those of lower priorities. Messages of equal priorities are delivered in the natural order of their arrival at their destinations. Please consult the JMS 1.1 specification for full details.
+
+In this example, three messages are sent to a queue with different priorities. The first message is sent with default priority (4), the second is sent with a higher priority (5), and the third has the highest priority (9). At the receiving end, we will show the order of receiving of the three messages. You will see that the third message, though last sent, will 'jump' forward to be the first one received. The second is also received ahead of the message first sent, but behind the third message. The first message, regardless of its being sent first, arrives last.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/no-consumer-buffering/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/no-consumer-buffering/pom.xml b/examples/features/standard/no-consumer-buffering/pom.xml
index 7a56f51..dc1d5c5 100644
--- a/examples/features/standard/no-consumer-buffering/pom.xml
+++ b/examples/features/standard/no-consumer-buffering/pom.xml
@@ -102,6 +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/no-consumer-buffering/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/no-consumer-buffering/readme.html b/examples/features/standard/no-consumer-buffering/readme.html
deleted file mode 100644
index 55a73a2..0000000
--- a/examples/features/standard/no-consumer-buffering/readme.html
+++ /dev/null
@@ -1,205 +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 No Consumer Buffering 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>No Consumer Buffering 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>By default, ActiveMQ Artemis consumers buffer messages from the server in a client side buffer
-     before actual delivery actually occurs.</p>
-     <p>This improves performance since otherwise every time you called receive() or had processed the last
-     message in a MessageListener onMessage() method, the ActiveMQ Artemis client would have to go the
-     server to request the next message involving a network round trip for every message reducing performance.</p>
-     <p>Therefore, by default, ActiveMQ Artemis pre-fetches messages into a buffer on each consumer. The total maximum size of
-     messages in bytes that will be buffered on each consumer is determined by the <code>consumer-window-size</code>
-     parameter on the connection factory.</p>
-     <p>In some cases it is not desirable to buffer any messages on the client side consumer.</p>
-     <p>An example would be an order queue which had multiple consumers that processed orders from the queue.
-     Each order takes a significant time to process, but each one should be processed in a timely fashion.</p>
-     <p>If orders were buffered in each consumer, and a new consumer was added that consumer would not be able
-     to process orders which were already in the client side buffer of another consumer.</p>
-     <p>To turn off client side buffering of messages, set <code>consumer-window-size</code> to zero.</p>
-
-     <p>With ActiveMQ Artemis you can specify a maximum consume rate at which a JMS MessageConsumer will consume messages.
-     This can be specified when creating or deploying the connection factory. See <code>activemq-jms.xml</code></p>
-     <h2>Example step-by-step</h2>
-     <p>In this example we specify a <code>consumer-window-size</code> of <code>0</code> bytes in the <code>activemq-jms.xml</code>
-     file when deploying the connection factory:</p>
-     <pre class="prettyprint">
-     <code>
-   &lt;connection-factory name="ConnectionFactory"&gt;
-      &lt;connector-ref&gt;netty-connector&lt;/connector-ref&gt;
-      &lt;entries&gt;
-         &lt;entry name="ConnectionFactory"/&gt;
-      &lt;/entries&gt;
-
-      &lt;!-- We set the consumer window size to 0, which means messages are not buffered at all
-      on the client side --&gt;
-      &lt;consumer-window-size&gt;0&lt;/consumer-window-size&gt;
-
-   &lt;/connection-factory&gt;
-     </code>
-     </pre>
-     <p>We create a consumer on a queue and send 10 messages to it. We then create another consumer on
-     the same queue.</p>
-     <p>We then consume messages from each consumer in a semi-random order. We note that the messages
-     are consumed in the order they were sent.</p>
-     <p>If the messages had been buffered in each consumer they would not be available to be consumed
-     in an order determined afer delivery.</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</li>
-        <pre class="prettyprint">
-           <code>ConnectionFactory cf = (ConnectionFactory)initialContext.lookup("/ConnectionFactory");</code>
-        </pre>
-
-        <li>Create a JMS Connection</li>
-        <pre class="prettyprint">
-           <code>connection = cf.createConnection();</code>
-        </pre>
-
-        <li>Create a JMS Session</li>
-        <pre class="prettyprint">
-           <code>Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);</code>
-        </pre>
-
-        <li>Create a JMS MessageProducer</li>
-        <pre class="prettyprint">
-          <code>MessageProducer producer = session.createProducer(queue);</code>
-        </pre>
-
-        <li>Create a JMS MessageConsumer</li>
-        <pre class="prettyprint">
-           <code>MessageConsumer consumer1 = session.createConsumer(queue);</code>
-        </pre>
-
-        <li>Start the connection</li>
-
-        <pre class="prettyprint">
-           <code>
-     connection.start();
-           </code>
-        </pre>
-
-
-        <li>Send 10 messages to the queue</li>
-        <pre class="prettyprint">
-           <code>
-     final int numMessages = 10;
-
-     for (int i = 0; i < numMessages; i++)
-     {
-        TextMessage message = session.createTextMessage("This is text message: " + i);
-
-        producer.send(message);
-     }
-           </code>
-        </pre>
-
-        <li>Create another JMS MessageConsumer on the same queue.</li>
-        <pre class="prettyprint">
-           <code>MessageConsumer consumer2 = session.createConsumer(queue);</code>
-        </pre>
-
-        <li>Consume three messages from consumer2</li>
-
-        <pre class="prettyprint">
-           <code>
-   for (int i = 0; i < 3; i++)
-   {
-      TextMessage message = (TextMessage)consumer2.receive(2000);
-
-      System.out.println("Consumed message from consumer2: " + message.getText());
-   }
-           </code>
-        </pre>
-
-        <li>Consume five messages from consumer1</li>
-
-        <pre class="prettyprint">
-           <code>
-   for (int i = 0; i < 5; i++)
-   {
-      TextMessage message = (TextMessage)consumer1.receive(2000);
-
-      System.out.println("Consumed message from consumer1: " + message.getText());
-   }
-           </code>
-        </pre>
-
-        <li>Consume two more messages from consumer2</li>
-
-        <pre class="prettyprint">
-           <code>
-   for (int i = 0; i < 2; i++)
-   {
-      TextMessage message = (TextMessage)consumer1.receive(2000);
-
-      System.out.println("Consumed message from consumer2: " + message.getText());
-   }
-           </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>
-
-     <h2>More information</h2>
-
-     <ul>
-         <li>User Manual's <a href="../../../docs/user-manual/en/html_single/index.html#flow-control.consumer.window">Consumer Window-Based Flow Control chapter</a></li>
-     </ul>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/no-consumer-buffering/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/no-consumer-buffering/readme.md b/examples/features/standard/no-consumer-buffering/readme.md
new file mode 100644
index 0000000..5ae359b
--- /dev/null
+++ b/examples/features/standard/no-consumer-buffering/readme.md
@@ -0,0 +1,29 @@
+# No Consumer Buffering 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.
+
+By default, ActiveMQ Artemis consumers buffer messages from the broker in a client side buffer before actual delivery actually occurs.
+
+This improves performance since otherwise every time you called receive() or had processed the last message in a MessageListener onMessage() method, the ActiveMQ Artemis client would have to go the broker to request the next message involving a network round trip for every message reducing performance.
+
+Therefore, by default, ActiveMQ Artemis pre-fetches messages into a buffer on each consumer. The total maximum size of messages in bytes that will be buffered on each consumer is determined by the `consumerWindowSize` parameter on the connection URL.
+
+In some cases it is not desirable to buffer any messages on the client side consumer.
+
+An example would be an order queue which had multiple consumers that processed orders from the queue. Each order takes a significant time to process, but each one should be processed in a timely fashion.
+
+If orders were buffered in each consumer, and a new consumer was added that consumer would not be able to process orders which were already in the client side buffer of another consumer.
+
+To turn off client side buffering of messages, set `consumerWindowSize` to zero.
+
+With ActiveMQ Artemis you can specify a maximum consume rate at which a JMS MessageConsumer will consume messages. This can be specified when configuring the connection URL.
+
+## Example step-by-step
+
+In this example we specify a `consumerWindowSize` of `0` bytes on the connection URL in `jndi.properties`.
+
+We create a consumer on a queue and send 10 messages to it. We then create another consumer on the same queue.
+
+We then consume messages from each consumer in a semi-random order. We note that the messages are consumed in the order they were sent.
+
+If the messages had been buffered in each consumer they would not be available to be consumed in an order determined after delivery.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/paging/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/paging/pom.xml b/examples/features/standard/paging/pom.xml
index 40cdf91..aa304fb 100644
--- a/examples/features/standard/paging/pom.xml
+++ b/examples/features/standard/paging/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/paging/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/paging/readme.html b/examples/features/standard/paging/readme.html
deleted file mode 100644
index 7c74320..0000000
--- a/examples/features/standard/paging/readme.html
+++ /dev/null
@@ -1,187 +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 Paging 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>Paging 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 ActiveMQ Artemis would avoid running out of memory resources by paging messages.</p>
-     <p>A maxSize can be specified per Destination via the destinations settings configuration file (broker.xml).</p>
-     <p>When messages routed to an address exceed the specified maxSize the server will begin to write messages to the file
-     system, this is called paging. This will continue to occur until messages have been delivered to consumers and subsequently
-     acknowledged freeing up memory. Messages will then be read from the file system , i.e. depaged, and routed as normal. </p>
-     <p>Acknowledgement plays an important factor on paging as messages will stay on the file system until the memory is released
-     so it is important to make sure that the client acknowledges its messages.</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 connection factory object from JNDI</li>
-        <pre class="prettyprint">
-           <code>ConnectionFactory cf = (ConnectionFactory) initialContext.lookup("/ConnectionFactory");</code>
-        </pre>
-
-        <li>We look-up the JMS queue object from JNDI. pagingQueue is configured to hold a very limited number of bytes in memory</li>
-        <pre class="prettyprint">
-           <code>Queue pageQueue = (Queue) initialContext.lookup("/queue/pagingQueue");</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 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. We will use client acknowledgement on this example.</li>
-        <pre class="prettyprint">
-           <code>Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);</code>
-        </pre>
-
-
-         <li>Create a JMS Message Producer for pageQueueAddress</li>
-         <pre class="prettyprint"><code>
-         MessageProducer pageMessageProducer = session.createProducer(pageQueue);
-         </pre></code>
-
-         <li>We don't need persistent messages in order to use paging. (This step is optional)</li>
-         <pre class="prettyprint"><code>
-         pageMessageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-         </pre></code>
-
-         <li>Create a Binary Bytes Message with 10K arbitrary bytes</li>
-         <pre class="prettyprint"><code>
-         BytesMessage message = session.createBytesMessage();
-         message.writeBytes(new byte[10 * 1024]);
-         </pre></code>
-
-
-         <li>Send only 20 messages to the Queue. This will be already enough for pagingQueue. Look at ./paging/config/activemq-queues.xml for the config.</li>
-         <pre class="prettyprint"><code>
-         for (int i = 0; i < 20; i++)
-         {
-            pageMessageProducer.send(message);
-         }
-         </pre></code>
-
-         <li>Create a JMS Message Producer</li>
-         <pre class="prettyprint"><code>
-         MessageProducer messageProducer = session.createProducer(queue);
-         </pre></code>
-
-         <li>We don't need persistent messages in order to use paging. (This step is optional)</li>
-         <pre class="prettyprint"><code>
-         messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-         </pre></code>
-
-         <li>Send the message for about 30K, which should be over the memory limit imposed by the server</li>
-         <pre class="prettyprint"><code>
-         for (int i = 0; i < 30000; i++)
-         {
-            messageProducer.send(message);
-         }
-         </pre></code>
-
-         <li>if you pause the example here, you will several files under ./build/data/paging</li>
-
-         <pre class="prettyprint"><code>
-         // Thread.sleep(30000); // if you want to just our of curiosity, you can sleep here and inspect the created files just for
-         </pre></code>
-
-
-         <li>Create a JMS Message Consumer</li>
-         <pre class="prettyprint"><code>
-         MessageConsumer messageConsumer = session.createConsumer(queue);
-         </pre></code>
-
-
-         <li>Start the JMS Connection. This step will activate the subscribers to receive messages.</li>
-         <pre class="prettyprint"><code>
-         connection.start();
-         </pre></code>
-
-
-         <li>Receive the messages. It's important to ACK for messages as ActiveMQ Artemis will not read messages from paging until messages are ACKed</li>
-
-         <pre class="prettyprint"><code>
-         for (int i = 0; i < 30000; i++)
-         {
-            message = (BytesMessage)messageConsumer.receive(1000);
-
-            if (i % 1000 == 0)
-            {
-               System.out.println("Received " + i + " messages");
-
-               message.acknowledge();
-            }
-         }
-         </pre></code>
-
-         <li>Receive the messages from the Queue names pageQueue. Create the proper consumer for that.</li>
-         <pre class="prettyprint"><code>
-         messageConsumer.close();
-         messageConsumer = session.createConsumer(pageQueue);
-
-         for (int i = 0; i < 20; i++)
-         {
-            message = (BytesMessage)messageConsumer.receive(1000);
-
-            System.out.println("Received message " + i + " from pageQueue");
-
-            message.acknowledge();
-         }
-         </pre></code>
-
-        <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>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/paging/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/paging/readme.md b/examples/features/standard/paging/readme.md
new file mode 100644
index 0000000..f0697e1
--- /dev/null
+++ b/examples/features/standard/paging/readme.md
@@ -0,0 +1,11 @@
+# Paging 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 ActiveMQ Artemis would avoid running out of memory resources by paging messages.
+
+A maximum size can be specified per address via the address settings in the configuration file (broker.xml).
+
+When messages routed to an address exceed the specified max-size-bytes the broker will begin to write messages to the file system, this is called paging. This will continue to occur until messages have been delivered to consumers and subsequently acknowledged freeing up memory. Messages will then be read from the file system , i.e. depaged, and routed as normal.
+
+Acknowledgement plays an important factor on paging as messages will stay on the file system until the memory is released so it is important to make sure that the client acknowledges its messages.
\ No newline at end of file


[09/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client-amqp/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client-amqp/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/interceptor-client-amqp/src/main/resources/activemq/server0/broker.xml
deleted file mode 100644
index 6374087..0000000
--- a/examples/features/standard/interceptor-client-amqp/src/main/resources/activemq/server0/broker.xml
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version='1.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.
--->
-
-<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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="urn:activemq:core ">
-
-      <name>0.0.0.0</name>
-
-      <persistence-enabled>true</persistence-enabled>
-
-      <!-- this could be ASYNCIO or NIO
-       -->
-      <journal-type>ASYNCIO</journal-type>
-
-      <paging-directory>./data/paging</paging-directory>
-
-      <remoting-incoming-interceptors>
-         <class-name>org.apache.activemq.artemis.amqp.example.SimpleAmqpInterceptor</class-name>
-      </remoting-incoming-interceptors>
-
-      <bindings-directory>./data/bindings</bindings-directory>
-
-      <journal-directory>./data/journal</journal-directory>
-
-      <large-messages-directory>./data/large-messages</large-messages-directory>
-
-      <journal-datasync>true</journal-datasync>
-
-      <journal-min-files>2</journal-min-files>
-
-      <journal-pool-files>-1</journal-pool-files>
-
-      <!--
-        You can verify the network health of a particular NIC by specifying the <network-check-NIC> element.
- 	<network-check-NIC>theNicName</network-check-NIC>
-        -->
-
-      <!--
-        Use this to use an HTTP server to validate the network
-         <network-check-URL-list>http://www.apache.org</network-check-URL-list> -->
-
-      <!-- <network-check-period>10000</network-check-period> -->
-      <!-- <network-check-timeout>1000</network-check-timeout> -->
-
-      <!-- this is a comma separated list, no spaces, just DNS or IPs
-           it should accept IPV6
-
-           Warning: Make sure you understand your network topology as this is meant to validate if your network is valid.
-                    Using IPs that could eventually disappear or be partially visible may defeat the purpose.
-                    You can use a list of multiple IPs, and if any successful ping will make the server OK to continue running -->
-      <!-- <network-check-list>10.0.0.1</network-check-list> -->
-
-      <!-- use this to customize the ping used for ipv4 addresses -->
-      <!-- <network-check-ping-command>ping -c 1 -t %d %s</network-check-ping-command> -->
-
-      <!-- use this to customize the ping used for ipv6 addresses -->
-      <!-- <network-check-ping6-command>ping6 -c 1 %2$s</network-check-ping6-command> -->
-
-
-
-
-      <!-- how often we are looking for how many bytes are being used on the disk in ms -->
-      <disk-scan-period>5000</disk-scan-period>
-
-      <!-- once the disk hits this limit the system will block, or close the connection in certain protocols
-           that won't support flow control. -->
-      <max-disk-usage>90</max-disk-usage>
-
-      <!-- the system will enter into page mode once you hit this limit.
-           This is an estimate in bytes of how much the messages are using in memory -->
-      <global-max-size>100Mb</global-max-size>
-
-      <acceptors>
-         <!-- Acceptor for every supported protocol -->
-         <acceptor name="artemis">tcp://0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE</acceptor>
-
-
-         <!-- AMQP Acceptor.  Listens on default AMQP port for AMQP traffic.-->
-         <acceptor name="amqp">tcp://0.0.0.0:5672?protocols=AMQP</acceptor>
-
-         <!-- STOMP Acceptor. -->
-         <acceptor name="stomp">tcp://0.0.0.0:61613?protocols=STOMP</acceptor>
-
-         <!-- HornetQ Compatibility Acceptor.  Enables HornetQ Core and STOMP for legacy HornetQ clients. -->
-         <acceptor name="hornetq">tcp://0.0.0.0:5445?protocols=HORNETQ,STOMP</acceptor>
-
-         <!-- MQTT Acceptor -->
-         <acceptor name="mqtt">tcp://0.0.0.0:1883?protocols=MQTT</acceptor>
-
-      </acceptors>
-
-
-      <security-settings>
-         <security-setting match="#">
-            <permission type="createNonDurableQueue" roles="guest"/>
-            <permission type="deleteNonDurableQueue" roles="guest"/>
-            <permission type="createDurableQueue" roles="guest"/>
-            <permission type="deleteDurableQueue" roles="guest"/>
-            <permission type="createAddress" roles="guest"/>
-            <permission type="deleteAddress" roles="guest"/>
-            <permission type="consume" roles="guest"/>
-            <permission type="browse" roles="guest"/>
-            <permission type="send" roles="guest"/>
-            <!-- we need this otherwise ./artemis data imp wouldn't work -->
-            <permission type="manage" roles="guest"/>
-         </security-setting>
-      </security-settings>
-
-      <address-settings>
-         <!-- if you define auto-create on certain queues, management has to be auto-create -->
-         <address-setting match="activemq.management#">
-            <dead-letter-address>DLQ</dead-letter-address>
-            <expiry-address>ExpiryQueue</expiry-address>
-            <redelivery-delay>0</redelivery-delay>
-            <!-- with -1 only the global-max-size is in use for limiting -->
-            <max-size-bytes>-1</max-size-bytes>
-            <message-counter-history-day-limit>10</message-counter-history-day-limit>
-            <address-full-policy>PAGE</address-full-policy>
-            <auto-create-queues>true</auto-create-queues>
-            <auto-create-addresses>true</auto-create-addresses>
-            <auto-create-jms-queues>true</auto-create-jms-queues>
-            <auto-create-jms-topics>true</auto-create-jms-topics>
-         </address-setting>
-         <!--default for catch all-->
-         <address-setting match="#">
-            <dead-letter-address>DLQ</dead-letter-address>
-            <expiry-address>ExpiryQueue</expiry-address>
-            <redelivery-delay>0</redelivery-delay>
-            <!-- with -1 only the global-max-size is in use for limiting -->
-            <max-size-bytes>-1</max-size-bytes>
-            <message-counter-history-day-limit>10</message-counter-history-day-limit>
-            <address-full-policy>PAGE</address-full-policy>
-            <auto-create-queues>true</auto-create-queues>
-            <auto-create-addresses>true</auto-create-addresses>
-            <auto-create-jms-queues>true</auto-create-jms-queues>
-            <auto-create-jms-topics>true</auto-create-jms-topics>
-         </address-setting>
-      </address-settings>
-
-      <addresses>
-         <address name="DLQ">
-            <anycast>
-               <queue name="DLQ" />
-            </anycast>
-         </address>
-         <address name="ExpiryQueue">
-            <anycast>
-               <queue name="ExpiryQueue" />
-            </anycast>
-         </address>
-
-      </addresses>
-
-   </core>
-</configuration>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client-mqtt/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client-mqtt/pom.xml b/examples/features/standard/interceptor-client-mqtt/pom.xml
deleted file mode 100644
index d9f97bf..0000000
--- a/examples/features/standard/interceptor-client-mqtt/pom.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version='1.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.
--->
-
-<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/maven-v4_0_0.xsd">
-   <modelVersion>4.0.0</modelVersion>
-
-   <parent>
-      <groupId>org.apache.activemq.examples.broker</groupId>
-      <artifactId>jms-examples</artifactId>
-      <version>2.5.0-SNAPSHOT</version>
-   </parent>
-
-   <artifactId>interceptor-client-mqtt</artifactId>
-   <packaging>jar</packaging>
-   <name>ActiveMQ Artemis MQTT Interceptor Example</name>
-
-   <properties>
-      <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
-   </properties>
-
-   <dependencies>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-mqtt-protocol</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-
-      <dependency>
-         <groupId>org.fusesource.mqtt-client</groupId>
-         <artifactId>mqtt-client</artifactId>
-      </dependency>
-
-      <dependency>
-         <groupId>io.netty</groupId>
-         <artifactId>netty-all</artifactId>
-      </dependency>
-   </dependencies>
-
-   <build>
-      <plugins>
-         <plugin>
-            <groupId>org.apache.activemq</groupId>
-            <artifactId>artemis-maven-plugin</artifactId>
-            <executions>
-               <execution>
-                  <id>create</id>
-                  <goals>
-                     <goal>create</goal>
-                  </goals>
-                  <configuration>
-                     <libList><arg>org.apache.activemq.examples.broker:interceptor-client-mqtt:${project.version}</arg></libList>
-                     <ignore>${noServer}</ignore>
-                     <configuration>${basedir}/target/classes/activemq/server0</configuration>
-                  </configuration>
-               </execution>
-               <execution>
-                  <id>start</id>
-                  <goals>
-                     <goal>cli</goal>
-                  </goals>
-                  <configuration>
-                     <ignore>${noServer}</ignore>
-                     <spawn>true</spawn>
-                     <testURI>tcp://localhost:61616</testURI>
-                     <args>
-                        <param>run</param>
-                     </args>
-                  </configuration>
-               </execution>
-               <execution>
-                  <id>runClient</id>
-                  <goals>
-                     <goal>runClient</goal>
-                  </goals>
-                  <configuration>
-                     <clientClass>org.apache.activemq.artemis.mqtt.example.InterceptorExample</clientClass>
-                  </configuration>
-               </execution>
-               <execution>
-                  <id>stop</id>
-                  <goals>
-                     <goal>cli</goal>
-                  </goals>
-                  <configuration>
-                     <ignore>${noServer}</ignore>
-                     <args>
-                        <param>stop</param>
-                     </args>
-                  </configuration>
-               </execution>
-            </executions>
-            <dependencies>
-               <dependency>
-                  <groupId>org.apache.activemq.examples.broker</groupId>
-                  <artifactId>interceptor-client-mqtt</artifactId>
-                  <version>${project.version}</version>
-               </dependency>
-            </dependencies>
-         </plugin>
-      </plugins>
-   </build>
-
-</project>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client-mqtt/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client-mqtt/readme.html b/examples/features/standard/interceptor-client-mqtt/readme.html
deleted file mode 100644
index e8efad0..0000000
--- a/examples/features/standard/interceptor-client-mqtt/readme.html
+++ /dev/null
@@ -1,71 +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 Interceptor 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>MQTT Interceptor 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 implement and configure a simple incoming, server-side MQTT interceptor with ActiveMQ Artemis.</p>
-
-     <p>ActiveMQ Artemis allows an application to use an interceptor to hook into the messaging system. All that needs to do is to implement the
-     Interceptor interface, as defined below: </p>
-     <pre class="prettyprint">
-     <code>
-         public interface Interceptor
-         {
-            boolean intercept(final MqttMessage mqttMessage, RemotingConnection connection);
-         }
-     </code>
-     </pre>
-     <p>Once you have your own interceptor class, add it to the broker.xml, as follows:</p>
-     <pre class="prettyprint">
-     <code>
-        &lt;configuration&gt;
-        ...
-           &lt;remoting-incoming-interceptors&gt;
-              &lt;class-name&gt;org.apache.activemq.artemis.mqtt.example.SimpleMQTTInterceptor&lt;/class-name&gt;
-           &lt;/remoting-incoming-interceptors&gt;
-        ...
-        &lt;/configuration&gt;
-     </code>
-     </pre>
-
-     <p>With interceptor, you can handle various events in message processing. In this example, a simple interceptor, SimpleMQTTInterceptor, is implemented and configured.
-     When the example is running, the interceptor will modify the payload of a sample MQTT message.</p>
-
-     <p>With our interceptor we always return <code>true</code> from the <code>intercept</code> method. If we were
-     to return <code>false</code> that signifies that no more interceptors are to run.
-         Throw an exception to abort processing of the packet.</p>
-  </body>
-</html>
-
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/InterceptorExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/InterceptorExample.java b/examples/features/standard/interceptor-client-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/InterceptorExample.java
deleted file mode 100644
index e72c93f..0000000
--- a/examples/features/standard/interceptor-client-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/InterceptorExample.java
+++ /dev/null
@@ -1,62 +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.
- */
-package org.apache.activemq.artemis.mqtt.example;
-
-import java.nio.charset.StandardCharsets;
-import java.util.concurrent.TimeUnit;
-
-import org.fusesource.mqtt.client.BlockingConnection;
-import org.fusesource.mqtt.client.MQTT;
-import org.fusesource.mqtt.client.Message;
-import org.fusesource.mqtt.client.QoS;
-import org.fusesource.mqtt.client.Topic;
-
-/**
- * A simple example that shows how to implement and use interceptors with ActiveMQ Artemis with the MQTT protocol.
- */
-public class InterceptorExample {
-   public static void main(final String[] args) throws Exception {
-
-      System.out.println("Connecting to Artemis using MQTT");
-      MQTT mqtt = new MQTT();
-      mqtt.setHost("tcp://localhost:1883");
-
-      BlockingConnection connection = mqtt.blockingConnection();
-      connection.connect();
-
-      System.out.println("Connected to Artemis");
-
-      // Subscribe to a topic
-      Topic[] topics = {new Topic("mqtt/example/interceptor", QoS.EXACTLY_ONCE)};
-      connection.subscribe(topics);
-      System.out.println("Subscribed to topics.");
-
-      // Publish message
-      String payload1 = "This is message 1";
-
-      connection.publish("mqtt/example/interceptor", payload1.getBytes(), QoS.EXACTLY_ONCE, false);
-
-      System.out.println("Sent message");
-
-      // Receive the sent message
-      Message message1 = connection.receive(5, TimeUnit.SECONDS);
-
-      String messagePayload = new String(message1.getPayload(), StandardCharsets.UTF_8);
-
-      System.out.println("Received message: " + messagePayload);
-   }
-}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/SimpleMQTTInterceptor.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/SimpleMQTTInterceptor.java b/examples/features/standard/interceptor-client-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/SimpleMQTTInterceptor.java
deleted file mode 100644
index c705b81..0000000
--- a/examples/features/standard/interceptor-client-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/SimpleMQTTInterceptor.java
+++ /dev/null
@@ -1,68 +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.
- */
-package org.apache.activemq.artemis.mqtt.example;
-
-import java.nio.charset.Charset;
-
-import io.netty.handler.codec.mqtt.MqttPublishMessage;
-import io.netty.handler.codec.mqtt.MqttConnectMessage;
-import org.apache.activemq.artemis.core.protocol.mqtt.MQTTInterceptor;
-
-
-import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection;
-
-import io.netty.handler.codec.mqtt.MqttMessage;
-
-
-/**
- * A simple Interceptor implementation
- */
-public class SimpleMQTTInterceptor implements MQTTInterceptor {
-
-   @Override
-   public boolean intercept(final MqttMessage mqttMessage, RemotingConnection connection) {
-      System.out.println("MQTT Interceptor gets called ");
-
-      System.out.println("A MQTT control packet was intercepted " + mqttMessage.fixedHeader().messageType());
-
-      // If you need to handle an specific packet type:
-      if (mqttMessage instanceof MqttPublishMessage) {
-         MqttPublishMessage message = (MqttPublishMessage) mqttMessage;
-
-
-         String originalMessage = message.payload().toString(Charset.forName("UTF-8"));
-         System.out.println("Original message: " + originalMessage);
-
-         // The new message content must not be bigger that the original content.
-         String modifiedMessage = "Modified message ";
-
-         message.payload().setBytes(0, modifiedMessage.getBytes());
-      } else {
-         if (mqttMessage instanceof MqttConnectMessage) {
-            MqttConnectMessage connectMessage = (MqttConnectMessage) mqttMessage;
-            System.out.println("A MQTT CONNECT control packet was intercepted " + connectMessage);
-         }
-      }
-
-
-      // We return true which means "call next interceptor" (if there is one) or target.
-      // If we returned false, it means "abort call" - no more interceptors would be called and neither would
-      // the target
-      return true;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client-mqtt/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client-mqtt/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/interceptor-client-mqtt/src/main/resources/activemq/server0/broker.xml
deleted file mode 100644
index 82e55da..0000000
--- a/examples/features/standard/interceptor-client-mqtt/src/main/resources/activemq/server0/broker.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version='1.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.
--->
-
-<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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="urn:activemq:core ">
-
-      <name>0.0.0.0</name>
-
-      <persistence-enabled>true</persistence-enabled>
-
-      <!-- this could be ASYNCIO or NIO
-       -->
-      <journal-type>ASYNCIO</journal-type>
-
-      <paging-directory>./data/paging</paging-directory>
-
-      <remoting-incoming-interceptors>
-         <class-name>org.apache.activemq.artemis.mqtt.example.SimpleMQTTInterceptor</class-name>
-      </remoting-incoming-interceptors>
-
-      <remoting-outgoing-interceptors>
-         <class-name>org.apache.activemq.artemis.mqtt.example.SimpleMQTTInterceptor</class-name>
-      </remoting-outgoing-interceptors>
-
-      <bindings-directory>./data/bindings</bindings-directory>
-
-      <journal-directory>./data/journal</journal-directory>
-
-      <large-messages-directory>./data/large-messages</large-messages-directory>
-
-      <journal-datasync>true</journal-datasync>
-
-      <journal-min-files>2</journal-min-files>
-
-      <journal-pool-files>-1</journal-pool-files>
-
-      <!--
-        You can verify the network health of a particular NIC by specifying the <network-check-NIC> element.
- 	<network-check-NIC>theNicName</network-check-NIC>
-        -->
-
-      <!--
-        Use this to use an HTTP server to validate the network
-         <network-check-URL-list>http://www.apache.org</network-check-URL-list> -->
-
-      <!-- <network-check-period>10000</network-check-period> -->
-      <!-- <network-check-timeout>1000</network-check-timeout> -->
-
-      <!-- this is a comma separated list, no spaces, just DNS or IPs
-           it should accept IPV6
-
-           Warning: Make sure you understand your network topology as this is meant to validate if your network is valid.
-                    Using IPs that could eventually disappear or be partially visible may defeat the purpose.
-                    You can use a list of multiple IPs, and if any successful ping will make the server OK to continue running -->
-      <!-- <network-check-list>10.0.0.1</network-check-list> -->
-
-      <!-- use this to customize the ping used for ipv4 addresses -->
-      <!-- <network-check-ping-command>ping -c 1 -t %d %s</network-check-ping-command> -->
-
-      <!-- use this to customize the ping used for ipv6 addresses -->
-      <!-- <network-check-ping6-command>ping6 -c 1 %2$s</network-check-ping6-command> -->
-
-
-
-
-      <!-- how often we are looking for how many bytes are being used on the disk in ms -->
-      <disk-scan-period>5000</disk-scan-period>
-
-      <!-- once the disk hits this limit the system will block, or close the connection in certain protocols
-           that won't support flow control. -->
-      <max-disk-usage>90</max-disk-usage>
-
-      <!-- the system will enter into page mode once you hit this limit.
-           This is an estimate in bytes of how much the messages are using in memory -->
-      <global-max-size>100Mb</global-max-size>
-
-      <acceptors>
-         <!-- Acceptor for every supported protocol -->
-         <acceptor name="artemis">tcp://0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE</acceptor>
-
-
-         <!-- AMQP Acceptor.  Listens on default AMQP port for AMQP traffic.-->
-         <acceptor name="amqp">tcp://0.0.0.0:5672?protocols=AMQP</acceptor>
-
-         <!-- STOMP Acceptor. -->
-         <acceptor name="stomp">tcp://0.0.0.0:61613?protocols=STOMP</acceptor>
-
-         <!-- HornetQ Compatibility Acceptor.  Enables HornetQ Core and STOMP for legacy HornetQ clients. -->
-         <acceptor name="hornetq">tcp://0.0.0.0:5445?protocols=HORNETQ,STOMP</acceptor>
-
-         <!-- MQTT Acceptor -->
-         <acceptor name="mqtt">tcp://0.0.0.0:1883?protocols=MQTT</acceptor>
-
-      </acceptors>
-
-
-      <security-settings>
-         <security-setting match="#">
-            <permission type="createNonDurableQueue" roles="guest"/>
-            <permission type="deleteNonDurableQueue" roles="guest"/>
-            <permission type="createDurableQueue" roles="guest"/>
-            <permission type="deleteDurableQueue" roles="guest"/>
-            <permission type="createAddress" roles="guest"/>
-            <permission type="deleteAddress" roles="guest"/>
-            <permission type="consume" roles="guest"/>
-            <permission type="browse" roles="guest"/>
-            <permission type="send" roles="guest"/>
-            <!-- we need this otherwise ./artemis data imp wouldn't work -->
-            <permission type="manage" roles="guest"/>
-         </security-setting>
-      </security-settings>
-
-      <address-settings>
-         <!-- if you define auto-create on certain queues, management has to be auto-create -->
-         <address-setting match="activemq.management#">
-            <dead-letter-address>DLQ</dead-letter-address>
-            <expiry-address>ExpiryQueue</expiry-address>
-            <redelivery-delay>0</redelivery-delay>
-            <!-- with -1 only the global-max-size is in use for limiting -->
-            <max-size-bytes>-1</max-size-bytes>
-            <message-counter-history-day-limit>10</message-counter-history-day-limit>
-            <address-full-policy>PAGE</address-full-policy>
-            <auto-create-queues>true</auto-create-queues>
-            <auto-create-addresses>true</auto-create-addresses>
-            <auto-create-jms-queues>true</auto-create-jms-queues>
-            <auto-create-jms-topics>true</auto-create-jms-topics>
-         </address-setting>
-         <!--default for catch all-->
-         <address-setting match="#">
-            <dead-letter-address>DLQ</dead-letter-address>
-            <expiry-address>ExpiryQueue</expiry-address>
-            <redelivery-delay>0</redelivery-delay>
-            <!-- with -1 only the global-max-size is in use for limiting -->
-            <max-size-bytes>-1</max-size-bytes>
-            <message-counter-history-day-limit>10</message-counter-history-day-limit>
-            <address-full-policy>PAGE</address-full-policy>
-            <auto-create-queues>true</auto-create-queues>
-            <auto-create-addresses>true</auto-create-addresses>
-            <auto-create-jms-queues>true</auto-create-jms-queues>
-            <auto-create-jms-topics>true</auto-create-jms-topics>
-         </address-setting>
-      </address-settings>
-
-      <addresses>
-         <address name="DLQ">
-            <anycast>
-               <queue name="DLQ" />
-            </anycast>
-         </address>
-         <address name="ExpiryQueue">
-            <anycast>
-               <queue name="ExpiryQueue" />
-            </anycast>
-         </address>
-
-      </addresses>
-
-   </core>
-</configuration>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client/pom.xml b/examples/features/standard/interceptor-client/pom.xml
index 3d52359..5d233f0 100644
--- a/examples/features/standard/interceptor-client/pom.xml
+++ b/examples/features/standard/interceptor-client/pom.xml
@@ -29,7 +29,7 @@ under the License.
 
    <artifactId>interceptor-client</artifactId>
    <packaging>jar</packaging>
-   <name>ActiveMQ Artemis JMS Interceptor Example</name>
+   <name>ActiveMQ Artemis JMS Interceptor Client Example</name>
 
    <properties>
       <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
@@ -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/interceptor-client/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client/readme.html b/examples/features/standard/interceptor-client/readme.html
deleted file mode 100644
index 42b1e18..0000000
--- a/examples/features/standard/interceptor-client/readme.html
+++ /dev/null
@@ -1,72 +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 Interceptor 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 Interceptor 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 implement and configure a simple incoming, server-side interceptor with ActiveMQ Artemis.</p>
-
-     <p>ActiveMQ Artemis allows an application to use an interceptor to hook into the messaging system. All that needs to do is to implement the
-     Interceptor interface, as defined below: </p>
-     <pre class="prettyprint">
-     <code>
-         public interface Interceptor
-         {
-            boolean intercept(Packet packet, RemotingConnection connection) throws ActiveMQException;
-         }
-     </code>
-     </pre>
-     <p>Once you have your own interceptor class, add it to the broker.xml, as follows:</p>
-     <pre class="prettyprint">
-     <code>
-        &lt;configuration&gt;
-        ...
-           &lt;remoting-incoming-interceptors&gt;
-              &lt;class-name&gt;org.apache.activemq.artemis.jms.example.SimpleInterceptor&lt;/class-name&gt;
-           &lt;/remoting-incoming-interceptors&gt;
-        ...
-        &lt;/configuration&gt;
-     </code>
-     </pre>
-
-     <p>With interceptor, you can handle various events in message processing. In this example, a simple interceptor, SimpleInterceptor, is implemented and configured.
-     When the example is running, the interceptor will print out each events that are passed in the interceptor. And it will add a string property to the message being
-     delivered. You can see that after the message is received, there will be a new string property appears in the received message.</p>
-
-     <p>With our interceptor we always return <code>true</code> from the <code>intercept</code> method. If we were
-     to return <code>false</code> that signifies that no more interceptors are to run or the target
-     is not to be called. Return <code>false</code> to abort processing of the packet.</p>
-  </body>
-</html>
-
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client/readme.md b/examples/features/standard/interceptor-client/readme.md
new file mode 100644
index 0000000..2f83bce
--- /dev/null
+++ b/examples/features/standard/interceptor-client/readme.md
@@ -0,0 +1,13 @@
+# JMS Interceptor Client 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 implement and configure a simple incoming, client-side interceptor with ActiveMQ Artemis.
+
+ActiveMQ Artemis allows an application to use an interceptor to hook into the messaging system. To intercept "core" packets all that needs to be done is to implement the `org.apache.activemq.artemis.api.core.Interceptor` interface.
+
+Once you have your own interceptor class, add it to client via the `incomingInterceptorList` URL parameter.
+
+With interceptors, you can handle various events in message processing. In this example, a simple interceptor, SimpleInterceptor, is implemented and configured. When the example is running the interceptor will print out each events that are passed in the interceptor. And it will add a string property to the message being delivered. You can see that after the message is received, there will be a new string property appears in the received message.
+
+With our interceptor we always return `true` from the `intercept` method. If we were to return `false` that signifies that no more interceptors are to run or the target is not to be called. Return `false` to abort processing of the packet.

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-client/src/main/java/org/apache/activemq/artemis/jms/example/InterceptorExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-client/src/main/java/org/apache/activemq/artemis/jms/example/InterceptorExample.java b/examples/features/standard/interceptor-client/src/main/java/org/apache/activemq/artemis/jms/example/InterceptorExample.java
index 1f70c54..a84d9df 100644
--- a/examples/features/standard/interceptor-client/src/main/java/org/apache/activemq/artemis/jms/example/InterceptorExample.java
+++ b/examples/features/standard/interceptor-client/src/main/java/org/apache/activemq/artemis/jms/example/InterceptorExample.java
@@ -27,7 +27,7 @@ import javax.jms.TextMessage;
 import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
 
 /**
- * A simple JMS example that shows how to implement and use interceptors with ActiveMQ Artemis.
+ * A simple JMS example that shows how to implement and use client-side interceptors with ActiveMQ Artemis.
  */
 public class InterceptorExample {
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-mqtt/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-mqtt/pom.xml b/examples/features/standard/interceptor-mqtt/pom.xml
new file mode 100644
index 0000000..20053d4
--- /dev/null
+++ b/examples/features/standard/interceptor-mqtt/pom.xml
@@ -0,0 +1,136 @@
+<?xml version='1.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.
+-->
+
+<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/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <groupId>org.apache.activemq.examples.broker</groupId>
+      <artifactId>jms-examples</artifactId>
+      <version>2.5.0-SNAPSHOT</version>
+   </parent>
+
+   <artifactId>interceptor-mqtt</artifactId>
+   <packaging>jar</packaging>
+   <name>ActiveMQ Artemis MQTT Interceptor Example</name>
+
+   <properties>
+      <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
+   </properties>
+
+   <dependencies>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-mqtt-protocol</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+
+      <dependency>
+         <groupId>org.fusesource.mqtt-client</groupId>
+         <artifactId>mqtt-client</artifactId>
+      </dependency>
+
+      <dependency>
+         <groupId>io.netty</groupId>
+         <artifactId>netty-all</artifactId>
+      </dependency>
+   </dependencies>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>artemis-maven-plugin</artifactId>
+            <executions>
+               <execution>
+                  <id>create</id>
+                  <goals>
+                     <goal>create</goal>
+                  </goals>
+                  <configuration>
+                     <libList><arg>org.apache.activemq.examples.broker:interceptor-client-mqtt:${project.version}</arg></libList>
+                     <ignore>${noServer}</ignore>
+                     <configuration>${basedir}/target/classes/activemq/server0</configuration>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>start</id>
+                  <goals>
+                     <goal>cli</goal>
+                  </goals>
+                  <configuration>
+                     <ignore>${noServer}</ignore>
+                     <spawn>true</spawn>
+                     <testURI>tcp://localhost:1883</testURI>
+                     <args>
+                        <param>run</param>
+                     </args>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>runClient</id>
+                  <goals>
+                     <goal>runClient</goal>
+                  </goals>
+                  <configuration>
+                     <clientClass>org.apache.activemq.artemis.mqtt.example.InterceptorExample</clientClass>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>stop</id>
+                  <goals>
+                     <goal>cli</goal>
+                  </goals>
+                  <configuration>
+                     <ignore>${noServer}</ignore>
+                     <args>
+                        <param>stop</param>
+                     </args>
+                  </configuration>
+               </execution>
+            </executions>
+            <dependencies>
+               <dependency>
+                  <groupId>org.apache.activemq.examples.broker</groupId>
+                  <artifactId>interceptor-client-mqtt</artifactId>
+                  <version>${project.version}</version>
+               </dependency>
+            </dependencies>
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
+   <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/interceptor-mqtt/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-mqtt/readme.md b/examples/features/standard/interceptor-mqtt/readme.md
new file mode 100644
index 0000000..da62c76
--- /dev/null
+++ b/examples/features/standard/interceptor-mqtt/readme.md
@@ -0,0 +1,21 @@
+# MQTT Interceptor 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 implement and configure a simple incoming, server-side MQTT interceptor with ActiveMQ Artemis.
+
+ActiveMQ Artemis allows an application to use an interceptor to hook into the messaging system. To intercept MQTT packets all that needs to be done is to implement the `org.apache.activemq.artemis.core.protocol.mqtt.MQTTInterceptor` interface.
+
+Once you have your own interceptor class add it to the broker.xml as follows:
+
+    <configuration>
+       ...
+       <remoting-incoming-interceptors>
+          <class-name>org.apache.activemq.artemis.mqtt.example.SimpleMQTTInterceptor</class-name>
+       </remoting-incoming-interceptors>
+        ...
+    </configuration>
+
+With an interceptor you can handle various events in message processing. In this example, a simple interceptor, SimpleMQTTInterceptor, is implemented and configured. When the example is running, the interceptor will modify the payload of a sample MQTT message.
+
+With our interceptor we always return `true` from the `intercept` method. If we were to return `false` that signifies that no more interceptors are to run. Throw an exception to abort processing of the packet.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/InterceptorExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/InterceptorExample.java b/examples/features/standard/interceptor-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/InterceptorExample.java
new file mode 100644
index 0000000..e72c93f
--- /dev/null
+++ b/examples/features/standard/interceptor-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/InterceptorExample.java
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+package org.apache.activemq.artemis.mqtt.example;
+
+import java.nio.charset.StandardCharsets;
+import java.util.concurrent.TimeUnit;
+
+import org.fusesource.mqtt.client.BlockingConnection;
+import org.fusesource.mqtt.client.MQTT;
+import org.fusesource.mqtt.client.Message;
+import org.fusesource.mqtt.client.QoS;
+import org.fusesource.mqtt.client.Topic;
+
+/**
+ * A simple example that shows how to implement and use interceptors with ActiveMQ Artemis with the MQTT protocol.
+ */
+public class InterceptorExample {
+   public static void main(final String[] args) throws Exception {
+
+      System.out.println("Connecting to Artemis using MQTT");
+      MQTT mqtt = new MQTT();
+      mqtt.setHost("tcp://localhost:1883");
+
+      BlockingConnection connection = mqtt.blockingConnection();
+      connection.connect();
+
+      System.out.println("Connected to Artemis");
+
+      // Subscribe to a topic
+      Topic[] topics = {new Topic("mqtt/example/interceptor", QoS.EXACTLY_ONCE)};
+      connection.subscribe(topics);
+      System.out.println("Subscribed to topics.");
+
+      // Publish message
+      String payload1 = "This is message 1";
+
+      connection.publish("mqtt/example/interceptor", payload1.getBytes(), QoS.EXACTLY_ONCE, false);
+
+      System.out.println("Sent message");
+
+      // Receive the sent message
+      Message message1 = connection.receive(5, TimeUnit.SECONDS);
+
+      String messagePayload = new String(message1.getPayload(), StandardCharsets.UTF_8);
+
+      System.out.println("Received message: " + messagePayload);
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/SimpleMQTTInterceptor.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/SimpleMQTTInterceptor.java b/examples/features/standard/interceptor-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/SimpleMQTTInterceptor.java
new file mode 100644
index 0000000..5297e61
--- /dev/null
+++ b/examples/features/standard/interceptor-mqtt/src/main/java/org/apache/activemq/artemis/mqtt/example/SimpleMQTTInterceptor.java
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+package org.apache.activemq.artemis.mqtt.example;
+
+import java.nio.charset.Charset;
+
+import io.netty.handler.codec.mqtt.MqttConnectMessage;
+import io.netty.handler.codec.mqtt.MqttMessage;
+import io.netty.handler.codec.mqtt.MqttPublishMessage;
+import org.apache.activemq.artemis.core.protocol.mqtt.MQTTInterceptor;
+import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection;
+
+
+/**
+ * A simple Interceptor implementation
+ */
+public class SimpleMQTTInterceptor implements MQTTInterceptor {
+
+   @Override
+   public boolean intercept(final MqttMessage mqttMessage, RemotingConnection connection) {
+      System.out.println("MQTT control packet was intercepted " + mqttMessage.fixedHeader().messageType());
+
+      // If you need to handle an specific packet type:
+      if (mqttMessage instanceof MqttPublishMessage) {
+         MqttPublishMessage message = (MqttPublishMessage) mqttMessage;
+
+
+         String originalMessage = message.payload().toString(Charset.forName("UTF-8"));
+         System.out.println("Original message: " + originalMessage);
+
+         // The new message content must not be bigger that the original content.
+         String modifiedMessage = "Modified message ";
+
+         message.payload().setBytes(0, modifiedMessage.getBytes());
+      } else {
+         if (mqttMessage instanceof MqttConnectMessage) {
+            MqttConnectMessage connectMessage = (MqttConnectMessage) mqttMessage;
+            System.out.println("MQTT CONNECT control packet was intercepted " + connectMessage);
+         }
+      }
+
+
+      // We return true which means "call next interceptor" (if there is one) or target.
+      // If we returned false, it means "abort call" - no more interceptors would be called and neither would
+      // the target
+      return true;
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor-mqtt/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor-mqtt/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/interceptor-mqtt/src/main/resources/activemq/server0/broker.xml
new file mode 100644
index 0000000..e04d65a
--- /dev/null
+++ b/examples/features/standard/interceptor-mqtt/src/main/resources/activemq/server0/broker.xml
@@ -0,0 +1,56 @@
+<?xml version='1.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.
+-->
+<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>
+
+      <journal-directory>./data/journal</journal-directory>
+
+      <large-messages-directory>./data/largemessages</large-messages-directory>
+
+      <paging-directory>./data/paging</paging-directory>
+
+      <remoting-incoming-interceptors>
+         <class-name>org.apache.activemq.artemis.mqtt.example.SimpleMQTTInterceptor</class-name>
+      </remoting-incoming-interceptors>
+
+      <remoting-outgoing-interceptors>
+         <class-name>org.apache.activemq.artemis.mqtt.example.SimpleMQTTInterceptor</class-name>
+      </remoting-outgoing-interceptors>
+
+      <acceptors>
+         <acceptor name="mqtt">tcp://0.0.0.0:1883?protocols=CORE,MQTT</acceptor>
+      </acceptors>
+
+      <security-settings>
+         <security-setting match="#">
+            <permission type="createNonDurableQueue" roles="guest"/>
+            <permission type="deleteNonDurableQueue" roles="guest"/>
+            <permission type="createDurableQueue" roles="guest"/>
+            <permission type="deleteDurableQueue" roles="guest"/>
+            <permission type="createAddress" roles="guest"/>
+            <permission type="deleteAddress" roles="guest"/>
+            <permission type="consume" roles="guest"/>
+            <permission type="send" roles="guest"/>
+         </security-setting>
+      </security-settings>
+   </core>
+</configuration>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor/pom.xml b/examples/features/standard/interceptor/pom.xml
index 2101ae6..310b20c 100644
--- a/examples/features/standard/interceptor/pom.xml
+++ b/examples/features/standard/interceptor/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/interceptor/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor/readme.html b/examples/features/standard/interceptor/readme.html
deleted file mode 100644
index 42b1e18..0000000
--- a/examples/features/standard/interceptor/readme.html
+++ /dev/null
@@ -1,72 +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 Interceptor 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 Interceptor 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 implement and configure a simple incoming, server-side interceptor with ActiveMQ Artemis.</p>
-
-     <p>ActiveMQ Artemis allows an application to use an interceptor to hook into the messaging system. All that needs to do is to implement the
-     Interceptor interface, as defined below: </p>
-     <pre class="prettyprint">
-     <code>
-         public interface Interceptor
-         {
-            boolean intercept(Packet packet, RemotingConnection connection) throws ActiveMQException;
-         }
-     </code>
-     </pre>
-     <p>Once you have your own interceptor class, add it to the broker.xml, as follows:</p>
-     <pre class="prettyprint">
-     <code>
-        &lt;configuration&gt;
-        ...
-           &lt;remoting-incoming-interceptors&gt;
-              &lt;class-name&gt;org.apache.activemq.artemis.jms.example.SimpleInterceptor&lt;/class-name&gt;
-           &lt;/remoting-incoming-interceptors&gt;
-        ...
-        &lt;/configuration&gt;
-     </code>
-     </pre>
-
-     <p>With interceptor, you can handle various events in message processing. In this example, a simple interceptor, SimpleInterceptor, is implemented and configured.
-     When the example is running, the interceptor will print out each events that are passed in the interceptor. And it will add a string property to the message being
-     delivered. You can see that after the message is received, there will be a new string property appears in the received message.</p>
-
-     <p>With our interceptor we always return <code>true</code> from the <code>intercept</code> method. If we were
-     to return <code>false</code> that signifies that no more interceptors are to run or the target
-     is not to be called. Return <code>false</code> to abort processing of the packet.</p>
-  </body>
-</html>
-
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor/readme.md b/examples/features/standard/interceptor/readme.md
new file mode 100644
index 0000000..13f2726
--- /dev/null
+++ b/examples/features/standard/interceptor/readme.md
@@ -0,0 +1,21 @@
+# JMS Interceptor 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 implement and configure a simple incoming, server-side interceptor with ActiveMQ Artemis.
+
+ActiveMQ Artemis allows an application to use an interceptor to hook into the messaging system. To intercept "core" packets all that needs to be done is to implement the `org.apache.activemq.artemis.api.core.Interceptor` interface.
+
+Once you have your own interceptor class, add it to the broker.xml, as follows:
+
+    <configuration>
+       ...
+       <remoting-incoming-interceptors>
+          <class-name>org.apache.activemq.artemis.jms.example.SimpleInterceptor</class-name>
+       </remoting-incoming-interceptors>
+       ...
+    </configuration>
+
+With interceptors, you can handle various events in message processing. In this example, a simple interceptor, SimpleInterceptor, is implemented and configured. When the example is running the interceptor will print out each events that are passed in the interceptor. And it will add a string property to the message being delivered. You can see that after the message is received, there will be a new string property appears in the received message.
+
+With our interceptor we always return `true` from the `intercept` method. If we were to return `false` that signifies that no more interceptors are to run or the target is not to be called. Return `false` to abort processing of the packet.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/interceptor/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/interceptor/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/interceptor/src/main/resources/activemq/server0/broker.xml
index 11c324d..01a70c3 100644
--- a/examples/features/standard/interceptor/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/interceptor/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>
@@ -30,7 +28,6 @@ under the License.
 
       <paging-directory>./data/paging</paging-directory>
 
-
       <remoting-incoming-interceptors>
          <class-name>org.apache.activemq.artemis.jms.example.SimpleInterceptor</class-name>
       </remoting-incoming-interceptors>
@@ -54,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/jms-auto-closeable/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-auto-closeable/pom.xml b/examples/features/standard/jms-auto-closeable/pom.xml
index 60bc37e..3ea9816 100644
--- a/examples/features/standard/jms-auto-closeable/pom.xml
+++ b/examples/features/standard/jms-auto-closeable/pom.xml
@@ -99,7 +99,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-auto-closeable/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-auto-closeable/readme.html b/examples/features/standard/jms-auto-closeable/readme.html
deleted file mode 100644
index 80dc410..0000000
--- a/examples/features/standard/jms-auto-closeable/readme.html
+++ /dev/null
@@ -1,96 +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 Auto Closable 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 Auto Closable 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 JMS resources, such as connections, sessions and consumers, in JMS 2 can be automatically closed on error.</p>
-     <p>In this instance we auto close a connection after a subsequent call to a JMS producer send fails</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 but we do it inside the try-with-resources statement like so:</li>
-        <pre class="prettyprint">
-           <code>
-            try
-            (
-               JMSContext jmsContext = cf.createContext()
-            )
-           </code>
-        </pre>
-
-        <li>Inside the following try block we first create the producer</li>
-        <pre class="prettyprint">
-           <code>JMSProducer jmsProducer = jmsContext.createProducer();</code>
-        </pre>
-
-        <li>We then try to send a message. It is this call that throws an exception as the producer doesn't have the privileges
-        to send a message</li>
-        <pre class="prettyprint">
-          <code>jmsProducer.send(queue, "this message will fail security!");</code>
-       </pre>
-
-        <li>We catch the exception from the send message and can do what we want, however the JMSContext will have been closed
-        prior to entering the catch block.</li>
-        <pre class="prettyprint">
-           <code>System.out.println("expected exception from jmsProducer.send: " + e.getMessage());</code>
-        </pre>
-
-        <li>And finally, we close the Initial Context, note we no longer have to worry about clearing up the JMSContext.</li>
-
-        <pre class="prettyprint">
-           <code>finally
-           {
-              if (initialContext != null)
-              {
-                 initialContext.close();
-              }
-           }</code>
-        </pre>
-
-
-
-     </ol>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-auto-closeable/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-auto-closeable/readme.md b/examples/features/standard/jms-auto-closeable/readme.md
new file mode 100644
index 0000000..248fca1
--- /dev/null
+++ b/examples/features/standard/jms-auto-closeable/readme.md
@@ -0,0 +1,7 @@
+# JMS Auto Closable 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 JMS resources such as connections, sessions and consumers in JMS 2 can be automatically closed on error.
+
+In this instance we auto close a connection after a subsequent call to a JMS producer send fails.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-bridge/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-bridge/pom.xml b/examples/features/standard/jms-bridge/pom.xml
index 320bcad..4422130 100644
--- a/examples/features/standard/jms-bridge/pom.xml
+++ b/examples/features/standard/jms-bridge/pom.xml
@@ -152,7 +152,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-bridge/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-bridge/readme.html b/examples/features/standard/jms-bridge/readme.html
deleted file mode 100644
index 182f7fa..0000000
--- a/examples/features/standard/jms-bridge/readme.html
+++ /dev/null
@@ -1,246 +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 Bridge 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 Bridge 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 create a JMS Bridge between two ActiveMQ Artemis servers.</p>
-     <img src="jms-bridge.png"  />
-     <p>The example will use two ActiveMQ Artemis servers:</p>
-     <ul>
-        <li>Server #0 &ndash; the <em>Source</em> server. It will be configured with a JMS Topic bound to JNDI under <code>source/topic</code>
-        <li>Server #1 &ndash; the <em>Target</em> server. It will be configured with a JMS Queue bound to JNDI under <code>target/queue</code><br />
-     </ul>
-     <p>Both ActiveMQ Artemis server will run their own JNDI server used by the JMS Bridge and the JMS Client to lookup JMS
-        resources (ConnectionFactory and Destination).</p>
-     <p>The JMS Bridge will be started in the example code and be configured to bridge messages from the <em>source</em> destination
-     (the topic hosted on server #0) and the <em>target</em> destination (the queue hosted on server #1)</p>
-     <p>The client will check the bridge works by:</p>
-     <ol>
-        <li>sending a message to the <em>source</em> topic</li>
-        <li>receive a message from the <em>target</em> queue</li>
-        <li>check that both messages correspond to the same content.</li>
-     </ol>
-     <h3>JMS Bridge Configuration</h3>
-     <p>The JMS Bridge is a <abbr title="Plain Old Java Object">POJO</abbr> that we configure with both source and target
-        JNDI configurations. In the actual example we are programmatically creating the Bridge, however the following section
-        describes how you would do this if you wanted to deploy with an actual ActiveMQ Artemis server via the activemq-beans.xml.
-
-     <h4>Configuring the Bridge with the JBoss Microcontainer</h4>
-     <p>
-        in which we inject JNDI configurations
-        so that it looks up its source and target JMS resources.
-        The JMS Bridge is defined a bean and setup by JBoss Microntainer in the same VM than Server #1, the target server.</p>
-
-      </p>The JMS Bridge sample configuration can be found in <code>resources/activemq-beans.xml</code>, firstly we define the
-     Bridge itself:</p>
-      <pre class="prettyprint">
-         &lt;!-- The JMS Bridge -->
-         &lt;bean name="JMSBridge" class="org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl">
-         ...
-         &lt;/bean>
-      </pre>
-      <p>the <code>JMSBridgeImpl</code> constructor is used to inject all the properties required to run the JMS Bridge.</p>
-      <p>Its first four arguments defines how the bridge will lookup:</p>
-      <ol>
-         <li>its <em>source</em> JMS ConnectionFactory</li>
-         <li>its <em>source</em> JMS Destination</li>
-         <li>its <em>target</em> JMS ConnectionFactory</li>
-         <li>its <em>target</em> JMS Destination</li>
-     </ol>
-     <p>Using other POJOs, the JMS Bridge is configured to retrieve:</p>
-     <ul>
-        <li>its <em>source</em> JMS ConnectionFactory by looking up <code>/source/ConnectionFactory</code> using
-           the <code>SourceJNDI</code> configuration</li>
-        <li>its <em>source</em> JMS Destination by looking up <code>/source/topic</code> using
-           the <code>SourceJNDI</code> configuration</li>
-        <li>its <em>target</em> JMS ConnectionFactory by looking up <code>/target/ConnectionFactory</code> using
-           the <code>TargetJNDI</code> configuration</li>
-           <li>its <em>target</em> JMS ConnectionFactory by looking up <code>/target/queue</code> using
-        the <code>TargetJNDI</code> configuration</li>
-     </ul>
-     <p>In turn, <code>SourceJNDI</code> and <code>TargetJNDI</code> are POJOs defining how to connect to JNDI server.
-        SourceJNDI URL must point to your source server, while LocalJNDI must point to your target server:</p>
-   <pre class="prettyprint">
-      &lt;bean name="SourceJNDI" class="java.util.Hashtable">
-         ...
-                &lt;entry>
-                   &lt;key>java.naming.provider.url&lt;/key>
-                   &lt;!-- **************************************** -->
-                   &lt;!-- Replace with the *source* server address -->
-                   &lt;!-- **************************************** -->
-                   &lt;value>jnp://192.168.0.10:1099&lt;/value>
-         ...
-       &lt;/bean>
-       &lt;bean name="TargetJNDI" class="java.util.Hashtable">
-         ...
-                &lt;ntry>
-                   &lt;key>java.naming.provider.url&lt;/key>
-                   &lt;!-- **************************************** -->
-                   &lt;!-- Replace with the *target* server address -->
-                   &lt;!-- **************************************** -->
-                   &lt;value>jnp://1192.168.0.11:1099&lt;/value>
-                &lt;/entry>
-         ...
-       &lt;/bean>
-      </pre>
-     <h2>Example step-by-step</h2>
-     <p>To run the example after having setup both ActiveMQ Artemis servers and the JMS bridge:</p>
-     <ol>
-        <li>To run the example simply run <code>mvn verify -Pexample</code></li>
-     </ol>
-      <p>Let's look at the Client code (in <code>JMSBridgeExample</code> class):</p>
-     <ol>
-        <li>First we need to get an initial context so we can look-up the JMS resources</li>
-        <pre class="prettyprint">
-           InitialContext sourceContext = createContext(sourceServer);
-           InitialContext targetContext = createContext(targetServer);
-        </pre>
-        <li>We then create a JMS Bridge and start it, Note, for certain quality of service modes such as
-            ONCE_AND_ONCE_ONLY and AT_LEAST_ONCE a Transaction Manager is required to ensure Messages are delivered
-            accordingly.  A Transaction Manager can be either loaded via implementation of TransactionManagerLocator intefer
-            and loaded via standard a ServiceLoader or by explicitly setting an instance of a Transaction Manager on the
-            bridge using setTranscationManager(TransactionManager tm) method.  In this example we'll be using the DUPLICATES_OK
-            quality of service so there is no need for a Transaction Manager.
-        <pre class="prettyprint">
-            JMSBridge jmsBridge = new JMSBridgeImpl(
-               new JNDIConnectionFactoryFactory(sourceJndiParams, "source/ConnectionFactory"),
-               new JNDIConnectionFactoryFactory(targetJndiParams, "target/ConnectionFactory"),
-               new JNDIDestinationFactory(sourceJndiParams, "source/topic"),
-               new JNDIDestinationFactory(targetJndiParams, "target/queue"),
-               null,
-               null,
-               null,
-               null,
-               null,
-               5000,
-               10,
-               QualityOfServiceMode.DUPLICATES_OK,
-               1,
-               -1,
-               null,
-               null,
-               true);
-            ....
-        jmsBridge.start();
-        </pre>
-        <li>We look up the JMS resources from the Source server</li>
-        <pre class="prettyprint">
-           ConnectionFactory sourceConnectionFactory = (ConnectionFactory)sourceContext.lookup("source/ConnectionFactory");
-           Topic sourceTopic = (Topic)sourceContext.lookup("source/topic");
-        </pre>
-
-        <li>We create JMS objects to send a message to the source destination</li>
-        <pre class="prettyprint">
-           sourceConnection = sourceConnectionFactory.createConnection();
-           Session sourceSession = sourceConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-           MessageProducer sourceProducer = sourceSession.createProducer(sourceTopic);
-        </pre>
-
-        <li>We send a message to the source destination</li>
-        <pre class="prettyprint">
-           TextMessage message = sourceSession.createTextMessage("this is a text message sent at " + System.currentTimeMillis());
-           sourceProducer.send(message);
-        </pre>
-
-        <li>We close the connection to the source server</li>
-        <pre class="prettyprint">
-           sourceConnection.close();
-        </pre>
-
-        <p>At this point, the JMS Bridge will consume the message from the source topic and
-           sends it to the target queue.
-           The client will check the bridge works by consuming a message from the target queue.</p>
-
-        <li>We look up the JMS resources from the target server</li>
-        <pre class="prettyprint">
-           ConnectionFactory targetConnectionFactory = (ConnectionFactory)targetContext.lookup("target/ConnectionFactory");
-           Queue targetQueue = (Queue)targetContext.lookup("target/queue");
-        </pre>
-
-        <li>We create JMS objects to receive a message from the target destination</li>
-        <pre class="prettyprint">
-           targetConnection = targetConnectionFactory.createConnection();
-           Session targetSession = targetConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-           MessageConsumer targetConsumer = targetSession.createConsumer(targetQueue);
-       </pre>
-
-        <li>We start the target connection to start receiving messages
-        <pre class="prettyprint">
-           targetConnection.start();
-        </pre>
-
-        <li>We receive the message and print it. Its content is the same than the message
-           the client sent to the source topic</li>
-        <pre class="prettyprint">
-           TextMessage messageReceived = (TextMessage)targetConsumer.receive(5000);
-        </pre>
-
-        <li>We display the message ID and its "bridged" message ID</li>
-        <pre class="prettyprint">
-           System.out.format("Message ID         : %s\n", messageReceived.getJMSMessageID());
-           System.out.format("Bridged Message ID : %s\n", messageReceived.getStringProperty("AMQ_BRIDGE_MSG_ID_LIST"));
-        </pre>
-
-        <p>Note that the message received from the target queue is <em>not the same message</em> sent to the source topic
-           (their message IDs are different) but they have the <em>same content</em>.
-
-        <li>And finally, we stop the Bridge and <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 (jmsBridge != null)
-              {
-                jmsBridge.stop();
-              }
-              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/appserver-integration.html#jms-bridge">JMS Bridge chapter</a></li>
-        <li>The <a href="../../javaee/jms-bridge/readme.html">Java EE JMS Bridge example</a> shows how to configure a JMS Bridge
-           inside JBoss Application Server to bridge destinations from the same server.</a>
-     </p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-bridge/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-bridge/readme.md b/examples/features/standard/jms-bridge/readme.md
new file mode 100644
index 0000000..8001bcd
--- /dev/null
+++ b/examples/features/standard/jms-bridge/readme.md
@@ -0,0 +1,24 @@
+# JMS Bridge 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 create a JMS Bridge between two ActiveMQ Artemis brokers.
+
+![](jms-bridge.png)
+
+The example will use two ActiveMQ Artemis brokers:
+
+*   Server #0 – the _Source_ broker. It will be configured with a JMS Topic bound to JNDI under `source/topic`
+*   Server #1 – the _Target_ broker. It will be configured with a JMS Queue bound to JNDI under `target/queue`
+
+The JMS Bridge will be started in the example code and be configured to bridge messages from the _source_ destination (the topic hosted on broker #0) and the _target_ destination (the queue hosted on broker #1)
+
+The client will check the bridge works by:
+
+1.  sending a message to the _source_ topic
+2.  receive a message from the _target_ queue
+3.  check that both messages correspond to the same content.
+
+### JMS Bridge Configuration
+
+The JMS Bridge is a POJO that we configure with both source and target JNDI configurations. In the actual example we are programmatically creating the Bridge.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/jms-bridge/src/main/java/org/apache/activemq/artemis/jms/example/JMSBridgeExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/jms-bridge/src/main/java/org/apache/activemq/artemis/jms/example/JMSBridgeExample.java b/examples/features/standard/jms-bridge/src/main/java/org/apache/activemq/artemis/jms/example/JMSBridgeExample.java
index 5b25a82..f7d22ca 100644
--- a/examples/features/standard/jms-bridge/src/main/java/org/apache/activemq/artemis/jms/example/JMSBridgeExample.java
+++ b/examples/features/standard/jms-bridge/src/main/java/org/apache/activemq/artemis/jms/example/JMSBridgeExample.java
@@ -127,7 +127,7 @@ public class JMSBridgeExample {
       jndiProps.put("connectionFactory.ConnectionFactory", server);
       jndiProps.put("java.naming.factory.initial", "org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory");
       jndiProps.put("queue.target/queue", "target");
-      jndiProps.put("topic.source/topic", "topic");
+      jndiProps.put("topic.source/topic", "source");
       return jndiProps;
    }
 }


[06/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/paging/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/paging/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/paging/src/main/resources/activemq/server0/broker.xml
index 11fb8a0..9144c90 100644
--- a/examples/features/standard/paging/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/paging/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>
@@ -80,7 +78,7 @@ under the License.
          </address-setting>
       </address-settings>
 
-   <addresses>
+      <addresses>
          <address name="pagingQueue">
             <anycast>
                <queue name="pagingQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/pom.xml b/examples/features/standard/pom.xml
index 017a038..6a1a598 100644
--- a/examples/features/standard/pom.xml
+++ b/examples/features/standard/pom.xml
@@ -57,8 +57,8 @@ under the License.
             <module>http-transport</module>
             <module>interceptor</module>
             <module>interceptor-client</module>
-            <module>interceptor-client-mqtt</module>
-            <module>interceptor-client-amqp</module>
+            <module>interceptor-mqtt</module>
+            <module>interceptor-amqp</module>
             <module>instantiate-connection-factory</module>
             <module>jms-auto-closeable</module>
             <module>jms-bridge</module>
@@ -123,8 +123,8 @@ under the License.
             <module>http-transport</module>
             <module>interceptor</module>
             <module>interceptor-client</module>
-            <module>interceptor-client-mqtt</module>
-            <module>interceptor-client-amqp</module>
+            <module>interceptor-mqtt</module>
+            <module>interceptor-amqp</module>
             <module>jms-auto-closeable</module>
             <module>instantiate-connection-factory</module>
             <module>jms-bridge</module>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/pre-acknowledge/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/pre-acknowledge/pom.xml b/examples/features/standard/pre-acknowledge/pom.xml
index 5c58c50..ff40762 100644
--- a/examples/features/standard/pre-acknowledge/pom.xml
+++ b/examples/features/standard/pre-acknowledge/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/pre-acknowledge/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/pre-acknowledge/readme.html b/examples/features/standard/pre-acknowledge/readme.html
deleted file mode 100644
index 235c278..0000000
--- a/examples/features/standard/pre-acknowledge/readme.html
+++ /dev/null
@@ -1,154 +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 Pre-Acknowledge 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 Pre-Acknowledge 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>Standard JMS supports three acknowledgement modes: AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, and
-     DUPS_OK_ACKNOWLEDGE. For a full description on these modes please consult the JMS specification, or any
-     JMS tutorial.</p>
-     <p>All of these standard modes involve sending acknowledgements from the client to the server. However
-     in some cases, you really don't mind losing messages in event of failure, so it would make sense
-     to acknowledge the message on the server <b>before</b> delivering it to the client.</p>
-     <p>By acknowledging the message before sending to the client, you can avoid extra network traffic and CPU
-     work done in sending acknowledgements from client to server.</p>
-     <p>The down-side of acknowledging on the server before delivery, is that if the system crashes after acknowledging
-     the message, but before the message has been received by the client, then, on recovery, that message
-     will be lost. This makes pre-acknowledgement not appropriate for all use cases, but it is very useful for some
-     use-cases when you can cope with such loss of messages<p>
-     <p>An example of a use-case where it might be a good idea to use pre-acknowledge, is for stock price update
-     messages. With these messages it might be ok to lose a message in event of crash, since the next price
-     update message will arrive soon, overriding the previous price.</p>
-     <p>In order to use pre-acknowledge functionality with ActiveMQ Artemis the session has to be created with
-     a special, ActiveMQ Artemis specific acknowledgement mode, given by the value of
-     <code>ActiveMQJMSConstants.PRE_ACKNOWLEDGE</code>.
-     <h2>Example step-by-step</h2>
-
-     <ol>
-        <li>Create an initial context to perform the JNDI lookup.</li>
-        <pre class="prettyprint">
-           <code>
-     initialContext = getContext(0);
-     </code>
-        </pre>
-
-        <li>Perform the look-ups</li>
-        <pre class="prettyprint">
-           <code>
-     Queue queue = (Queue)initialContext.lookup("/queue/exampleQueue");
-
-     ConnectionFactory cf = (ConnectionFactory)initialContext.lookup("/ConnectionFactory");
-           </code>
-        </pre>
-
-        <li>Create a the JMS objects.</li>
-        <pre class="prettyprint">
-           <code>
-     connection = cf.createConnection();
-
-     Session session = connection.createSession(false, ActiveMQSession.PRE_ACKNOWLEDGE);
-
-     MessageProducer producer = session.createProducer(queue);
-
-     MessageConsumer messageConsumer = session.createConsumer(queue);
-           </code>
-        </pre>
-
-        <li>Create and send a message.</li>
-        <pre class="prettyprint">
-           <code>
-     TextMessage message1 = session.createTextMessage("This is a text message 1");
-
-     producer.send(message1);
-
-     System.out.println("Sent message: " + message1.getText());
-           </code>
-        </pre>
-
-        <li>Print out the message count of the queue. The queue contains one message as expected
-        delivery has not yet started on the queue.</li>
-        <pre class="prettyprint">
-           <code>
-     int count = getMessageCount(connection);
-
-     System.out.println("Queue message count is " + count);
-           </code>
-        </pre>
-
-        <li>Start the Connection, delivery will now start. Give a little time for delivery to occur.</li>
-        <pre class="prettyprint">
-          <code>
-     connection.start();
-
-     Thread.sleep(1000);
-          </code>
-       </pre>
-
-        <li>Print out the message count of the queue. It should now be zero, since the message has
-         already been acknowledged even before the consumer has received it.</li>
-        <pre class="prettyprint">
-           <code>
-     count = getMessageCount(connection);
-
-     System.out.println("Queue message count is now " + count);
-           </code>
-        </pre>
-
-        <li>Finally, receive the message.</li>
-        <pre class="prettyprint">
-           <code>
-     TextMessage messageReceived = (TextMessage)messageConsumer.receive(5000);
-
-     System.out.println("Received message: " + messageReceived.getText());
-           </code>
-        </pre>
-
-        <li>Be sure to close our resources!</li>
-          <pre class="prettyprint">
-           <code>
-     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#pre-acknowledge">Pre-acknowledgement Mode chapter</a></li>
-     </ul>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/pre-acknowledge/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/pre-acknowledge/readme.md b/examples/features/standard/pre-acknowledge/readme.md
new file mode 100644
index 0000000..014b91d
--- /dev/null
+++ b/examples/features/standard/pre-acknowledge/readme.md
@@ -0,0 +1,15 @@
+# JMS Pre-Acknowledge 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.
+
+Standard JMS supports three acknowledgement modes: AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, and DUPS_OK_ACKNOWLEDGE. For a full description on these modes please consult the JMS specification, or any JMS tutorial.
+
+All of these standard modes involve sending acknowledgements from the client to the server. However in some cases, you really don't mind losing messages in event of failure, so it would make sense to acknowledge the message on the broker **before** delivering it to the client.
+
+By acknowledging the message before sending to the client, you can avoid extra network traffic and CPU work done in sending acknowledgements from client to server.
+
+The down-side of acknowledging on the broker before delivery, is that if the system crashes after acknowledging the message, but before the message has been received by the client, then, on recovery, that message will be lost. This makes pre-acknowledgement not appropriate for all use cases, but it is very useful for some use-cases when you can cope with such loss of messages
+
+An example of a use-case where it might be a good idea to use pre-acknowledge, is for stock price update messages. With these messages it might be ok to lose a message in event of crash, since the next price update message will arrive soon, overriding the previous price.
+
+In order to use pre-acknowledge functionality with ActiveMQ Artemis the session has to be created with a special, ActiveMQ Artemis specific acknowledgement mode, given by the value of `ActiveMQJMSConstants.PRE_ACKNOWLEDGE`.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/pre-acknowledge/src/main/java/org/apache/activemq/artemis/jms/example/PreacknowledgeExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/pre-acknowledge/src/main/java/org/apache/activemq/artemis/jms/example/PreacknowledgeExample.java b/examples/features/standard/pre-acknowledge/src/main/java/org/apache/activemq/artemis/jms/example/PreacknowledgeExample.java
index d840c32..fdeac96 100644
--- a/examples/features/standard/pre-acknowledge/src/main/java/org/apache/activemq/artemis/jms/example/PreacknowledgeExample.java
+++ b/examples/features/standard/pre-acknowledge/src/main/java/org/apache/activemq/artemis/jms/example/PreacknowledgeExample.java
@@ -38,7 +38,7 @@ import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
  * This example demonstrates the use of ActiveMQ Artemis "pre-acknowledge" functionality where
  * messages are acknowledged before they are delivered to the consumer.
  *
- * Please see the readme.html for more details.
+ * Please see the readme for more details.
  */
 public class PreacknowledgeExample {
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/pre-acknowledge/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/pre-acknowledge/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/pre-acknowledge/src/main/resources/activemq/server0/broker.xml
index ee9828f..50227dd 100644
--- a/examples/features/standard/pre-acknowledge/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/pre-acknowledge/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>
@@ -52,7 +50,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <anycast>
                <queue name="jms.queue.exampleQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/producer-rate-limit/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/producer-rate-limit/pom.xml b/examples/features/standard/producer-rate-limit/pom.xml
index e313a37..4d58a1a 100644
--- a/examples/features/standard/producer-rate-limit/pom.xml
+++ b/examples/features/standard/producer-rate-limit/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/producer-rate-limit/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/producer-rate-limit/readme.html b/examples/features/standard/producer-rate-limit/readme.html
deleted file mode 100644
index 5267db7..0000000
--- a/examples/features/standard/producer-rate-limit/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 JMS Message Producer Rate Limiting</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 Message Producer Rate Limiting</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>With ActiveMQ Artemis you can specify a maximum send rate at which a JMS MessageProducer will send messages.
-     This can be specified when creating or deploying the connection factory. See <code>activemq-jms.xml</code></p>
-     <p>If this value is specified then ActiveMQ Artemis will ensure that messages are never produced at a rate higher than
-     specified. This is a form of producer <i>throttling</i>.</p>
-     <h2>Example step-by-step</h2>
-     <p>In this example we specify a <code>producer-max-rate</code> of <code>50</code> messages per second in the <code>activemq-jms.xml</code>
-     file when deploying the connection factory:</p>
-     <pre class="prettyprint">
-     <code>
-   &lt;connection-factory name="ConnectionFactory"&gt;
-      &lt;connector-ref&gt;netty-connector&lt;/connector-ref&gt;
-      &lt;entries&gt;
-         &lt;entry name="ConnectionFactory"/&gt;
-      &lt;/entries&gt;
-
-      &lt;!-- We limit producers created on this connection factory to produce messages at a maximum rate
-      of 50 messages per sec --&gt;
-      &lt;producer-max-rate&gt;50&lt;/producer-max-rate&gt;
-
-   &lt;/connection-factory&gt;
-     </code>
-     </pre>
-     <p>We then simply send as many messages as we can in 10 seconds and note how many messages are actually sent.</p>
-     <p>We note that the number of messages sent per second never exceeds the specified value of <code>50</code> messages per second.</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</li>
-        <pre class="prettyprint">
-           <code>ConnectionFactory cf = (ConnectionFactory)initialContext.lookup("/ConnectionFactory");</code>
-        </pre>
-
-        <li>Create a JMS Connection</li>
-        <pre class="prettyprint">
-           <code>connection = cf.createConnection();</code>
-        </pre>
-
-        <li>Create a JMS Session</li>
-        <pre class="prettyprint">
-           <code>Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);</code>
-        </pre>
-
-        <li>Create a JMS Message Producer</li>
-        <pre class="prettyprint">
-          <code>MessageProducer producer = session.createProducer(queue);</code>
-        </pre>
-
-        <li>Send as many messages as we can in 10 seconds</li>
-        <pre class="prettyprint">
-           <code>
-        final long duration = 10000;
-
-        int i = 0;
-
-        long start = System.currentTimeMillis();
-
-        while (System.currentTimeMillis() - start <= duration)
-        {
-           TextMessage message = session.createTextMessage("This is text message: " + i++);
-
-           producer.send(message);
-        }
-
-        long end = System.currentTimeMillis();
-
-        double rate = 1000 * (double)i / (end - start);
-
-        System.out.println("We sent " + i + " messages in " + (end - start) + " milliseconds");
-
-        System.out.println("Actual send rate was " + rate + " messages per second");
-           </code>
-        </pre>
-
-        <li>We note that the sending rate doesn't exceed 50 messages per second. Here's some example output from a real
-        run</li>
-
-        <pre class="prettyprint">
-           <code>
-     [java] Will now send as many messages as we can in 10 seconds...
-     [java] We sent 500 messages in 10072 milliseconds
-     [java] Actual send rate was 49.64257347100874 messages per second
-           </code>
-        </pre>
-
-
-        <li>For good measure we consumer the messages we produced.</li>
-        <pre class="prettyprint">
-           <code>
-        MessageConsumer messageConsumer = session.createConsumer(queue);
-
-        connection.start();
-
-        System.out.println("Now consuming the messages...");
-
-        i = 0;
-        while (true)
-        {
-           TextMessage messageReceived = (TextMessage)messageConsumer.receive(5000);
-
-           if (messageReceived == null)
-           {
-              break;
-           }
-
-           i++;
-        }
-
-        System.out.println("Received " + i + " messages");
-
-           </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/producer-rate-limit/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/producer-rate-limit/readme.md b/examples/features/standard/producer-rate-limit/readme.md
new file mode 100644
index 0000000..b8db366
--- /dev/null
+++ b/examples/features/standard/producer-rate-limit/readme.md
@@ -0,0 +1,15 @@
+# JMS Message Producer Rate Limiting
+
+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.
+
+With ActiveMQ Artemis you can specify a maximum send rate at which a JMS MessageProducer will send messages. This can be specified when creating or deploying the connection factory. See `activemq-jms.xml`
+
+If this value is specified then ActiveMQ Artemis will ensure that messages are never produced at a rate higher than specified. This is a form of producer _throttling_.
+
+## Example step-by-step
+
+In this example we specify a `producerMaxRate` of `50` messages per second on the connection URL.
+
+We then simply send as many messages as we can in 10 seconds and note how many messages are actually sent.
+
+We note that the number of messages sent per second never exceeds the specified value of `50` messages per second.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/queue-requestor/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/queue-requestor/pom.xml b/examples/features/standard/queue-requestor/pom.xml
index 9db8f92..ecad52d 100644
--- a/examples/features/standard/queue-requestor/pom.xml
+++ b/examples/features/standard/queue-requestor/pom.xml
@@ -97,7 +97,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/queue-requestor/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/queue-requestor/readme.html b/examples/features/standard/queue-requestor/readme.html
deleted file mode 100644
index 68a1c95..0000000
--- a/examples/features/standard/queue-requestor/readme.html
+++ /dev/null
@@ -1,46 +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 QueueRequestor 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 QueueRequestor 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 use a <a href="http://java.sun.com/javaee/5/docs/api/javax/jms/QueueRequestor.html">QueueRequestor</a> with ActiveMQ Artemis.</p>
-     <p>JMS is mainly used to send messages asynchronously so that the producer of a message is not waiting for the result of the message consumption.
-        However, there are cases where it is necessary to have a synchronous behavior: the code sending a message requires a reply for this message
-        before continuing its execution.<br />
-        A QueueRequestor facilitates this use case by providing a simple request/reply abstraction on top of JMS.</p>
-     <p>The example consists in two classes:</p>
-     <dl>
-         <dt><code>TextReverserService</code></dt>
-         <dd>A JMS MessageListener which consumes text messages and sends replies containing the reversed text</dd>
-         <dt><code>QueueRequestorExample</code></dt>
-         <dd>A JMS Client which uses a QueueRequestor to send text requests to a queue and receive replies with the reversed text in a synchronous fashion</dd>
-    </dl>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/queue-requestor/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/queue-requestor/readme.md b/examples/features/standard/queue-requestor/readme.md
new file mode 100644
index 0000000..efa993b
--- /dev/null
+++ b/examples/features/standard/queue-requestor/readme.md
@@ -0,0 +1,14 @@
+# JMS QueueRequestor 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 use a [QueueRequestor](http://java.sun.com/javaee/5/docs/api/javax/jms/QueueRequestor.html) with ActiveMQ Artemis.
+
+JMS is mainly used to send messages asynchronously so that the producer of a message is not waiting for the result of the message consumption. However, there are cases where it is necessary to have a synchronous behavior: the code sending a message requires a reply for this message before continuing its execution.
+A QueueRequestor facilitates this use case by providing a simple request/reply abstraction on top of JMS.
+
+The example consists in two classes:
+
+* `TextReverserService`: A JMS MessageListener which consumes text messages and sends replies containing the reversed text.
+
+* `QueueRequestorExample`: A JMS Client which uses a QueueRequestor to send text requests to a queue and receive replies with the reversed text in a synchronous fashion.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/queue-requestor/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/queue-requestor/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/queue-requestor/src/main/resources/activemq/server0/broker.xml
index 73ef48c..bf9d4c8 100644
--- a/examples/features/standard/queue-requestor/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/queue-requestor/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.
          </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/queue-selector/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/queue-selector/pom.xml b/examples/features/standard/queue-selector/pom.xml
index bede7cb..d4a7119 100644
--- a/examples/features/standard/queue-selector/pom.xml
+++ b/examples/features/standard/queue-selector/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/queue-selector/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/queue-selector/readme.html b/examples/features/standard/queue-selector/readme.html
deleted file mode 100644
index ef63063..0000000
--- a/examples/features/standard/queue-selector/readme.html
+++ /dev/null
@@ -1,52 +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 Queue Selector 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 Queue Selector 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 selectively consume messages using message selectors with queue consumers.</p>
-
-     <p>Message selectors are strings with special syntax that can be used in creating consumers. Message consumers
-     created with a message selector will only receive messages that match its selector. On message delivery, the JBoss Message
-     Server evaluates the corresponding message headers of the messages against each selector, if any, and then delivers
-     the 'matched' messages to its consumer. Please consult the JMS 1.1 specification for full details.</p>
-
-     <p>In this example, three message consumers are created on a queue. The first consumer is created with selector
-     <code>'color=red'</code>, it only receives messages that
-     have a 'color' string property of 'red' value; the second is created with selector <code>'color=green'</code>, it
-     only receives messages who have a 'color' string property of
-     'green' value; and the third without a selector, which means it receives all messages. To illustrate, three messages
-     with different 'color' property values are created and sent.</p>
-
-     <p>Selectors can be used with both queue consumers and topic consumers. The difference is that with queue consumers,
-     a message is only delivered to one consumer on the queue, while topic consumers the message will be delivered to every
-     matching consumers. In this example, if the third consumer (anyConsumer) were the first consumer created, it will
-     consume the first message delivered, therefore there is no chance for the next consumer to get the message, even if it
-     matches the selector.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/queue-selector/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/queue-selector/readme.md b/examples/features/standard/queue-selector/readme.md
new file mode 100644
index 0000000..60448a4
--- /dev/null
+++ b/examples/features/standard/queue-selector/readme.md
@@ -0,0 +1,11 @@
+# JMS Queue Selector 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 selectively consume messages using message selectors with queue consumers.
+
+Message selectors are strings with special syntax that can be used in creating consumers. Message consumers created with a message selector will only receive messages that match its selector. On message delivery, the JBoss Message Server evaluates the corresponding message headers of the messages against each selector, if any, and then delivers the 'matched' messages to its consumer. Please consult the JMS 1.1 specification for full details.
+
+In this example, three message consumers are created on a queue. The first consumer is created with selector `'color=red'`, it only receives messages that have a 'color' string property of 'red' value; the second is created with selector `'color=green'`, it only receives messages who have a 'color' string property of 'green' value; and the third without a selector, which means it receives all messages. To illustrate, three messages with different 'color' property values are created and sent.
+
+Selectors can be used with both queue consumers and topic consumers. The difference is that with queue consumers, a message is only delivered to one consumer on the queue, while topic consumers the message will be delivered to every matching consumers. In this example, if the third consumer (anyConsumer) were the first consumer created, it will consume the first message delivered, therefore there is no chance for the next consumer to get the message, even if it matches the selector.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/queue/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/queue/pom.xml b/examples/features/standard/queue/pom.xml
index 7e964c8..6395b16 100644
--- a/examples/features/standard/queue/pom.xml
+++ b/examples/features/standard/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/queue/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/queue/readme.html b/examples/features/standard/queue/readme.html
deleted file mode 100644
index 0cdbd5f..0000000
--- a/examples/features/standard/queue/readme.html
+++ /dev/null
@@ -1,38 +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 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>JMS 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 send and receive a message to a JMS Queue using ActiveMQ Artemis.</p>
-     <p>Queues are a standard part of JMS, please consult the JMS 1.1 specification for full details.</p>
-     <p>A Queue is used to send messages point to point, from a producer to a consumer. The queue guarantees message ordering between these 2 points.</p>
-     <p>Notice this example is using pretty much a default stock configuration</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/queue/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/queue/readme.md b/examples/features/standard/queue/readme.md
new file mode 100644
index 0000000..bbe6012
--- /dev/null
+++ b/examples/features/standard/queue/readme.md
@@ -0,0 +1,11 @@
+# JMS 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 send and receive a message to a JMS Queue using ActiveMQ Artemis.
+
+Queues are a standard part of JMS, please consult the JMS 1.1 specification for full details.
+
+A Queue is used to send messages point to point, from a producer to a consumer. The queue guarantees message ordering between these 2 points.
+
+Notice this example is using pretty much a default stock configuration
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/reattach-node/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/reattach-node/pom.xml b/examples/features/standard/reattach-node/pom.xml
index 4af95e2..44dbb60 100644
--- a/examples/features/standard/reattach-node/pom.xml
+++ b/examples/features/standard/reattach-node/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/reattach-node/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/reattach-node/readme.html b/examples/features/standard/reattach-node/readme.html
deleted file mode 100644
index bc7d090..0000000
--- a/examples/features/standard/reattach-node/readme.html
+++ /dev/null
@@ -1,55 +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 Automatic Reattach 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 Reattach 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 demonstrates how ActiveMQ Artemis connections can be configured to be resilient to
-     temporary network failures.</p>
-     <p>In the case of a network failure being detected, either as a result of a failure to read/write to the connection,
-     or the failure of a pong to arrive back from the server in good time after a ping is sent, instead of
-     failing the connection immediately and notifying any user ExceptionListener objects, ActiveMQ
-     can be configured to automatically retry the connection, and reattach to the server when it becomes
-     available again across the network.</p>
-     <p>When the client reattaches to the server it will be able to resume using its sessions and connections
-     where it left off</p>
-     <p>This is different to client reconnect as the sessions, consumers etc still exist on the server. With reconnect
-     The client recreates its sessions and consumers as needed.</p>
-    <p>This example starts a single server, connects to it and performs some JMS operations. We then
-     simulate failure of the network connection by temporarily stopping the network acceptor on the server.
-     (This is done by sending management messages, but that is not central to the purpose of the example).</p>
-     <p>We then wait a few seconds, then restart the acceptor. The client reattaches and the session resumes
-     as if nothing happened.</p>
-     <p>The JMS Connection Factory is configured to reattach automatically by specifying the various reconnect
-     related attributes in the <code>activemq-jms.xml</code> file.</p>
-
-     <p>For more details on how to configure this and for clustering in general
-     please consult the ActiveMQ Artemis user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/reattach-node/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/reattach-node/readme.md b/examples/features/standard/reattach-node/readme.md
new file mode 100644
index 0000000..ef09c34
--- /dev/null
+++ b/examples/features/standard/reattach-node/readme.md
@@ -0,0 +1,19 @@
+# JMS Reattach 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 demonstrates how ActiveMQ Artemis connections can be configured to be resilient to temporary network failures.
+
+In the case of a network failure being detected, either as a result of a failure to read/write to the connection, or the failure of a pong to arrive back from the broker in good time after a ping is sent, instead of failing the connection immediately and notifying any user ExceptionListener objects, ActiveMQ can be configured to automatically retry the connection, and reattach to the broker when it becomes available again across the network.
+
+When the client reattaches to the broker it will be able to resume using its sessions and connections where it left off
+
+This is different to client reconnect as the sessions, consumers etc still exist on the server. With reconnect The client recreates its sessions and consumers as needed.
+
+This example starts a single server, connects to it and performs some JMS operations. We then simulate failure of the network connection by temporarily stopping the network acceptor on the server. (This is done by sending management messages, but that is not central to the purpose of the example).
+
+We then wait a few seconds, then restart the acceptor. The client reattaches and the session resumes as if nothing happened.
+
+The JMS Connection Factory is configured to reattach automatically by specifying the various reconnect related attributes in the connection URL in `jndi.properties`.
+
+For more details on how to configure this and for clustering in general please consult the ActiveMQ Artemis user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/reattach-node/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/reattach-node/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/reattach-node/src/main/resources/activemq/server0/broker.xml
index 72946ba..0fa7538 100644
--- a/examples/features/standard/reattach-node/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/reattach-node/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>
@@ -70,7 +68,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/request-reply/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/request-reply/pom.xml b/examples/features/standard/request-reply/pom.xml
index 9ac2496..72b54ec 100644
--- a/examples/features/standard/request-reply/pom.xml
+++ b/examples/features/standard/request-reply/pom.xml
@@ -106,6 +106,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/request-reply/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/request-reply/readme.html b/examples/features/standard/request-reply/readme.html
deleted file mode 100644
index 73d278d..0000000
--- a/examples/features/standard/request-reply/readme.html
+++ /dev/null
@@ -1,180 +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 Request-Reply 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 Request-Reply Example</h1>
-
-     <p>This example shows you how to handle a request message and receive a reply. To get a reply message, the requesting client creates a temporary queue. Then it sends out the request message with JMSReplyTo set to the temporary queue. The request message is handled by a SimpleRequestServer, who is listening to the request queue for incoming requests. If a request message has arrived, it extracts the reply queue from the request message by JMSReplyTo header, and sends back a reply message. To let the client know to which request message a reply message is related, the server also set the JMSCorrelationID with the request message's JMSMessageID header to the reply message.</p>
-<p>Of course, in a real world example you would re-use the session, producer, consumer and temporary queue and not create a new one for each message!
-Or better still use the correlation id, and just store the requests in a map, then you don't need a temporary queue at all
-
-     <p>Request/Reply style messaging is supported through standard JMS message headers JMSReplyTo and JMSCorrelationID. This is often used in request-reply style communications between applications.
-     Whenever a client sends a message that expects a response, it can use this mechanism to implement. please consult the JMS 1.1 specification for full details.</p>
-
-     <h2>Example step-by-step</h2>
-     <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p>
-
-     <ol>
-
-        <li>We start the request server</li>
-        <pre class="prettyprint">
-           <code>SimpleRequestServer server = new SimpleRequestServer();</code>
-           <code>server.start();</code>
-        </pre>
-
-        <li>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 = getContext();</code>
-        </pre>
-
-        <li>We lookup the queue for sending the request message</li>
-        <pre class="prettyprint">
-           <code>Queue requestQueue = (Queue) initialContext.lookup("/queue/exampleQueue");</code>
-        </pre>
-
-        <li>We lookup for the Connection Factory</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 start the connection</li>
-        <pre class="prettyprint">
-           <code>connection.start();</code>
-        </pre>
-
-        <li>We create a JMS Session</li>
-        <pre class="prettyprint">
-           <code>Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);</code>
-        </pre>
-
-        <li>We create a JMS Message Producer to send request message</li>
-        <pre class="prettyprint">
-           <code>MessageProducer producer = session.createProducer(requestQueue);</code>
-        </pre>
-
-        <li>We create a temporary queue used to send reply message to and receive reply from</li>
-        <pre class="prettyprint">
-           <code>TemporaryQueue replyQueue = session.createTemporaryQueue();</code>
-        </pre>
-
-        <li>We create a consumer to receive reply message</li>
-        <pre class="prettyprint">
-           <code>MessageConsumer replyConsumer = session.createConsumer(replyQueue);</code>
-        </pre>
-
-        <li>We create a request Text Message</li>
-        <pre class="prettyprint">
-           <code>TextMessage requestMsg = session.createTextMessage("A request message");</code>
-        </pre>
-
-        <li>We set the ReplyTo header so that the request receiver knows where to send the reply.</li>
-        <pre class="prettyprint">
-           <code>requestMsg.setJMSReplyTo(replyQueue);</code>
-        </pre>
-
-        <li>We sent the request message</li>
-        <pre class="prettyprint">
-           <code>producer.send(requestMsg);</code>
-        </pre>
-
-        <li>We put the request message to the map. Later we use it to check out which request message a reply message is for. Here we use the MessageID as the correlation id (JMSCorrelationID). You don't have to use it though. You can use some arbitrary string for example.</li>
-        <pre class="prettyprint">
-           <code>requestMap.put(requestMsg.getJMSMessageID(), requestMsg);</code>
-        </pre>
-
-        <li>We receive the reply message</li>
-        <pre class="prettyprint">
-           <code>TextMessage replyMessageReceived = (TextMessage)replyConsumer.receive();</code>
-        </pre>
-
-        <li>We check out which request message is this reply message sent for. Here we just have one request message for illustrative purpose. In real world there may be many requests and many replies.</li>
-        <pre class="prettyprint">
-           <code>TextMessage matchedMessage = requestMap.get(replyMessageReceived.getJMSCorrelationID());</code>
-        </pre>
-
-        <li>We close the consumer and producer on the replyQueue</li>
-        <pre class="prettyprint">
-           <code>replyConsumer.close();</code>
-        </pre>
-
-        <li>We delete the temporary queue</li>
-        <pre class="prettyprint">
-           <code>replyQueue.delete();</code>
-        </pre>
-
-        <li>We shutdown the request server</li>
-        <pre class="prettyprint">
-           <code>server.shutdown();</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>
-
-     Request Messages are handled in SimpleRequestServer.onMessage(),
-
-     <ol>
-        <li>Extract the ReplyTo destination</li>
-        <pre class="prettyprint">
-           <code>Destination replyDestination = request.getJMSReplyTo();</code>
-        </pre>
-
-        <li>Create the reply message</li>
-        <pre class="prettyprint">
-           <code>TextMessage replyMessage = session.createTextMessage("A reply message");</code>
-        </pre>
-
-        <li>Set the CorrelationID</li>
-        <pre class="prettyprint">
-           <code>replyMessage.setJMSCorrelationID(request.getJMSCorrelationID());</code>
-        </pre>
-
-        <li>Send out the reply message</li>
-        <pre class="prettyprint">
-           <code>replyProducer.send(replyMessage);</code>
-        </pre>
-     </ol>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/request-reply/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/request-reply/readme.md b/examples/features/standard/request-reply/readme.md
new file mode 100644
index 0000000..68ee072
--- /dev/null
+++ b/examples/features/standard/request-reply/readme.md
@@ -0,0 +1,9 @@
+# JMS Request-Reply Example
+
+To run the example, simply type **mvn verify -Pexample** from this directory.
+
+This example shows you how to handle a request message and receive a reply. To get a reply message, the requesting client creates a temporary queue. Then it sends out the request message with JMSReplyTo set to the temporary queue. The request message is handled by a SimpleRequestServer, who is listening to the request queue for incoming requests. If a request message has arrived, it extracts the reply queue from the request message by JMSReplyTo header, and sends back a reply message. To let the client know to which request message a reply message is related, the broker also set the JMSCorrelationID with the request message's JMSMessageID header to the reply message.
+
+Of course, in a real world example you would re-use the session, producer, consumer and temporary queue and not create a new one for each message! Or better still use the correlation id, and just store the requests in a map, then you don't need a temporary queue at all
+
+Request/Reply style messaging is supported through standard JMS message headers JMSReplyTo and JMSCorrelationID. This is often used in request-reply style communications between applications. Whenever a client sends a message that expects a response, it can use this mechanism to implement. Please consult the JMS 1.1 specification for full details.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/dup-send/README.txt
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/dup-send/README.txt b/examples/features/standard/rest/dup-send/README.txt
deleted file mode 100644
index 2ae6d0d..0000000
--- a/examples/features/standard/rest/dup-send/README.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-System Requirements:
-You will need JDK 1.8 and Maven to run this example.  This example has been tested with Maven 3.3.3.  It may or may not work
-with earlier or later versions of Maven.
-
-
-This is an example of using duplicate detection for posted messages.  The first file to look at is:
-
-src/main/resource/activemq-rest.xml
-
-You see that by default, all messages posted to msg-create URLs will follow the duplicate detection pattern talked
-about in the documentation.
-
-To run the example you will need 3 shell-script windows (or you'll need to run 2 processes in background)
-
-Step 1:
-$ mvn jetty:run
-
-This will bring up ActiveMQ Artemis and the ActiveMQ Artemis REST Interface.
-
-Step 2:
-$ mvn exec:java -Dexec.mainClass="ReceiveOrder"
-
-This will bring up a REST client that is continuously pulling the server through a consume-next (see doco for details).
-
-Step 3:
-$ mvn exec:java -Dexec.mainClass="PostOrder"
-
-This class will post 3 orders.  The first order will cause the 307 redirection as stated in the docs.  A 2nd order
-will be posted twice through the same consume-next URL.  You'll see from the ReceiveOrder process that only 2 messages
-are actually processed through the queue (instead of the 3 posts that were done).
-
-Step 4:
-
-In Step 4, you will use the create-with-id URL published by the container.  To run the example, you must pass in
-your own order id.  For example:
-
-$ mvn exec:java -Dexec.mainClass="PostOrderWithId" -Dexec.args="001"
-
-If you run this program with the same argument you'll see that only one of the messages passes through the queue
-and is consumed by the ReceiveOrder process.  Pass a different string to -Dexec.args to post a new message that
-isn't caught by the dup-detection facility.

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/dup-send/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/dup-send/pom.xml b/examples/features/standard/rest/dup-send/pom.xml
index 618c58e..18dc01d 100644
--- a/examples/features/standard/rest/dup-send/pom.xml
+++ b/examples/features/standard/rest/dup-send/pom.xml
@@ -27,12 +27,70 @@ under the License.
    </parent>
    <artifactId>dup-send</artifactId>
    <packaging>war</packaging>
-   <name>Duplicate Send Demo</name>
+   <name>Duplicate Send Example</name>
 
    <properties>
       <activemq.basedir>${project.basedir}/../../../../..</activemq.basedir>
    </properties>
 
+   <dependencies>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-core-client</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-server</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-jms-client</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-jms-server</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>io.netty</groupId>
+         <artifactId>netty-all</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.geronimo.specs</groupId>
+         <artifactId>geronimo-jms_2.0_spec</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq.rest</groupId>
+         <artifactId>artemis-rest</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.resteasy</groupId>
+         <artifactId>resteasy-jaxrs</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.resteasy</groupId>
+         <artifactId>resteasy-jaxb-provider</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
+
    <profiles>
       <profile>
          <id>example</id>
@@ -103,53 +161,16 @@ under the License.
             </plugins>
          </build>
       </profile>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
    </profiles>
-   <dependencies>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-core-client</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-server</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-jms-client</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-jms-server</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>io.netty</groupId>
-         <artifactId>netty-all</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.geronimo.specs</groupId>
-         <artifactId>geronimo-jms_2.0_spec</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq.rest</groupId>
-         <artifactId>artemis-rest</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.resteasy</groupId>
-         <artifactId>resteasy-jaxrs</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.resteasy</groupId>
-         <artifactId>resteasy-jaxb-provider</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>junit</groupId>
-         <artifactId>junit</artifactId>
-         <scope>test</scope>
-      </dependency>
-   </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/dup-send/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/dup-send/readme.md b/examples/features/standard/rest/dup-send/readme.md
new file mode 100644
index 0000000..81023a4
--- /dev/null
+++ b/examples/features/standard/rest/dup-send/readme.md
@@ -0,0 +1,41 @@
+# Rest Duplicate Send Example
+
+This is an example of using duplicate detection for posted messages.  The first file to look at is:
+
+src/main/resource/activemq-rest.xml
+
+You see that by default, all messages posted to msg-create URLs will follow the duplicate detection pattern talked
+about in the documentation.
+
+To run the example you will need 3 shell-script windows (or you'll need to run 2 processes in background)
+
+Step 1:
+
+    mvn jetty:run
+
+This will bring up ActiveMQ Artemis and the ActiveMQ Artemis REST Interface.
+
+Step 2:
+
+    mvn exec:java -Dexec.mainClass="ReceiveOrder"
+
+This will bring up a REST client that is continuously pulling the broker through a consume-next (see doco for details).
+
+Step 3:
+
+    mvn exec:java -Dexec.mainClass="PostOrder"
+
+This class will post 3 orders.  The first order will cause the 307 redirection as stated in the docs.  A 2nd order
+will be posted twice through the same consume-next URL.  You'll see from the ReceiveOrder process that only 2 messages
+are actually processed through the queue (instead of the 3 posts that were done).
+
+Step 4:
+
+In Step 4, you will use the create-with-id URL published by the container.  To run the example, you must pass in
+your own order id.  For example:
+
+    mvn exec:java -Dexec.mainClass="PostOrderWithId" -Dexec.args="001"
+
+If you run this program with the same argument you'll see that only one of the messages passes through the queue
+and is consumed by the ReceiveOrder process.  Pass a different string to `-Dexec.args` to post a new message that
+isn't caught by the dup-detection facility.

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/dup-send/src/main/resources/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/dup-send/src/main/resources/broker.xml b/examples/features/standard/rest/dup-send/src/main/resources/broker.xml
index 577f5b0..466a051 100644
--- a/examples/features/standard/rest/dup-send/src/main/resources/broker.xml
+++ b/examples/features/standard/rest/dup-send/src/main/resources/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">
       <persistence-enabled>false</persistence-enabled>
       <security-enabled>false</security-enabled>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/javascript-chat/README.txt
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/javascript-chat/README.txt b/examples/features/standard/rest/javascript-chat/README.txt
deleted file mode 100644
index 7e52e1b..0000000
--- a/examples/features/standard/rest/javascript-chat/README.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-System Requirements:
-You will need JDK 1.8 and Maven to run this example.  This example has been tested with Maven 3.3.3.  It may or may not work
-with earlier or later versions of Maven.
-
-
-This is an example of producing and consuming messages through a topic.  The client is Javascript code within your browser.
-The example is a very simple chat application between two browser windows.
-
-Step 1:
-$ mvn jetty:run
-
-This will bring up ActiveMQ Artemis and the ActiveMQ Artemis REST Interface.
-
-Step 2:
-Bring up two browsers and point them to http://localhost:8080.  In the textbox type a message you want to send.  Click
-the "Click to send message" button and you'll see the message show up in both browser windows.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/javascript-chat/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/javascript-chat/pom.xml b/examples/features/standard/rest/javascript-chat/pom.xml
index 020bc89..41d4955 100644
--- a/examples/features/standard/rest/javascript-chat/pom.xml
+++ b/examples/features/standard/rest/javascript-chat/pom.xml
@@ -33,6 +33,65 @@ under the License.
       <activemq.basedir>${project.basedir}/../../../../..</activemq.basedir>
    </properties>
 
+   <dependencies>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-core-client</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-server</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-jms-client</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-jms-server</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>io.netty</groupId>
+         <artifactId>netty-all</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.geronimo.specs</groupId>
+         <artifactId>geronimo-jms_2.0_spec</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq.rest</groupId>
+         <artifactId>artemis-rest</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.resteasy</groupId>
+         <artifactId>resteasy-jaxrs</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.resteasy</groupId>
+         <artifactId>resteasy-jaxb-provider</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <version>4.1</version>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
+
    <profiles>
       <profile>
          <id>example</id>
@@ -116,54 +175,16 @@ under the License.
             </plugins>
          </build>
       </profile>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
    </profiles>
-   <dependencies>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-core-client</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-server</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-jms-client</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq</groupId>
-         <artifactId>artemis-jms-server</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>io.netty</groupId>
-         <artifactId>netty-all</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.geronimo.specs</groupId>
-         <artifactId>geronimo-jms_2.0_spec</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.activemq.rest</groupId>
-         <artifactId>artemis-rest</artifactId>
-         <version>${project.version}</version>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.resteasy</groupId>
-         <artifactId>resteasy-jaxrs</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.resteasy</groupId>
-         <artifactId>resteasy-jaxb-provider</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>junit</groupId>
-         <artifactId>junit</artifactId>
-         <version>4.1</version>
-         <scope>test</scope>
-      </dependency>
-   </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/javascript-chat/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/javascript-chat/readme.md b/examples/features/standard/rest/javascript-chat/readme.md
new file mode 100644
index 0000000..decd8b0
--- /dev/null
+++ b/examples/features/standard/rest/javascript-chat/readme.md
@@ -0,0 +1,15 @@
+# Rest Chat Application Example
+
+This is an example of producing and consuming messages through a topic.  The client is Javascript code within your browser.
+
+The example is a very simple chat application between two browser windows.
+
+Step 1:
+
+    mvn jetty:run
+
+This will bring up ActiveMQ Artemis and the ActiveMQ Artemis REST Interface.
+
+Step 2:
+
+Bring up two browsers and point them to `http://localhost:8080`.  In the textbox type a message you want to send.  Click the "Click to send message" button and you'll see the message show up in both browser windows.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/javascript-chat/src/main/resources/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/javascript-chat/src/main/resources/broker.xml b/examples/features/standard/rest/javascript-chat/src/main/resources/broker.xml
index 30a5ff3..7f5c63d 100644
--- a/examples/features/standard/rest/javascript-chat/src/main/resources/broker.xml
+++ b/examples/features/standard/rest/javascript-chat/src/main/resources/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">
       <persistence-enabled>false</persistence-enabled>
       <security-enabled>false</security-enabled>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/rest/jms-to-rest/README.txt
----------------------------------------------------------------------
diff --git a/examples/features/standard/rest/jms-to-rest/README.txt b/examples/features/standard/rest/jms-to-rest/README.txt
deleted file mode 100644
index 217bb3c..0000000
--- a/examples/features/standard/rest/jms-to-rest/README.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-System Requirements:
-You will need JDK 1.8 and Maven to run this example.  This example has been tested with Maven 3.3.3.  It may or may not work
-with earlier or later versions of Maven.
-
-
-This is an example of mixing JMS producers and consumers with REST producers and consumers.  The REST clients have been
-written in both Java using RESTEasy's client library and within the Python language.  You will need Python 2.6.1 or higher
-to be able to run the Python clients.
-
-To run the example you will need 5 shell-script windows (or you'll need to run 4 processes in background)
-
-Step 1:
-$ mvn jetty:run
-
-This will bring up ActiveMQ Artemis and the ActiveMQ Artemis REST Interface.
-
-Step 2:
-$ mvn exec:java -Dexec.mainClass="RestReceive"
-
-This will bring up a Java REST client that is continuously pulling the server through a consume-next (see doco for details).
-
-Step 3:
-$ mvn exec:java -Dexec.mainClass="JmsReceive"
-
-This will bring up a Java JMS consumer that is using the MessageListener interface to consume messages.  It will
-extract a Order instance from the JMS Message it receives.
-
-Step 4:
-
-$ python receiveOrder.py
-
-This runs a very simple Python program to consume messages
-
-Step 5:
-Use one of these three commands to post messages to the system.  One of the receive clients will consume the message.
-
-$ mvn exec:java -Dexec.mainClass="JmsSend"
-
-A JMS client will create an Order object and send it to the queue.  You'll see one of the 4 clients receive the message.
-Notice that the REST clients automatically cause the Order object to be transformed on the server and passed as XML
-to the REST client.
-
-$ mvn exec:java -Dexec.mainClass="RestSend"
-
-THis is a REST client that uses the Acknowledgement protocol to receive a message from the queue.
-
-$ python postOrder.py
-
-This is a Python client that posts one message to the queue RESTfully (of course ;) )


[04/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/ssl-enabled-dual-authentication/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/ssl-enabled-dual-authentication/pom.xml b/examples/features/standard/ssl-enabled-dual-authentication/pom.xml
index d106915..9984924 100644
--- a/examples/features/standard/ssl-enabled-dual-authentication/pom.xml
+++ b/examples/features/standard/ssl-enabled-dual-authentication/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/ssl-enabled-dual-authentication/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/ssl-enabled-dual-authentication/readme.html b/examples/features/standard/ssl-enabled-dual-authentication/readme.html
deleted file mode 100644
index 93d7c72..0000000
--- a/examples/features/standard/ssl-enabled-dual-authentication/readme.html
+++ /dev/null
@@ -1,75 +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 SSL 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 SSL Dual Authentication 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 2-way SSL along with 2 different authentications mechanisms so that SSL and non-SSL clients can send and consume messages to/from ActiveMQ Artemis.
-     The non-SSL authentication mechanism simply uses username and password. The SSL authentication mechanism uses the client's certificate.</p>
-
-     <p>To configure 2-way SSL you need to configure the acceptor as follows:</p>
-
-     <p>
-        <pre class="prettyprint">
-           <code>
-      &lt;!-- Acceptor --&gt;
-
-      &lt;acceptor name=&quot;netty-ssl-acceptor&quot;&gt;tcp://localhost:5500?sslEnabled=true;needClientAuth=true;keyStorePath=${data.dir}/../etc/server-side-keystore.jks;keyStorePassword=secureexample;trustStorePath=${data.dir}/../etc/server-side-truststore.jks;trustStorePassword=secureexample&lt;/acceptor&gt;
-           </code>
-        </pre>
-     </p>
-
-     <p>In the server-side URL, the server-side-keystore.jks is the key store file holding the server's certificate. The server-side-truststore.jks is the file holding the certificates which the server trusts. Notice also the "sslEnabled" and "needClientAuth" parameters which enable SSL and require clients to present their own certificate respectively. Here's the URL the client uses to connect over SSL:</p>
-
-     <p>
-        <pre class="prettyprint">
-           <code>
-      tcp://localhost:5500?sslEnabled=true&trustStorePath=activemq/server0/client-side-truststore.jks&trustStorePassword=secureexample&keyStorePath=activemq/server0/client-side-keystore.jks&keyStorePassword=secureexample
-           </code>
-        </pre>
-     </p>
-
-     <p>In the client-side URL, the client-side-keystore.jks is the key store file holding the client's certificate. The client-side-truststore.jks is the file holding the certificates which the client trusts. The "sslEnabled" parameter is present here as well just as it is on the server.</p>
-
-     <p>The various keystore files are generated using the following commands:</p>
-
-     <p>
-        <pre class="prettyprint">
-           <code>
-keytool -genkey -keystore server-side-keystore.jks -storepass secureexample -keypass secureexample -dname "CN=ActiveMQ Artemis Server, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA
-keytool -export -keystore server-side-keystore.jks -file server-side-cert.cer -storepass secureexample
-keytool -import -keystore client-side-truststore.jks -file server-side-cert.cer -storepass secureexample -keypass secureexample -noprompt
-keytool -genkey -keystore client-side-keystore.jks -storepass secureexample -keypass secureexample -dname "CN=ActiveMQ Artemis Client, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA
-keytool -export -keystore client-side-keystore.jks -file client-side-cert.cer -storepass secureexample
-keytool -import -keystore server-side-truststore.jks -file client-side-cert.cer -storepass secureexample -keypass secureexample -noprompt
-           </code>
-        </pre>
-     </p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/ssl-enabled-dual-authentication/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/ssl-enabled-dual-authentication/readme.md b/examples/features/standard/ssl-enabled-dual-authentication/readme.md
new file mode 100644
index 0000000..1fbe0da
--- /dev/null
+++ b/examples/features/standard/ssl-enabled-dual-authentication/readme.md
@@ -0,0 +1,26 @@
+# JMS SSL Dual Authentication 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 2-way SSL along with 2 different authentications mechanisms so that SSL and non-SSL clients can send and consume messages to/from ActiveMQ Artemis. The non-SSL authentication mechanism simply uses username and password. The SSL authentication mechanism uses the client's certificate.
+
+To configure 2-way SSL you need to configure the acceptor as follows:
+
+    <acceptor name="netty-ssl-acceptor">tcp://localhost:5500?sslEnabled=true;needClientAuth=true;keyStorePath=server-side-keystore.jks;keyStorePassword=secureexample;trustStorePath=server-side-truststore.jks;trustStorePassword=secureexample</acceptor>
+
+In the server-side URL, the `server-side-keystore.jks` is the key store file holding the server's certificate. The `server-side-truststore.jks` is the file holding the certificates which the broker trusts. Notice also the `sslEnabled` and `needClientAuth` parameters which enable SSL and require clients to present their own certificate respectively.
+
+Here's the URL the client uses to connect over SSL:
+
+    tcp://localhost:5500?sslEnabled=true&trustStorePath=activemq/server0/client-side-truststore.jks&trustStorePassword=secureexample&keyStorePath=activemq/server0/client-side-keystore.jks&keyStorePassword=secureexample
+
+In the client-side URL, the `client-side-keystore.jks` is the key store file holding the client's certificate. The `client-side-truststore.jks` is the file holding the certificates which the client trusts. The `sslEnabled` parameter is present here as well just as it is on the server.
+
+The various keystore files are generated using the following commands:
+
+* `keytool -genkey -keystore server-side-keystore.jks -storepass secureexample -keypass secureexample -dname "CN=ActiveMQ Artemis Server, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA`
+* `keytool -export -keystore server-side-keystore.jks -file server-side-cert.cer -storepass secureexample`
+* `keytool -import -keystore client-side-truststore.jks -file server-side-cert.cer -storepass secureexample -keypass secureexample -noprompt`
+* `keytool -genkey -keystore client-side-keystore.jks -storepass secureexample -keypass secureexample -dname "CN=ActiveMQ Artemis Client, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA`
+* `keytool -export -keystore client-side-keystore.jks -file client-side-cert.cer -storepass secureexample`
+* `keytool -import -keystore server-side-truststore.jks -file client-side-cert.cer -storepass secureexample -keypass secureexample -noprompt` 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/ssl-enabled-dual-authentication/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/ssl-enabled-dual-authentication/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/ssl-enabled-dual-authentication/src/main/resources/activemq/server0/broker.xml
index 420fa74..1bba774 100644
--- a/examples/features/standard/ssl-enabled-dual-authentication/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/ssl-enabled-dual-authentication/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>
@@ -33,7 +31,7 @@ under the License.
       <!-- Acceptors -->
       <acceptors>
          <acceptor name="netty-acceptor">tcp://localhost:61616</acceptor>
-         <acceptor name="netty-ssl-acceptor">tcp://localhost:5500?sslEnabled=true;needClientAuth=true;keyStorePath=${data.dir}/../etc/server-side-keystore.jks;keyStorePassword=secureexample;trustStorePath=${data.dir}/../etc/server-side-truststore.jks;trustStorePassword=secureexample</acceptor>
+         <acceptor name="netty-ssl-acceptor">tcp://localhost:5500?sslEnabled=true;needClientAuth=true;keyStorePath=server-side-keystore.jks;keyStorePassword=secureexample;trustStorePath=server-side-truststore.jks;trustStorePassword=secureexample</acceptor>
       </acceptors>
 
       <!-- Other config -->
@@ -46,7 +44,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/ssl-enabled/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/ssl-enabled/pom.xml b/examples/features/standard/ssl-enabled/pom.xml
index 7bcc83a..bcfe9dd 100644
--- a/examples/features/standard/ssl-enabled/pom.xml
+++ b/examples/features/standard/ssl-enabled/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/ssl-enabled/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/ssl-enabled/readme.html b/examples/features/standard/ssl-enabled/readme.html
deleted file mode 100644
index bb5e724..0000000
--- a/examples/features/standard/ssl-enabled/readme.html
+++ /dev/null
@@ -1,56 +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 SSL 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 SSL 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 SSL with ActiveMQ Artemis to send and receive message. </p>
-
-     <p>Using SSL can make your messaging applications interact with ActiveMQ Artemis securely. An application can
-     be secured transparently without extra coding effort. To secure your messaging application with SSL, you need to configure connector and acceptor as follows:</p>
-
-     <p>
-        <pre class="prettyprint">
-           <code>
-      &lt;!-- Connector --&gt;
-
-      &lt;connector name=&quot;netty-ssl-connector&quot;&gt;tcp://localhost:5500?sslEnabled=true;keyStorePath=activemq/server0/activemq.example.keystore;keyStorePassword=activemqexample&lt;/connector&gt;
-
-      &lt;!-- Acceptor --&gt;
-
-      &lt;acceptor name=&quot;netty-ssl-acceptor&quot;&gt;tcp://localhost:5500?sslEnabled=true;keyStorePath=activemq/server0/activemq.example.keystore;keyStorePassword=activemqexample&lt;/acceptor&gt;
-
-           </code>
-        </pre>
-     </p>
-
-     <p>In the configuration, the activemq.example.keystore is the key store file holding the server's certificate. The activemq.example.truststore
-     is the file holding the certificates which the client trusts (i.e. the server's certificate exported from activemq.example.keystore). They are pre-generated for illustration purpose<a id="fnr1" href="readme.html#fn1"><sup>1</sup></a>.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/ssl-enabled/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/ssl-enabled/readme.md b/examples/features/standard/ssl-enabled/readme.md
new file mode 100644
index 0000000..6038f6d
--- /dev/null
+++ b/examples/features/standard/ssl-enabled/readme.md
@@ -0,0 +1,15 @@
+# JMS SSL 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 SSL with ActiveMQ Artemis to send and receive message.
+
+Using SSL can make your messaging applications interact with ActiveMQ Artemis securely. An application can be secured transparently without extra coding effort. To secure your messaging application with SSL, you need to configure connector and acceptor as follows:
+
+    <acceptor name="netty-ssl-acceptor">tcp://localhost:5500?sslEnabled=true;keyStorePath=activemq.example.keystore;keyStorePassword=activemqexample</acceptor>
+
+In the configuration, the `activemq.example.keystore` is the key store file holding the server's certificate. The `activemq.example.truststore` is the file holding the certificates which the client trusts (i.e. the server's certificate exported from activemq.example.keystore). They are generated via the following commands:
+
+* `keytool -genkey -keystore activemq.example.keystore -storepass activemqexample -keypass activemqexample -dname "CN=ActiveMQ Artemis Server, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA`
+* `keytool -export -keystore activemq.example.keystore -file server-side-cert.cer -storepass activemqexample`
+* `keytool -import -keystore activemq.example.truststore -file server-side-cert.cer -storepass activemqexample -keypass activemqexample -noprompt`
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/activemq.example.keystore
----------------------------------------------------------------------
diff --git a/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/activemq.example.keystore b/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/activemq.example.keystore
index 50de681..4ed2413 100644
Binary files a/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/activemq.example.keystore and b/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/activemq.example.keystore differ

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/activemq.example.truststore
----------------------------------------------------------------------
diff --git a/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/activemq.example.truststore b/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/activemq.example.truststore
index 129391a..45ab086 100644
Binary files a/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/activemq.example.truststore and b/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/activemq.example.truststore differ

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/broker.xml
index 11f6c3d..04bcec5 100644
--- a/examples/features/standard/ssl-enabled/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/ssl-enabled/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>
@@ -32,7 +30,8 @@ under the License.
 
       <!-- Acceptors -->
       <acceptors>
-         <acceptor name="netty-ssl-acceptor">tcp://localhost:5500?sslEnabled=true;keyStorePath=${data.dir}/../etc/activemq.example.keystore;keyStorePassword=activemqexample</acceptor>
+         <!-- keystores will be found automatically if they are on the classpath -->
+         <acceptor name="netty-ssl-acceptor">tcp://localhost:5500?sslEnabled=true;keyStorePath=activemq.example.keystore;keyStorePassword=activemqexample</acceptor>
       </acceptors>
 
       <!-- Other config -->
@@ -49,7 +48,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/static-selector/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/static-selector/pom.xml b/examples/features/standard/static-selector/pom.xml
index 513ecad..9e73c75 100644
--- a/examples/features/standard/static-selector/pom.xml
+++ b/examples/features/standard/static-selector/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/static-selector/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/static-selector/readme.html b/examples/features/standard/static-selector/readme.html
deleted file mode 100644
index 0dca49f..0000000
--- a/examples/features/standard/static-selector/readme.html
+++ /dev/null
@@ -1,60 +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 Static Message Selector 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>Static Message Selector 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 a ActiveMQ Artemis queue with static message selectors (filters)
-        (to configure a static selector directly on a <em>JMS</em> queue, please see the
-        <a href="../static-selector-jms/readme.html">static-selector-jms example</a>).</p>
-
-     <p>Static message selectors are ActiveMQ's extension to message selectors as defined in JMS spec 1.1.
-     Rather than specifying the selector in the application code, static message selectors are defined in one of
-     ActiveMQ's configuration files, broker.xml, as an element called 'filter' inside each queue
-     definition, like</p>
-
-     <pre class="prettyprint"><code>
-      &lt;queues&gt;
-      	&lt;queue name=&quot;jms.queue.selectorQueue&quot;&gt;
-      	    &lt;address&gt;jms.queue.selectorQueue&lt;/address&gt;
-      	    &lt;filter string=&quot;color='red'&quot;/&gt;
-      	&lt;/queue&gt;
-      &lt;/queues&gt;
-     </code></pre>
-
-     <p>Once configured the queue 'selectorQueue' only delivers messages that are selected against the filter, i.e.,
-     only the messages whose 'color' properties are of 'red' values can be received by its consumers. Those that don't match
-     the filter will be dropped by the queue and therefore will never be delivered to any of its consumers.</p>
-
-     <p>In the example code, five messages with different 'color' property values are sent to queue 'selectorQueue'. One consumer
-     is created to receive messages from the queue. Of the five sent messages, two are of 'red' color properties, one is 'blue',
-     one is 'green' and one has not the 'color' property at all. The result is that the consumer only gets the two 'red' messages.</p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/static-selector/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/static-selector/readme.md b/examples/features/standard/static-selector/readme.md
new file mode 100644
index 0000000..0890840
--- /dev/null
+++ b/examples/features/standard/static-selector/readme.md
@@ -0,0 +1,11 @@
+# Static Message Selector 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 a ActiveMQ Artemis queue with static message selectors (filters).
+
+Static message selectors are ActiveMQ's extension to message selectors as defined in JMS spec 1.1. Rather than specifying the selector in the application code, static message selectors are defined in one of ActiveMQ's configuration files, broker.xml, as an element called `filter` inside each queue definition, like
+
+Once configured the queue `selectorQueue` only delivers messages that are selected against the filter, i.e., only the messages whose `color` properties are of `red` values can be received by its consumers. Those that don't match the filter will be dropped by the queue and therefore will never be delivered to any of its consumers.
+
+In the example code, five messages with different `color` property values are sent to queue `selectorQueue`. One consumer is created to receive messages from the queue. Of the five sent messages, two are of `red` color properties, one is `blue`, one is `green` and one has not the `color` property at all. The result is that the consumer only gets the two `red` messages.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/static-selector/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/static-selector/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/static-selector/src/main/resources/activemq/server0/broker.xml
index fa99879..b6bda09 100644
--- a/examples/features/standard/static-selector/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/static-selector/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">
-
-   <core xmlns="urn:activemq:core">
-
+-->
+<configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">
       <bindings-directory>./data/messaging/bindings</bindings-directory>
 
       <journal-directory>./data/messaging/journal</journal-directory>
@@ -49,7 +47,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <multicast>
                <queue name="exampleQueue">

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/temp-queue/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/temp-queue/pom.xml b/examples/features/standard/temp-queue/pom.xml
index eb89b02..729f6d7 100644
--- a/examples/features/standard/temp-queue/pom.xml
+++ b/examples/features/standard/temp-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>
-
+   <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>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/temp-queue/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/temp-queue/readme.html b/examples/features/standard/temp-queue/readme.html
deleted file mode 100644
index 4b4d5c8..0000000
--- a/examples/features/standard/temp-queue/readme.html
+++ /dev/null
@@ -1,40 +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 Temporary 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>JMS Temporary 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 use a TemporaryQueue with ActiveMQ Artemis. First a temporary queue is created to send and receive a message and then deleted.
-         Then another temporary queue is created and used after its connection is closed to illustrate its scope.</p>
-     <p>A TemporaryQueue is a JMS queue that exists only within the lifetime of its connection. It is often used in request-reply
-         type messaging where the reply is sent through a temporary destination. The temporary queue is often created as
-         a server resource, so after using, the user should call delete() method to release the resources.
-         Please consult the JMS 1.1 specification for full details.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/temp-queue/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/temp-queue/readme.md b/examples/features/standard/temp-queue/readme.md
new file mode 100644
index 0000000..8f06354
--- /dev/null
+++ b/examples/features/standard/temp-queue/readme.md
@@ -0,0 +1,7 @@
+# JMS Temporary 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 use a TemporaryQueue with ActiveMQ Artemis. First a temporary queue is created to send and receive a message and then deleted. Then another temporary queue is created and used after its connection is closed to illustrate its scope.
+
+A TemporaryQueue is a JMS queue that exists only within the lifetime of its connection. It is often used in request-reply type messaging where the reply is sent through a temporary destination. The temporary queue is often created as a broker resource, so after using, the user should call delete() method to release the resources. Please consult the JMS 1.1 specification for full details.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/temp-queue/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/temp-queue/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/temp-queue/src/main/resources/activemq/server0/broker.xml
index bd62a0e..a987728 100644
--- a/examples/features/standard/temp-queue/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/temp-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/bindings</bindings-directory>
@@ -54,7 +52,7 @@ under the License.
             <permission roles="guest" type="send"/>
          </security-setting>
       </security-settings>
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <anycast>
                <queue name="jms.queue.exampleQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/topic-hierarchies/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-hierarchies/pom.xml b/examples/features/standard/topic-hierarchies/pom.xml
index e02a86c..61ffb4b 100644
--- a/examples/features/standard/topic-hierarchies/pom.xml
+++ b/examples/features/standard/topic-hierarchies/pom.xml
@@ -106,7 +106,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/topic-hierarchies/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-hierarchies/readme.html b/examples/features/standard/topic-hierarchies/readme.html
deleted file mode 100644
index 0aa16ca..0000000
--- a/examples/features/standard/topic-hierarchies/readme.html
+++ /dev/null
@@ -1,42 +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 Topic Hierarchy 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>Topic Hierarchy 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>ActiveMQ Artemis supports topic hierarchies. With a topic hierarchy you can register a subscriber with a wild-card
-     and that subscriber will receive any messages routed to an address that match the wildcard.</p>
-     <p>ActiveMQ Artemis wild-cards can use the character '#' which means "match any number of words", and
-     the character '*' which means "match a single word". Words are delimited by the character "."</p>
-     <p>For example if I subscribe using the wild-card "news.europe.#", then that would match messages sent to the addresses
-     "news.europe", "news.europe.sport" and "news.europe.entertainment", but it does not match messages sent to the
-     address "news.usa.wrestling"</p>
-     <p>For more information on the wild-card syntax please consult the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/topic-hierarchies/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-hierarchies/readme.md b/examples/features/standard/topic-hierarchies/readme.md
new file mode 100644
index 0000000..2f70bc7
--- /dev/null
+++ b/examples/features/standard/topic-hierarchies/readme.md
@@ -0,0 +1,11 @@
+# Topic Hierarchy 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.
+
+ActiveMQ Artemis supports topic hierarchies. With a topic hierarchy you can register a subscriber with a wild-card and that subscriber will receive any messages routed to an address that match the wildcard.
+
+ActiveMQ Artemis wild-cards can use the character `#` which means "match any number of words", and the character `*` which means "match a single word". Words are delimited by the character `.`.
+
+For example if I subscribe using the wild-card `news.europe.#`, then that would match messages sent to the addresses `news.europe`, `news.europe.sport` and `news.europe.entertainment`, but it does not match messages sent to the address `news.usa.wrestling`.
+
+For more information on the wild-card syntax please consult the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/topic-hierarchies/src/main/java/org/apache/activemq/artemis/jms/example/TopicHierarchyExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-hierarchies/src/main/java/org/apache/activemq/artemis/jms/example/TopicHierarchyExample.java b/examples/features/standard/topic-hierarchies/src/main/java/org/apache/activemq/artemis/jms/example/TopicHierarchyExample.java
index 41bda55..e5fadf3 100644
--- a/examples/features/standard/topic-hierarchies/src/main/java/org/apache/activemq/artemis/jms/example/TopicHierarchyExample.java
+++ b/examples/features/standard/topic-hierarchies/src/main/java/org/apache/activemq/artemis/jms/example/TopicHierarchyExample.java
@@ -31,7 +31,7 @@ import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
 /**
  * This example demonstrates how a JMS TopicSubscriber can be created to subscribe to a wild-card Topic.
  *
- * For more information please see the readme.html
+ * For more information please see the readme
  */
 public class TopicHierarchyExample {
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/topic-selector-example1/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-selector-example1/pom.xml b/examples/features/standard/topic-selector-example1/pom.xml
index 232b152..4384afa 100644
--- a/examples/features/standard/topic-selector-example1/pom.xml
+++ b/examples/features/standard/topic-selector-example1/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/topic-selector-example1/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-selector-example1/readme.html b/examples/features/standard/topic-selector-example1/readme.html
deleted file mode 100644
index f03f4f5..0000000
--- a/examples/features/standard/topic-selector-example1/readme.html
+++ /dev/null
@@ -1,38 +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 Topic Selector Example 1</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 Topic Selector Example 1</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 messages can be consumed from a topic using Message Selectors.</p>
-     <p>Consumers (or Subscribers) will only consume messages routed to a topic that match the provided selector</p>
-     <p>Topics and selectors are a standard part of JMS, please consult the JMS 1.1 specification for full details.</p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/topic-selector-example1/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-selector-example1/readme.md b/examples/features/standard/topic-selector-example1/readme.md
new file mode 100644
index 0000000..b0a5559
--- /dev/null
+++ b/examples/features/standard/topic-selector-example1/readme.md
@@ -0,0 +1,9 @@
+# JMS Topic Selector Example 1
+
+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 messages can be consumed from a topic using Message Selectors.
+
+Consumers (or Subscribers) will only consume messages routed to a topic that match the provided selector
+
+Topics and selectors are a standard part of JMS, please consult the JMS 1.1 specification for full details.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/topic-selector-example1/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-selector-example1/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/topic-selector-example1/src/main/resources/activemq/server0/broker.xml
index 85c6a0b..42c38cb 100644
--- a/examples/features/standard/topic-selector-example1/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/topic-selector-example1/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>
@@ -49,7 +47,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/topic-selector-example2/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-selector-example2/pom.xml b/examples/features/standard/topic-selector-example2/pom.xml
index f70d59f..7a9fccd 100644
--- a/examples/features/standard/topic-selector-example2/pom.xml
+++ b/examples/features/standard/topic-selector-example2/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/topic-selector-example2/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-selector-example2/readme.html b/examples/features/standard/topic-selector-example2/readme.html
deleted file mode 100644
index 608e3d8..0000000
--- a/examples/features/standard/topic-selector-example2/readme.html
+++ /dev/null
@@ -1,47 +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 Topic Selector Example 2</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 Topic Selector Example 2</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 selectively consume messages using message selectors with topic consumers.</p>
-
-     <p>Message selectors are strings with special syntax that can be used in creating consumers. Message consumers
-     that are thus created only receive messages that match its selector. On message delivering, the ActiveMQ
-     Server evaluates the corresponding message headers of the messages against each selector, if any, and then delivers
-     the 'matched' messages to its consumer. Please consult the JMS 1.1 specification for full details.</p>
-
-     <p>In this example, three message consumers are created on a topic. The first consumer is created with selector
-     <code>'color=red'</code>, it only receives messages that
-     have a 'color' string property of 'red' value; the second is created with selector <code>'color=green'</code>, it
-     only receives messages who have a 'color' string property of
-     'green' value; and the third without a selector, which means it receives all messages. To illustrate, three messages
-     with different 'color' property values are created and sent.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/topic-selector-example2/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-selector-example2/readme.md b/examples/features/standard/topic-selector-example2/readme.md
new file mode 100644
index 0000000..01b7e6a
--- /dev/null
+++ b/examples/features/standard/topic-selector-example2/readme.md
@@ -0,0 +1,9 @@
+# JMS Topic Selector Example 2
+
+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 selectively consume messages using message selectors with topic consumers.
+
+Message selectors are strings with special syntax that can be used in creating consumers. Message consumers that are thus created only receive messages that match its selector. On message delivering, the ActiveMQ Server evaluates the corresponding message headers of the messages against each selector, if any, and then delivers the 'matched' messages to its consumer. Please consult the JMS 1.1 specification for full details.
+
+In this example, three message consumers are created on a topic. The first consumer is created with selector `'color=red'`, it only receives messages that have a 'color' string property of 'red' value; the second is created with selector `'color=green'`, it only receives messages who have a 'color' string property of 'green' value; and the third without a selector, which means it receives all messages. To illustrate, three messages with different 'color' property values are created and sent.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/topic-selector-example2/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic-selector-example2/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/topic-selector-example2/src/main/resources/activemq/server0/broker.xml
index 85c6a0b..42c38cb 100644
--- a/examples/features/standard/topic-selector-example2/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/topic-selector-example2/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>
@@ -49,7 +47,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/topic/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic/pom.xml b/examples/features/standard/topic/pom.xml
index 103a8ea..d39b737 100644
--- a/examples/features/standard/topic/pom.xml
+++ b/examples/features/standard/topic/pom.xml
@@ -102,6 +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/topic/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic/readme.html b/examples/features/standard/topic/readme.html
deleted file mode 100644
index 8bfa903..0000000
--- a/examples/features/standard/topic/readme.html
+++ /dev/null
@@ -1,36 +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 Topic 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 Topic 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 Topic with ActiveMQ Artemis.</p>
-     <p>Topics are a standard part of JMS, please consult the JMS 1.1 specification for full details.</p>
-     <p>A Topic is used to send messages using the publish-subscribe model, from a producer to 1 or more consumers.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/topic/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic/readme.md b/examples/features/standard/topic/readme.md
new file mode 100644
index 0000000..ecdb65f
--- /dev/null
+++ b/examples/features/standard/topic/readme.md
@@ -0,0 +1,9 @@
+# JMS Topic 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 Topic with ActiveMQ Artemis.
+
+Topics are a standard part of JMS, please consult the JMS 1.1 specification for full details.
+
+A Topic is used to send messages using the publish-subscribe model, from a producer to 1 or more consumers.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/topic/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/topic/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/topic/src/main/resources/activemq/server0/broker.xml
index 10d3280..cc1be04 100644
--- a/examples/features/standard/topic/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/topic/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/transactional/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/transactional/pom.xml b/examples/features/standard/transactional/pom.xml
index 22d7415..867c395 100644
--- a/examples/features/standard/transactional/pom.xml
+++ b/examples/features/standard/transactional/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/transactional/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/transactional/readme.html b/examples/features/standard/transactional/readme.html
deleted file mode 100644
index b171c0a..0000000
--- a/examples/features/standard/transactional/readme.html
+++ /dev/null
@@ -1,40 +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 Transactional Session 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 Transactional Session 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 use a transacted Session with ActiveMQ Artemis.</p>
-     <p>Firstly 2 messages are sent via the transacted sending session before being committed. This ensures that both message
-     are sent</p>
-     <p>Secondly the receiving session receives the messages firstly demonstrating a message being redelivered after the session
-     being rolled back and then acknowledging receipt of the messages via the commit method.</p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/transactional/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/transactional/readme.md b/examples/features/standard/transactional/readme.md
new file mode 100644
index 0000000..a256f3f
--- /dev/null
+++ b/examples/features/standard/transactional/readme.md
@@ -0,0 +1,9 @@
+# JMS Transactional Session 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 use a transacted Session with ActiveMQ Artemis.
+
+Firstly 2 messages are sent via the transacted sending session before being committed. This ensures that both message are sent
+
+Secondly the receiving session receives the messages firstly demonstrating a message being redelivered after the session being rolled back and then acknowledging receipt of the messages via the commit method.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/xa-heuristic/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/xa-heuristic/pom.xml b/examples/features/standard/xa-heuristic/pom.xml
index 661a693..a28a0f5 100644
--- a/examples/features/standard/xa-heuristic/pom.xml
+++ b/examples/features/standard/xa-heuristic/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/xa-heuristic/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/xa-heuristic/readme.html b/examples/features/standard/xa-heuristic/readme.html
deleted file mode 100644
index bf44937..0000000
--- a/examples/features/standard/xa-heuristic/readme.html
+++ /dev/null
@@ -1,48 +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 XA Heuristic 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 XA Heuristic 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 make an XA heuristic decision through the ActiveMQ Artemis Management Interface.</p>
-
-     <p>A heuristic decision is a unilateral decision to commit or rollback an XA transaction branch after it has
-     been prepared. </p>
-
-     <p>In this example we simulate a transaction manager to control the transactions. First we create an XASession
-     and enlist it in a transaction through its XAResource. We then send a text message, 'hello' and end/prepare the transaction
-     on the XAResource, but neither commit nor roll back the transaction. Another transaction is created and
-     associated with the same XAResource, and a second message, 'world' is sent on behalf of the second transaction. Again we leave
-     the second transaction in prepare state.
-     Then we get the MBeanServerConnection object to manipulate the prepared transactions. To illustrate, we roll back the first
-     transaction but commit the second. This will result in that only the message 'world' is received. </p>
-
-     <p>This example uses JMX to manipulate transactions in a ActiveMQ Artemis Server. For details on JMX facilities with ActiveMQ Artemis,
-     please look at the JMX Example.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/xa-heuristic/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/xa-heuristic/readme.md b/examples/features/standard/xa-heuristic/readme.md
new file mode 100644
index 0000000..1b91133
--- /dev/null
+++ b/examples/features/standard/xa-heuristic/readme.md
@@ -0,0 +1,11 @@
+# JMS XA Heuristic 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 make an XA heuristic decision through the ActiveMQ Artemis Management Interface.
+
+A heuristic decision is a unilateral decision to commit or rollback an XA transaction branch after it has been prepared.
+
+In this example we simulate a transaction manager to control the transactions. First we create an XASession and enlist it in a transaction through its XAResource. We then send a text message, 'hello' and end/prepare the transaction on the XAResource, but neither commit nor roll back the transaction. Another transaction is created and associated with the same XAResource, and a second message, 'world' is sent on behalf of the second transaction. Again we leave the second transaction in prepare state. Then we get the MBeanServerConnection object to manipulate the prepared transactions. To illustrate, we roll back the first transaction but commit the second. This will result in that only the message 'world' is received.
+
+This example uses JMX to manipulate transactions in a ActiveMQ Artemis Server. For details on JMX facilities with ActiveMQ Artemis, please look at the JMX Example.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/xa-receive/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/xa-receive/pom.xml b/examples/features/standard/xa-receive/pom.xml
index fedd2f7..457ff2a 100644
--- a/examples/features/standard/xa-receive/pom.xml
+++ b/examples/features/standard/xa-receive/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/xa-receive/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/xa-receive/readme.html b/examples/features/standard/xa-receive/readme.html
deleted file mode 100644
index ab6d7d7..0000000
--- a/examples/features/standard/xa-receive/readme.html
+++ /dev/null
@@ -1,48 +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 XA Receive 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 XA Receive 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 demonstrates receiving a message within the scope of an XA transaction. When using an XA transaction
-         the message will only be acknowledged and removed from the queue when the transaction is committed.
-     If the transaction is not committed the message maybe redelivered after rollback or during XA recovery.</p>
-
-     <p>ActiveMQ Artemis is JTA aware, meaning you can use ActiveMQ Artemis in an XA transactional environment
-     and participate in XA transactions. It provides the javax.transaction.xa.XAResource interface for that
-     purpose. Users can get a XAConnectionFactory to create XAConnections and XASessions.</p>
-
-     <p>In this example we simulate a transaction manager to control the transactions. First we create an XASession
-      for receiving and a normal session for sending. Then we start a new xa transaction and enlist the receiving
-      XASession through its XAResource. We then send two words, 'hello' and 'world', receive them, and let the
-      transaction roll back. The received messages are cancelled back to the queue. Next we start
-      a new transaction with the same XAResource enlisted, but this time we commit the transaction after receiving the
-      messages. Then we check that no more messages are to be received.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/xa-receive/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/xa-receive/readme.md b/examples/features/standard/xa-receive/readme.md
new file mode 100644
index 0000000..5c41053
--- /dev/null
+++ b/examples/features/standard/xa-receive/readme.md
@@ -0,0 +1,9 @@
+# JMS XA Receive 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 demonstrates receiving a message within the scope of an XA transaction. When using an XA transaction the message will only be acknowledged and removed from the queue when the transaction is committed. If the transaction is not committed the message maybe redelivered after rollback or during XA recovery.
+
+ActiveMQ Artemis is JTA aware, meaning you can use ActiveMQ Artemis in an XA transactional environment and participate in XA transactions. It provides the javax.transaction.xa.XAResource interface for that purpose. Users can get a XAConnectionFactory to create XAConnections and XASessions.
+
+In this example we simulate a transaction manager to control the transactions. First we create an XASession for receiving and a normal session for sending. Then we start a new xa transaction and enlist the receiving XASession through its XAResource. We then send two words, 'hello' and 'world', receive them, and let the transaction roll back. The received messages are cancelled back to the queue. Next we start a new transaction with the same XAResource enlisted, but this time we commit the transaction after receiving the messages. Then we check that no more messages are to be received.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/xa-send/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/xa-send/pom.xml b/examples/features/standard/xa-send/pom.xml
index fac358c..a5a245f 100644
--- a/examples/features/standard/xa-send/pom.xml
+++ b/examples/features/standard/xa-send/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/xa-send/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/xa-send/readme.html b/examples/features/standard/xa-send/readme.html
deleted file mode 100644
index fb3db4c..0000000
--- a/examples/features/standard/xa-send/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 JMS XA Send 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 XA Send Example</h1>
-     <p>This example shows you how message sending behaves in an XA transaction in ActiveMQ Artemis. When a message is sent within
-         the scope of an XA transaction, it will only reach the queue once the transaction is committed.
-     If the transaction is rolled back the sent messages will be discarded by the server.</p>
-
-     <p>ActiveMQ Artemis is JTA aware, meaning you can use ActiveMQ Artemis in a XA transactional environment
-     and participate in XA transactions. It provides the javax.transaction.xa.XAResource interface for that
-     purpose. Users can get a XAConnectionFactory to create XAConnections and XASessions.</p>
-
-     <p>In this example we simulate a transaction manager to control the transactions. First we create an XASession
-     and enlist it in a transaction through its XAResource. We then send two words, 'hello' and 'world', with
-     the session, let the transaction roll back. The messages are discarded and never be received. Next we start
-     a new transaction with the same XAResource, but this time we commit the transaction. Both messages are received.</p>
-
-     <h2>Example step-by-step</h2>
-     <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p>
-
-     <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(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 perform a lookup on the XA Connection Factory</li>
-        <pre class="prettyprint">
-           <code>XAConnectionFactory cf = (XAConnectionFactory) initialContext.lookup("/XAConnectionFactory");</code>
-        </pre>
-
-        <li>We create a JMS XAConnection</li>
-        <pre class="prettyprint">
-           <code>connection = cf.createXAConnection();</code>
-        </pre>
-
-        <li>We Start the connection</li>
-        <pre class="prettyprint">
-           <code>connection.start();</code>
-        </pre>
-
-        <li>We create a JMS XASession</li>
-        <pre class="prettyprint">
-          <code>XASession xaSession = connection.createXASession();</code>
-       </pre>
-
-        <li>We create a normal session</li>
-        <pre class="prettyprint">
-          <code>Session normalSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);</code>
-       </pre>
-
-        <li>We create a normal Message Consumer</li>
-        <pre class="prettyprint">
-           <code>
-           MessageConsumer normalConsumer = normalSession.createConsumer(queue);
-           normalConsumer.setMessageListener(new SimpleMessageListener());
-           </code>
-       </pre>
-
-        <li>We get the JMS Session</li>
-        <pre class="prettyprint">
-          <code>Session session = xaSession.getSession();</code>
-       </pre>
-
-        <li>We create a message producer</li>
-        <pre class="prettyprint">
-          <code>MessageProducer producer = session.createProducer(queue);</code>
-       </pre>
-
-        <li>We create two Text Messages</li>
-        <pre class="prettyprint">
-          <code>
-          TextMessage helloMessage = session.createTextMessage("hello");
-          TextMessage worldMessage = session.createTextMessage("world");
-          </code>
-       </pre>
-
-        <li>We create a transaction</li>
-        <pre class="prettyprint">
-          <code>Xid xid1 = new XidImpl("xa-example1".getBytes(), 1, UUIDGenerator.getInstance().generateStringUUID().getBytes());</code>
-       </pre>
-
-        <li>We get the JMS XAResource</li>
-        <pre class="prettyprint">
-          <code>XAResource xaRes = xaSession.getXAResource();</code>
-       </pre>
-
-        <li>We begin the Transaction work</li>
-        <pre class="prettyprint">
-          <code>xaRes.start(xid1, XAResource.TMNOFLAGS);</code>
-       </pre>
-
-        <li>We do work, sending two messages.</li>
-        <pre class="prettyprint">
-          <code>
-          producer.send(helloMessage);
-          producer.send(worldMessage);
-          </code>
-       </pre>
-
-        <li>We check the result, it should receive none!</li>
-        <pre class="prettyprint">
-          <code>checkNoMessageReceived();</code>
-       </pre>
-
-        <li>We stop the work</li>
-        <pre class="prettyprint">
-          <code>xaRes.end(xid1, XAResource.TMSUCCESS);</code>
-       </pre>
-
-        <li>We prepare</li>
-        <pre class="prettyprint">
-          <code>xaRes.prepare(xid1);</code>
-       </pre>
-
-        <li>We roll back the transaction </li>
-        <pre class="prettyprint">
-          <code>xaRes.rollback(xid1);</code>
-       </pre>
-
-        <li>We check no messages should be received! </li>
-        <pre class="prettyprint">
-          <code>checkNoMessageReceived();</code>
-       </pre>
-
-        <li>We create another transaction</li>
-        <pre class="prettyprint">
-          <code>Xid xid2 = new XidImpl("xa-example2".getBytes(), 1, UUIDGenerator.getInstance().generateStringUUID().getBytes());</code>
-       </pre>
-
-        <li>We start the transaction</li>
-        <pre class="prettyprint">
-          <code>xaRes.start(xid2, XAResource.TMNOFLAGS);</code>
-       </pre>
-
-        <li>We re-send those messages</li>
-        <pre class="prettyprint">
-           <code>
-           producer.send(helloMessage);
-           producer.send(worldMessage);
-           </code>
-       </pre>
-
-        <li>We stop the work</li>
-        <pre class="prettyprint">
-          <code>xaRes.end(xid2, XAResource.TMSUCCESS);</code>
-       </pre>
-
-        <li>We prepare</li>
-        <pre class="prettyprint">
-          <code>xaRes.prepare(xid2);</code>
-       </pre>
-
-        <li>We check that no messages should be received at this moment</li>
-        <pre class="prettyprint">
-          <code>checkNoMessageReceived();</code>
-       </pre>
-
-        <li>We commit!</li>
-        <pre class="prettyprint">
-          <code>xaRes.commit(xid2, false);</code>
-       </pre>
-
-        <li>We check that all messages are received.</li>
-        <pre class="prettyprint">
-          <code>checkAllMessageReceived();</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>
-  </body>
-</html>


[14/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
ARTEMIS-1562 Refactor example documentation

This commit contains these changes:
* Change example documentation to use markdown
* Generate HTML doc based on markdown during release
* Fix XML formatting in some examples
* Repair out-of-date documentation


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/b77cdaf7
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/b77cdaf7
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/b77cdaf7

Branch: refs/heads/master
Commit: b77cdaf773de853ad1594918044968a11c26d467
Parents: 4ad05e1
Author: Justin Bertram <jb...@apache.org>
Authored: Tue Oct 24 14:20:37 2017 -0500
Committer: Martyn Taylor <mt...@redhat.com>
Committed: Fri Dec 15 14:54:16 2017 +0000

----------------------------------------------------------------------
 .gitignore                                      |   1 +
 artemis-distribution/src/main/assembly/dep.xml  |   1 +
 examples/common/footer.html                     |   2 +
 examples/common/header.html                     |  27 ++
 .../client-side-load-balancing/pom.xml          |  18 +-
 .../client-side-load-balancing/readme.html      |  49 ---
 .../client-side-load-balancing/readme.md        |  15 +
 .../clustered-durable-subscription/pom.xml      |  20 +-
 .../clustered-durable-subscription/readme.html  |  65 ----
 .../clustered-durable-subscription/readme.md    |  25 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../clustered/clustered-grouping/pom.xml        |  22 +-
 .../clustered/clustered-grouping/readme.html    |  79 ----
 .../clustered/clustered-grouping/readme.md      |  48 +++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../clustered/clustered-jgroups/pom.xml         |  18 +-
 .../clustered/clustered-jgroups/readme.html     |  67 ----
 .../clustered/clustered-jgroups/readme.md       |  34 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/clustered/clustered-queue/pom.xml  |  20 +-
 .../clustered/clustered-queue/readme.html       |  55 ---
 .../clustered/clustered-queue/readme.md         |  26 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../clustered-static-discovery-uri/pom.xml      |  20 +-
 .../clustered-static-discovery-uri/readme.html  |  57 ---
 .../clustered-static-discovery-uri/readme.md    |  28 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../main/resources/activemq/server3/broker.xml  |   8 +-
 .../clustered-static-discovery/pom.xml          |  20 +-
 .../clustered-static-discovery/readme.html      |  57 ---
 .../clustered-static-discovery/readme.md        |  28 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../main/resources/activemq/server3/broker.xml  |   8 +-
 .../clustered/clustered-static-oneway/pom.xml   |  19 +-
 .../clustered-static-oneway/readme.html         |  63 ----
 .../clustered/clustered-static-oneway/readme.md |  30 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../clustered/clustered-topic-uri/pom.xml       |  21 +-
 .../clustered/clustered-topic-uri/readme.html   |  46 ---
 .../clustered/clustered-topic-uri/readme.md     |  21 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/clustered/clustered-topic/pom.xml  |  19 +-
 .../clustered/clustered-topic/readme.html       |  54 ---
 .../clustered/clustered-topic/readme.md         |  25 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../queue-message-redistribution/pom.xml        |  20 +-
 .../queue-message-redistribution/readme.html    |  61 ----
 .../queue-message-redistribution/readme.md      |  23 ++
 .../main/resources/activemq/server0/broker.xml  |  12 +-
 .../main/resources/activemq/server1/broker.xml  |  12 +-
 .../clustered/symmetric-cluster/pom.xml         |  18 +-
 .../clustered/symmetric-cluster/readme.html     |  73 ----
 .../clustered/symmetric-cluster/readme.md       |  38 ++
 .../jms/example/SymmetricClusterExample.java    |   2 +-
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../main/resources/activemq/server3/broker.xml  |   8 +-
 .../main/resources/activemq/server4/broker.xml  |   8 +-
 .../main/resources/activemq/server5/broker.xml  |   8 +-
 .../ha/application-layer-failover/pom.xml       |  18 +-
 .../ha/application-layer-failover/readme.html   | 169 ---------
 .../ha/application-layer-failover/readme.md     |  17 +
 .../ha/client-side-failoverlistener/pom.xml     |  24 +-
 .../ha/client-side-failoverlistener/readme.html |  37 --
 .../ha/client-side-failoverlistener/readme.md   |   7 +
 .../ha/colocated-failover-scale-down/pom.xml    |  20 +-
 .../colocated-failover-scale-down/readme.html   |  65 ----
 .../ha/colocated-failover-scale-down/readme.md  |  31 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 examples/features/ha/colocated-failover/pom.xml |  19 +-
 .../features/ha/colocated-failover/readme.html  |  56 ---
 .../features/ha/colocated-failover/readme.md    |  27 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/ha/ha-policy-autobackup/pom.xml    |  20 +-
 .../main/resources/activemq/server0/broker.xml  |   9 +-
 .../main/resources/activemq/server1/broker.xml  |   9 +-
 .../ha/multiple-failover-failback/pom.xml       |  20 +-
 examples/features/ha/multiple-failover/pom.xml  |  20 +-
 .../ha/non-transaction-failover/pom.xml         |  20 +-
 .../ha/non-transaction-failover/readme.html     | 157 --------
 .../ha/non-transaction-failover/readme.md       |  13 +
 .../ha/replicated-failback-static/pom.xml       |  19 +-
 .../ha/replicated-failback-static/readme.html   |  38 --
 .../ha/replicated-failback-static/readme.md     |   7 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/ha/replicated-failback/pom.xml     |  17 +
 .../features/ha/replicated-failback/readme.html |  38 --
 .../features/ha/replicated-failback/readme.md   |   7 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../ha/replicated-multiple-failover/pom.xml     |  20 +-
 .../ha/replicated-multiple-failover/readme.html |  45 ---
 .../ha/replicated-multiple-failover/readme.md   |   7 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../main/resources/activemq/server2/broker.xml  |   8 +-
 .../ha/replicated-transaction-failover/pom.xml  |  19 +-
 .../replicated-transaction-failover/readme.html | 148 --------
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 examples/features/ha/scale-down/pom.xml         |  20 +-
 examples/features/ha/scale-down/readme.html     |  51 ---
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/ha/stop-server-failover/pom.xml    |  20 +-
 .../ha/stop-server-failover/readme.html         |  44 ---
 .../features/ha/transaction-failover/pom.xml    |  20 +-
 .../ha/transaction-failover/readme.html         |  46 ---
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 examples/features/perf/perf/pom.xml             |  21 +-
 examples/features/perf/perf/readme.html         |  39 --
 examples/features/perf/soak/README              |  85 -----
 examples/features/perf/soak/pom.xml             |  21 +-
 examples/features/perf/soak/readme.md           |  70 ++++
 examples/features/perf/soak/server0/broker.xml  |   6 +-
 examples/features/standard/README.md            |   2 +-
 examples/features/standard/bridge/pom.xml       |  18 +-
 examples/features/standard/bridge/readme.html   |  74 ----
 examples/features/standard/bridge/readme.md     |  38 ++
 .../main/resources/activemq/server0/broker.xml  |   5 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../features/standard/broker-plugin/pom.xml     |  18 +-
 .../features/standard/broker-plugin/readme.html |  34 --
 .../features/standard/broker-plugin/readme.md   |   5 +
 examples/features/standard/browser/pom.xml      |  20 +-
 examples/features/standard/browser/readme.html  |  40 --
 examples/features/standard/browser/readme.md    |  11 +
 examples/features/standard/cdi/readme.md        |   2 +-
 .../features/standard/client-kickoff/pom.xml    |  20 +-
 .../standard/client-kickoff/readme.html         |  54 ---
 .../features/standard/client-kickoff/readme.md  |  22 ++
 .../main/resources/activemq/server0/broker.xml  |   7 +-
 .../standard/consumer-rate-limit/pom.xml        |  20 +-
 .../standard/consumer-rate-limit/readme.html    |  47 ---
 .../standard/consumer-rate-limit/readme.md      |  17 +
 examples/features/standard/dead-letter/pom.xml  |  20 +-
 .../features/standard/dead-letter/readme.html   |  66 ----
 .../features/standard/dead-letter/readme.md     |  32 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../standard/delayed-redelivery/pom.xml         |  18 +-
 .../standard/delayed-redelivery/readme.html     |  56 ---
 .../standard/delayed-redelivery/readme.md       |  23 ++
 .../jms/example/DelayedRedeliveryExample.java   |   2 +-
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/divert/pom.xml       |  20 +-
 examples/features/standard/divert/readme.html   | 119 ------
 examples/features/standard/divert/readme.md     |  82 +++++
 .../artemis/jms/example/DivertExample.java      |   2 +-
 .../main/resources/activemq/server0/broker.xml  |  15 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../standard/durable-subscription/pom.xml       |  20 +-
 .../standard/durable-subscription/readme.html   |  39 --
 .../standard/durable-subscription/readme.md     |   9 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/embedded-simple/pom.xml   |  20 +-
 .../standard/embedded-simple/readme.html        |  35 --
 .../features/standard/embedded-simple/readme.md |   9 +
 .../src/main/resources/broker.xml               |   5 +-
 examples/features/standard/embedded/pom.xml     |  20 +-
 examples/features/standard/embedded/readme.html |  36 --
 examples/features/standard/embedded/readme.md   |   9 +
 examples/features/standard/expiry/pom.xml       |  20 +-
 examples/features/standard/expiry/readme.html   |  61 ----
 examples/features/standard/expiry/readme.md     |  17 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/http-transport/pom.xml    |  20 +-
 .../standard/http-transport/readme.html         |  52 ---
 .../features/standard/http-transport/readme.md  |   9 +
 .../jms/example/HttpTransportExample.java       |  23 +-
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../src/main/resources/jndi.properties          |  20 +
 .../instantiate-connection-factory/pom.xml      |  20 +-
 .../instantiate-connection-factory/readme.html  |  49 ---
 .../features/standard/interceptor-amqp/pom.xml  | 137 +++++++
 .../standard/interceptor-amqp/readme.md         |  21 ++
 .../amqp/example/InterceptorExample.java        |  47 +++
 .../amqp/example/SimpleAmqpInterceptor.java     |  37 ++
 .../main/resources/activemq/server0/broker.xml  |  53 +++
 .../standard/interceptor-client-amqp/pom.xml    | 121 -------
 .../interceptor-client-amqp/readme.html         |  71 ----
 .../amqp/example/InterceptorExample.java        |  47 ---
 .../amqp/example/SimpleAmqpInterceptor.java     |  37 --
 .../main/resources/activemq/server0/broker.xml  | 176 ---------
 .../standard/interceptor-client-mqtt/pom.xml    | 120 ------
 .../interceptor-client-mqtt/readme.html         |  71 ----
 .../mqtt/example/InterceptorExample.java        |  62 ----
 .../mqtt/example/SimpleMQTTInterceptor.java     |  68 ----
 .../main/resources/activemq/server0/broker.xml  | 180 ---------
 .../standard/interceptor-client/pom.xml         |  22 +-
 .../standard/interceptor-client/readme.html     |  72 ----
 .../standard/interceptor-client/readme.md       |  13 +
 .../artemis/jms/example/InterceptorExample.java |   2 +-
 .../features/standard/interceptor-mqtt/pom.xml  | 136 +++++++
 .../standard/interceptor-mqtt/readme.md         |  21 ++
 .../mqtt/example/InterceptorExample.java        |  62 ++++
 .../mqtt/example/SimpleMQTTInterceptor.java     |  63 ++++
 .../main/resources/activemq/server0/broker.xml  |  56 +++
 examples/features/standard/interceptor/pom.xml  |  20 +-
 .../features/standard/interceptor/readme.html   |  72 ----
 .../features/standard/interceptor/readme.md     |  21 ++
 .../main/resources/activemq/server0/broker.xml  |   9 +-
 .../standard/jms-auto-closeable/pom.xml         |  20 +-
 .../standard/jms-auto-closeable/readme.html     |  96 -----
 .../standard/jms-auto-closeable/readme.md       |   7 +
 examples/features/standard/jms-bridge/pom.xml   |  20 +-
 .../features/standard/jms-bridge/readme.html    | 246 -------------
 examples/features/standard/jms-bridge/readme.md |  24 ++
 .../artemis/jms/example/JMSBridgeExample.java   |   2 +-
 .../main/resources/activemq/server0/broker.xml  |  10 +-
 .../main/resources/activemq/server1/broker.xml  |   8 +-
 .../standard/jms-completion-listener/pom.xml    |  20 +-
 .../jms-completion-listener/readme.html         | 112 ------
 .../standard/jms-completion-listener/readme.md  |   5 +
 examples/features/standard/jms-context/pom.xml  |  20 +-
 .../features/standard/jms-context/readme.html   |  35 --
 .../features/standard/jms-context/readme.md     |   7 +
 .../standard/jms-shared-consumer/pom.xml        |  20 +-
 .../standard/jms-shared-consumer/readme.html    | 119 ------
 .../standard/jms-shared-consumer/readme.md      |   5 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/jmx-ssl/pom.xml      |  20 +-
 examples/features/standard/jmx-ssl/readme.html  | 176 ---------
 examples/features/standard/jmx-ssl/readme.md    |  23 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/jmx/pom.xml          |  20 +-
 examples/features/standard/jmx/readme.html      | 176 ---------
 examples/features/standard/jmx/readme.md        |   9 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/large-message/pom.xml     |  20 +-
 .../features/standard/large-message/readme.html | 200 ----------
 .../features/standard/large-message/readme.md   |  25 ++
 .../features/standard/last-value-queue/pom.xml  |  20 +-
 .../standard/last-value-queue/readme.html       | 162 ---------
 .../standard/last-value-queue/readme.md         |  15 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../standard/management-notifications/pom.xml   |  20 +-
 .../management-notifications/readme.html        | 215 -----------
 .../standard/management-notifications/readme.md |  26 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/management/pom.xml   |  20 +-
 .../features/standard/management/readme.html    | 208 -----------
 examples/features/standard/management/readme.md |  19 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/message-counters/pom.xml  |  20 +-
 .../standard/message-counters/readme.html       | 197 ----------
 .../standard/message-counters/readme.md         |  23 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/message-group/pom.xml     |  20 +-
 .../features/standard/message-group/readme.html | 152 --------
 .../features/standard/message-group/readme.md   |  14 +
 .../features/standard/message-group2/pom.xml    |  20 +-
 .../standard/message-group2/readme.html         | 161 ---------
 .../features/standard/message-group2/readme.md  |  14 +
 .../features/standard/message-priority/pom.xml  |  20 +-
 .../standard/message-priority/readme.html       | 159 --------
 .../standard/message-priority/readme.md         |   9 +
 .../standard/no-consumer-buffering/pom.xml      |  19 +-
 .../standard/no-consumer-buffering/readme.html  | 205 -----------
 .../standard/no-consumer-buffering/readme.md    |  29 ++
 examples/features/standard/paging/pom.xml       |  20 +-
 examples/features/standard/paging/readme.html   | 187 ----------
 examples/features/standard/paging/readme.md     |  11 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/pom.xml              |   8 +-
 .../features/standard/pre-acknowledge/pom.xml   |  20 +-
 .../standard/pre-acknowledge/readme.html        | 154 --------
 .../features/standard/pre-acknowledge/readme.md |  15 +
 .../jms/example/PreacknowledgeExample.java      |   2 +-
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../standard/producer-rate-limit/pom.xml        |  20 +-
 .../standard/producer-rate-limit/readme.html    | 176 ---------
 .../standard/producer-rate-limit/readme.md      |  15 +
 .../features/standard/queue-requestor/pom.xml   |  20 +-
 .../standard/queue-requestor/readme.html        |  46 ---
 .../features/standard/queue-requestor/readme.md |  14 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/queue-selector/pom.xml    |  20 +-
 .../standard/queue-selector/readme.html         |  52 ---
 .../features/standard/queue-selector/readme.md  |  11 +
 examples/features/standard/queue/pom.xml        |  20 +-
 examples/features/standard/queue/readme.html    |  38 --
 examples/features/standard/queue/readme.md      |  11 +
 .../features/standard/reattach-node/pom.xml     |  20 +-
 .../features/standard/reattach-node/readme.html |  55 ---
 .../features/standard/reattach-node/readme.md   |  19 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/request-reply/pom.xml     |  19 +-
 .../features/standard/request-reply/readme.html | 180 ---------
 .../features/standard/request-reply/readme.md   |   9 +
 .../features/standard/rest/dup-send/README.txt  |  41 ---
 .../features/standard/rest/dup-send/pom.xml     | 119 +++---
 .../features/standard/rest/dup-send/readme.md   |  41 +++
 .../rest/dup-send/src/main/resources/broker.xml |   6 +-
 .../standard/rest/javascript-chat/README.txt    |  16 -
 .../standard/rest/javascript-chat/pom.xml       | 119 +++---
 .../standard/rest/javascript-chat/readme.md     |  15 +
 .../src/main/resources/broker.xml               |   6 +-
 .../standard/rest/jms-to-rest/README.txt        |  49 ---
 .../features/standard/rest/jms-to-rest/pom.xml  | 117 +++---
 .../standard/rest/jms-to-rest/readme.md         |  49 +++
 .../jms-to-rest/src/main/resources/broker.xml   |   6 +-
 examples/features/standard/rest/push/README.txt |  32 --
 examples/features/standard/rest/push/pom.xml    | 122 ++++---
 examples/features/standard/rest/push/readme.md  |  32 ++
 .../rest/push/src/main/resources/broker.xml     |   8 +-
 .../features/standard/scheduled-message/pom.xml |  20 +-
 .../standard/scheduled-message/readme.html      | 134 -------
 .../standard/scheduled-message/readme.md        |   9 +
 .../features/standard/security-ldap/pom.xml     |  20 +-
 .../features/standard/security-ldap/readme.html | 361 -------------------
 .../features/standard/security-ldap/readme.md   | 121 +++++++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/security/pom.xml     |  20 +-
 examples/features/standard/security/readme.html | 315 ----------------
 examples/features/standard/security/readme.md   |  68 ++++
 .../main/resources/activemq/server0/broker.xml  |   5 +-
 .../standard/send-acknowledgements/pom.xml      |  20 +-
 .../standard/send-acknowledgements/readme.html  | 140 -------
 .../standard/send-acknowledgements/readme.md    |   9 +
 .../example/SendAcknowledgementsExample.java    |   2 +-
 .../standard/spring-integration/pom.xml         |  20 +-
 .../standard/spring-integration/readme.html     |  36 --
 .../standard/spring-integration/readme.md       |   5 +
 .../src/main/resources/broker.xml               |   8 +-
 .../ssl-enabled-dual-authentication/pom.xml     |  20 +-
 .../ssl-enabled-dual-authentication/readme.html |  75 ----
 .../ssl-enabled-dual-authentication/readme.md   |  26 ++
 .../main/resources/activemq/server0/broker.xml  |  10 +-
 examples/features/standard/ssl-enabled/pom.xml  |  20 +-
 .../features/standard/ssl-enabled/readme.html   |  56 ---
 .../features/standard/ssl-enabled/readme.md     |  15 +
 .../activemq/server0/activemq.example.keystore  | Bin 1273 -> 2251 bytes
 .../server0/activemq.example.truststore         | Bin 866 -> 963 bytes
 .../main/resources/activemq/server0/broker.xml  |  11 +-
 .../features/standard/static-selector/pom.xml   |  20 +-
 .../standard/static-selector/readme.html        |  60 ---
 .../features/standard/static-selector/readme.md |  11 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/temp-queue/pom.xml   |  18 +-
 .../features/standard/temp-queue/readme.html    |  40 --
 examples/features/standard/temp-queue/readme.md |   7 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/topic-hierarchies/pom.xml |  20 +-
 .../standard/topic-hierarchies/readme.html      |  42 ---
 .../standard/topic-hierarchies/readme.md        |  11 +
 .../jms/example/TopicHierarchyExample.java      |   2 +-
 .../standard/topic-selector-example1/pom.xml    |  20 +-
 .../topic-selector-example1/readme.html         |  38 --
 .../standard/topic-selector-example1/readme.md  |   9 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../standard/topic-selector-example2/pom.xml    |  20 +-
 .../topic-selector-example2/readme.html         |  47 ---
 .../standard/topic-selector-example2/readme.md  |   9 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/features/standard/topic/pom.xml        |  19 +-
 examples/features/standard/topic/readme.html    |  36 --
 examples/features/standard/topic/readme.md      |   9 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../features/standard/transactional/pom.xml     |  20 +-
 .../features/standard/transactional/readme.html |  40 --
 .../features/standard/transactional/readme.md   |   9 +
 examples/features/standard/xa-heuristic/pom.xml |  20 +-
 .../features/standard/xa-heuristic/readme.html  |  48 ---
 .../features/standard/xa-heuristic/readme.md    |  11 +
 examples/features/standard/xa-receive/pom.xml   |  20 +-
 .../features/standard/xa-receive/readme.html    |  48 ---
 examples/features/standard/xa-receive/readme.md |   9 +
 examples/features/standard/xa-send/pom.xml      |  20 +-
 examples/features/standard/xa-send/readme.html  | 215 -----------
 examples/features/standard/xa-send/readme.md    |   9 +
 .../features/sub-modules/artemis-ra-rar/pom.xml |  20 +-
 .../artemis-jms-bridge/README.md                | 147 --------
 .../artemis-jms-bridge/pom.xml                  |  20 +-
 .../artemis-jms-bridge/readme.md                | 147 ++++++++
 examples/perf/jmeter/README.md                  |  45 ---
 examples/perf/jmeter/readme.md                  |  33 ++
 examples/pom.xml                                |  47 +++
 .../protocols/amqp/proton-clustered-cpp/pom.xml |  21 +-
 .../amqp/proton-clustered-cpp/readme.html       |  61 ----
 .../amqp/proton-clustered-cpp/readme.md         |  32 ++
 .../artemis/jms/example/ProtonCPPExample.java   |   2 +-
 .../main/resources/activemq/server0/broker.xml  |   5 +-
 .../main/resources/activemq/server1/broker.xml  |   5 +-
 examples/protocols/amqp/proton-cpp/pom.xml      |  20 +-
 examples/protocols/amqp/proton-cpp/readme.html  | 120 ------
 examples/protocols/amqp/proton-cpp/readme.md    |  80 ++++
 .../artemis/jms/example/ProtonCPPExample.java   |   2 +-
 examples/protocols/amqp/proton-ruby/pom.xml     |  20 +-
 examples/protocols/amqp/proton-ruby/readme.html |  51 ---
 examples/protocols/amqp/proton-ruby/readme.md   |  25 ++
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/protocols/amqp/queue/pom.xml           |  20 +-
 examples/protocols/amqp/queue/readme.html       |  46 ---
 examples/protocols/amqp/queue/readme.md         |  17 +
 examples/protocols/mqtt/basic-pubsub/pom.xml    |  20 +-
 .../protocols/mqtt/basic-pubsub/readme.html     | 136 -------
 examples/protocols/mqtt/basic-pubsub/readme.md  |  69 ++++
 .../protocols/mqtt/clustered-queue-mqtt/pom.xml |  20 +-
 .../mqtt/clustered-queue-mqtt/readme.html       |  55 ---
 .../mqtt/clustered-queue-mqtt/readme.md         |  11 +
 .../jms/example/ClusteredQueueMQTTExample.java  |   3 +-
 .../main/resources/activemq/server0/broker.xml  |   3 +-
 .../main/resources/activemq/server1/broker.xml  |   3 +-
 examples/protocols/openwire/chat/pom.xml        |  21 ++
 examples/protocols/openwire/chat/readme.html    |  53 ---
 examples/protocols/openwire/chat/readme.md      |  33 ++
 .../protocols/openwire/message-listener/pom.xml |  20 +-
 .../openwire/message-listener/readme.html       |  35 --
 .../openwire/message-listener/readme.md         |   5 +
 .../protocols/openwire/message-recovery/pom.xml |  20 +-
 .../openwire/message-recovery/readme.html       |  35 --
 .../openwire/message-recovery/readme.md         |   5 +
 examples/protocols/openwire/queue/pom.xml       |  20 +-
 examples/protocols/openwire/queue/readme.html   |  39 --
 examples/protocols/openwire/queue/readme.md     |  13 +
 examples/protocols/stomp/pom.xml                |   2 +
 .../stomp/stomp-dual-authentication/pom.xml     |  24 +-
 .../stomp/stomp-dual-authentication/readme.html |  51 ---
 .../stomp/stomp-dual-authentication/readme.md   |  14 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 .../stomp/stomp-embedded-interceptor/pom.xml    |  20 +-
 .../stomp-embedded-interceptor/readme.html      |  37 --
 .../stomp/stomp-embedded-interceptor/readme.md  |   7 +
 .../main/resources/activemq/server0/broker.xml  |   8 +-
 examples/protocols/stomp/stomp-jms/pom.xml      |  20 +-
 examples/protocols/stomp/stomp-jms/readme.html  |  37 --
 examples/protocols/stomp/stomp-jms/readme.md    |   5 +
 .../protocols/stomp/stomp-websockets/pom.xml    |  20 +-
 .../stomp/stomp-websockets/readme.html          |  55 ---
 .../protocols/stomp/stomp-websockets/readme.md  |  17 +
 examples/protocols/stomp/stomp/pom.xml          |  22 +-
 examples/protocols/stomp/stomp/readme.html      |  38 --
 examples/protocols/stomp/stomp/readme.md        |   7 +
 examples/protocols/stomp/stomp1.1/pom.xml       |  22 +-
 examples/protocols/stomp/stomp1.1/readme.html   |  38 --
 examples/protocols/stomp/stomp1.1/readme.md     |   7 +
 examples/protocols/stomp/stomp1.2/pom.xml       |  22 +-
 examples/protocols/stomp/stomp1.2/readme.html   |  38 --
 examples/protocols/stomp/stomp1.2/readme.md     |   7 +
 pom.xml                                         |   1 +
 458 files changed, 5449 insertions(+), 11008 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 9661e9c..3727d45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,6 +12,7 @@ ratReport.txt
 .factorypath
 **/.editorconfig
 **/derby.log
+examples/**/readme.html
 
 # for native build
 CMakeCache.txt

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/artemis-distribution/src/main/assembly/dep.xml
----------------------------------------------------------------------
diff --git a/artemis-distribution/src/main/assembly/dep.xml b/artemis-distribution/src/main/assembly/dep.xml
index 229017f..6670582 100644
--- a/artemis-distribution/src/main/assembly/dep.xml
+++ b/artemis-distribution/src/main/assembly/dep.xml
@@ -220,6 +220,7 @@
             <exclude>**/target/**</exclude>
             <exclude>**/**/*.iml</exclude>
             <exclude>**/**/*.dat</exclude>
+            <exclude>**/**/*.md</exclude>
          </excludes>
       </fileSet>
       <!-- Include license and notice files -->

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/common/footer.html
----------------------------------------------------------------------
diff --git a/examples/common/footer.html b/examples/common/footer.html
new file mode 100644
index 0000000..691287b
--- /dev/null
+++ b/examples/common/footer.html
@@ -0,0 +1,2 @@
+</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/common/header.html
----------------------------------------------------------------------
diff --git a/examples/common/header.html b/examples/common/header.html
new file mode 100644
index 0000000..f2229f5
--- /dev/null
+++ b/examples/common/header.html
@@ -0,0 +1,27 @@
+<!--
+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 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()">

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/client-side-load-balancing/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/client-side-load-balancing/pom.xml b/examples/features/clustered/client-side-load-balancing/pom.xml
index 14b8715..b352321 100644
--- a/examples/features/clustered/client-side-load-balancing/pom.xml
+++ b/examples/features/clustered/client-side-load-balancing/pom.xml
@@ -197,7 +197,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
+   <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>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/client-side-load-balancing/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/client-side-load-balancing/readme.html b/examples/features/clustered/client-side-load-balancing/readme.html
deleted file mode 100644
index 9d3aba5..0000000
--- a/examples/features/clustered/client-side-load-balancing/readme.html
+++ /dev/null
@@ -1,49 +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 Client-Side Load-Balancing 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 Client-Side Load-Balancing 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 demonstrates how connnections created from a single JMS Connection factory can be created
-     to different nodes of the cluster. In other words it demonstrates how ActiveMQ Artemis does <b>client side load balancing</b> of
-     connections across the cluster.</p>
-     <p>The particular load-balancing policy can be chosen to be random, round-robin or user-defined. Please see the user
-     guide for more details of how to configure the specific load-balancing policy. In this example we will use
-     the default round-robin load balancing policy.</p>
-     <p>The list of servers over which ActiveMQ Artemis will round-robin the connections can either be specified explicitly
-     in the connection factory when instantiating it directly, when configuring it on the server or configured
-     to use UDP discovery to discover the list of servers over which to round-robin. This example will use UDP
-     discovery to obtain the list.</p>
-     <p>This example starts three servers which all broadcast their location using UDP discovery. The UDP broadcast configuration
-     can be seen in the <code>broker.xml</code> file.</p>
-     <p>A JMS ConnectionFactory is deployed on each server specifying the discovery group that will be used by that
-     connection factory.</p>
-     <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering
-     section of the user manual.</p>
-
-   </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/client-side-load-balancing/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/client-side-load-balancing/readme.md b/examples/features/clustered/client-side-load-balancing/readme.md
new file mode 100644
index 0000000..6b66fbd
--- /dev/null
+++ b/examples/features/clustered/client-side-load-balancing/readme.md
@@ -0,0 +1,15 @@
+# JMS Client-Side Load-Balancing Example
+
+To run the example, simply type **mvn verify** from this directory, or **mvn -PnoServer verify** if you want to create and start the broker manually.
+
+This example demonstrates how connections created from a single JMS Connection factory can be created to different nodes of the cluster. In other words it demonstrates how ActiveMQ Artemis does **client side load balancing** of connections across the cluster.
+
+The particular load-balancing policy can be chosen to be random, round-robin or user-defined. Please see the user guide for more details of how to configure the specific load-balancing policy. In this example we will use the default round-robin load balancing policy.
+
+The list of servers over which ActiveMQ Artemis will round-robin the connections can either be specified explicitly in the connection factory when instantiating it directly, when configuring it on the broker or configured to use UDP discovery to discover the list of servers over which to round-robin. This example will use UDP discovery to obtain the list.
+
+This example starts three servers which all broadcast their location using UDP discovery. The UDP broadcast configuration can be seen in the `broker.xml` file.
+
+A JMS ConnectionFactory is deployed on each broker specifying the discovery group that will be used by that connection factory.
+
+For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-durable-subscription/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-durable-subscription/pom.xml b/examples/features/clustered/clustered-durable-subscription/pom.xml
index 4dfdb3d..3a2b628 100644
--- a/examples/features/clustered/clustered-durable-subscription/pom.xml
+++ b/examples/features/clustered/clustered-durable-subscription/pom.xml
@@ -155,7 +155,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/clustered/clustered-durable-subscription/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-durable-subscription/readme.html b/examples/features/clustered/clustered-durable-subscription/readme.html
deleted file mode 100644
index c0a7b2e..0000000
--- a/examples/features/clustered/clustered-durable-subscription/readme.html
+++ /dev/null
@@ -1,65 +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 Durable Subscription 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 Durable Subscription 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 demonstrates a clustered JMS durable subscription.
-     Normally durable subscriptions exist on a single node and can only have one subscriber at any one time,
-     however, with ActiveMQ Artemis it's possible to create durable subscription instances with the same name and client-id
-     on different nodes of the cluster, and consume from them simultaneously.
-     This allows the work of processing messages from a durable subscription to be spread across the cluster in
-     a similar way to how JMS Queues can be load balanced across the cluster
-     </p>
-     <p>In this example we first configure the two nodes to form a cluster, then we then create a durable subscriber
-     with the same name and client-id on both nodes, and we create a producer on only one of the nodes.</p>
-     <p>We then send some messages via the producer, and we verify that the messages are round robin'd between
-     the two subscription instances. Note that each durable subscription instance with the same name and client-id
-     <b>does not</b> receive its own copy of the messages. This is because the instances on different nodes form a
-     single "logical" durable subscription, in the same way multiple JMS Queue instances on different nodes
-     form a single "local" JMS Queue</p>
-     <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use
-     JNDI, these could be instantiated directly.
-     <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes
-     and to load balance the messages between the nodes.</p>
-     <p>The cli create method will define this section by default if you use --clustered as a parameter</p>
-     <pre class="prettyprint">
-     <code>&lt;cluster-connection name="my-cluster"&gt;
-        &lt;retry-interval&gt;500&lt;/retry-interval&gt;
-        &lt;use-duplicate-detection&gt;true&lt;/use-duplicate-detection&gt;
-        &lt;message-load-balancing&gt;STRICT&lt;/message-load-balancing&gt;
-        &lt;max-hops&gt;1&lt;/max-hops&gt;
-        &lt;discovery-group-ref discovery-group-name="my-discovery-group"/&gt;
-     &lt;/cluster-connection&gt;
-     </code>
-     </pre>
-     <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering
-     section of the user manual.</p>
-
-   </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-durable-subscription/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-durable-subscription/readme.md b/examples/features/clustered/clustered-durable-subscription/readme.md
new file mode 100644
index 0000000..dd82ec7
--- /dev/null
+++ b/examples/features/clustered/clustered-durable-subscription/readme.md
@@ -0,0 +1,25 @@
+# JMS Clustered Durable Subscription 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 demonstrates a clustered JMS durable subscription. Normally durable subscriptions exist on a single node and can only have one subscriber at any one time, however, with ActiveMQ Artemis it's possible to create durable subscription instances with the same name and client-id on different nodes of the cluster, and consume from them simultaneously. This allows the work of processing messages from a durable subscription to be spread across the cluster in a similar way to how JMS Queues can be load balanced across the cluster
+
+In this example we first configure the two nodes to form a cluster, then we then create a durable subscriber with the same name and client-id on both nodes, and we create a producer on only one of the nodes.
+
+We then send some messages via the producer, and we verify that the messages are round robin'd between the two subscription instances. Note that each durable subscription instance with the same name and client-id **does not** receive its own copy of the messages. This is because the instances on different nodes form a single "logical" durable subscription, in the same way multiple JMS Queue instances on different nodes form a single "local" JMS Queue
+
+This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.
+
+Here's the relevant snippet from the broker configuration, which tells the broker to form a cluster between the two nodes and to load balance the messages between the nodes.
+
+The cli create method will define a similar section by default if you use `--clustered` as a parameter
+
+    <cluster-connection name="my-cluster">
+        <retry-interval>500</retry-interval>
+        <use-duplicate-detection>true</use-duplicate-detection>
+        <message-load-balancing>STRICT</message-load-balancing>
+        <max-hops>1</max-hops>
+        <discovery-group-ref discovery-group-name="my-discovery-group"/>
+    </cluster-connection>
+
+For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the "Clusters" chapter of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml
index 42464b5..4b86dad 100644
--- a/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-durable-subscription/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>
@@ -84,7 +82,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/clustered/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml
index 969a7a2..e22a8ce 100644
--- a/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-durable-subscription/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>
@@ -84,7 +82,7 @@ under the License.
       </security-settings>
 
 
-   <addresses>
+      <addresses>
          <address name="exampleTopic">
             <multicast/>
          </address>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-grouping/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-grouping/pom.xml b/examples/features/clustered/clustered-grouping/pom.xml
index 61293f9..aa02e52 100644
--- a/examples/features/clustered/clustered-grouping/pom.xml
+++ b/examples/features/clustered/clustered-grouping/pom.xml
@@ -29,7 +29,7 @@ under the License.
 
    <artifactId>clustered-grouping</artifactId>
    <packaging>jar</packaging>
-   <name>ActiveMQ Artemis JMS CLustered Grouping Example</name>
+   <name>ActiveMQ Artemis JMS Clustered Grouping Example</name>
 
    <properties>
       <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
@@ -193,7 +193,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/clustered/clustered-grouping/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-grouping/readme.html b/examples/features/clustered/clustered-grouping/readme.html
deleted file mode 100644
index e066ca9..0000000
--- a/examples/features/clustered/clustered-grouping/readme.html
+++ /dev/null
@@ -1,79 +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 Clustered Grouping Example</title>
-    <link rel="stylesheet" type="text/css" href="../../../common/common.css">
-  </head>
-  <body>
-     <h1>JMS Clustered Grouping 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 demonstrates how to ensure strict ordering across a cluster using clustered message grouping</p>
-     <p>We create 3 nodes each with a grouping message handler, one with a Local handler and 2 with a Remote handler.</p>
-     <p>The local handler acts as an arbitrator for the 2 remote handlers, holding the information on routes and communicating
-         the routing info with the remote handlers on the other 2 nodes</p>
-     <p>We then send some messages to each node with the same group id set and ensure the same consumer receives all of them</p>
-     <p>Here's the relevant snippet from the server configuration that has the local handler</p>
-     <pre>
-     <code>
-       &lt;cluster-connections&gt;
-          &lt;cluster-connection name="my-cluster"&gt;
-             &lt;connector-ref>netty-connector&lt;/connector-ref>
-             &lt;retry-interval&gt;500&lt;/retry-interval&gt;
-             &lt;use-duplicate-detection&gt;true&lt;/use-duplicate-detection&gt;
-             &lt;message-load-balancing&gt;STRICT&lt;/message-load-balancing&gt;
-             &lt;max-hops&gt;1&lt;/max-hops&gt;
-             &lt;discovery-group-ref discovery-group-name="my-discovery-group"/&gt;
-          &lt;/cluster-connection&gt;
-       &lt;/cluster-connections&gt;
-
-       &lt;grouping-handler name="my-grouping-handler"&gt;
-          &lt;type&gt;LOCAL&lt;/type&gt;
-          &lt;address&gt;jms&lt;/address&gt;
-          &lt;timeout&gt;5000&lt;/timeout&gt;
-       &lt;/grouping-handler&gt;
-     </code>
-     </pre>
-
-     <p>Here's the relevant snippet from the server configuration that has the remote handlers</p>
-     <pre>
-     <code>
-       &lt;cluster-connections&gt;
-          &lt;cluster-connection name="my-cluster"&gt;
-             &lt;retry-interval&gt;500&lt;/retry-interval&gt;
-             &lt;use-duplicate-detection&gt;true&lt;/use-duplicate-detection&gt;
-             &lt;message-load-balancing&gt;STRICT&lt;/message-load-balancing&gt;
-             &lt;max-hops&gt;1&lt;/max-hops&gt;
-             &lt;discovery-group-ref discovery-group-name="my-discovery-group"/&gt;
-          &lt;/cluster-connection&gt;
-       &lt;/cluster-connections&gt;
-
-       &lt;grouping-handler name="my-grouping-handler"&gt;
-          &lt;type&gt;REMOTE&lt;/type&gt;
-          &lt;address&gt;jms&lt;/address&gt;
-          &lt;timeout&gt;5000&lt;/timeout&gt;
-       &lt;/grouping-handler&gt;
-     </code>
-     </pre>
-
-   </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-grouping/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-grouping/readme.md b/examples/features/clustered/clustered-grouping/readme.md
new file mode 100644
index 0000000..e8eb9d0
--- /dev/null
+++ b/examples/features/clustered/clustered-grouping/readme.md
@@ -0,0 +1,48 @@
+# JMS Clustered Grouping 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 demonstrates how to ensure strict ordering across a cluster using clustered message grouping
+
+We create 3 nodes each with a grouping message handler, one with a Local handler and 2 with a Remote handler.
+
+The local handler acts as an arbitrator for the 2 remote handlers, holding the information on routes and communicating the routing info with the remote handlers on the other 2 nodes
+
+We then send some messages to each node with the same group id set and ensure the same consumer receives all of them
+
+Here's the relevant snippet from the broker configuration that has the local handler
+
+    <cluster-connections>
+       <cluster-connection name="my-cluster">
+          <connector-ref>netty-connector</connector-ref>
+          <retry-interval>500</retry-interval>
+          <use-duplicate-detection>true</use-duplicate-detection>
+          <message-load-balancing>STRICT</message-load-balancing>
+          <max-hops>1</max-hops>
+          <discovery-group-ref discovery-group-name="my-discovery-group"/>
+       </cluster-connection>
+    </cluster-connections>
+
+    <grouping-handler name="my-grouping-handler">
+       <type>LOCAL</type>
+       <address>jms</address>
+       <timeout>5000</timeout>
+    </grouping-handler>
+
+Here's the relevant snippet from the broker configuration that has the remote handlers
+
+    <cluster-connections>
+       <cluster-connection name="my-cluster">
+          <retry-interval>500</retry-interval>
+          <use-duplicate-detection>true</use-duplicate-detection>
+          <message-load-balancing>STRICT</message-load-balancing>
+          <max-hops>1</max-hops>
+          <discovery-group-ref discovery-group-name="my-discovery-group"/>
+       </cluster-connection>
+    </cluster-connections>
+
+    <grouping-handler name="my-grouping-handler">
+       <type>REMOTE</type>
+       <address>jms</address>
+       <timeout>5000</timeout>
+    </grouping-handler>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server0/broker.xml
index 26c8467..9ee69f5 100644
--- a/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-grouping/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>
@@ -93,7 +91,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/clustered/clustered-grouping/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server1/broker.xml
index 3641e8e..fa926f7 100644
--- a/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-grouping/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>
@@ -90,7 +88,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/clustered/clustered-grouping/src/main/resources/activemq/server2/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server2/broker.xml b/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server2/broker.xml
index 864c240..e0494d8 100644
--- a/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server2/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>
@@ -90,7 +88,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/clustered/clustered-jgroups/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-jgroups/pom.xml b/examples/features/clustered/clustered-jgroups/pom.xml
index 8a8a1c2..1e0c6eb 100644
--- a/examples/features/clustered/clustered-jgroups/pom.xml
+++ b/examples/features/clustered/clustered-jgroups/pom.xml
@@ -158,7 +158,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
+   <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>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-jgroups/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-jgroups/readme.html b/examples/features/clustered/clustered-jgroups/readme.html
deleted file mode 100644
index 2731997..0000000
--- a/examples/features/clustered/clustered-jgroups/readme.html
+++ /dev/null
@@ -1,67 +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 Clustering with JGroups 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>ActiveMQ Artemis Clustering with JGroups 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 demonstrates the working of a two node cluster using JGroups as the underlying topology broadcasting/discovery
-     technique.</p>
-     <p>We deploy a queue on to the cluster, then create a consumer on the queue on each node, and we create a producer on only one of the nodes.</p>
-     <p>We then send some messages via the producer, and we verify that <b>both</b> consumers receive the sent messages
-     in a round-robin fashion.</p>
-     <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use
-     JNDI, these could be instantiated directly.</p>
-     <p>To enable ActiveMQ Artemis to use JGroups you need to configure JGroups configuration file and make sure it is on the classpath
-         by placing in the configuration directory, the file test-jgroups-file_ping.xml is the configuration used in this
-     exaample</p>
-     <p>You then configure the jgroups file used by the broadcast and discovery groups in the configuration along with the
-         channel name which you want this cluster to share.</p>
-     <pre class="prettyprint">
-     <code>
-   &lt;broadcast-groups&gt;
-      &lt;broadcast-group name="my-broadcast-group">
-         &lt;broadcast-period>5000&lt;/broadcast-period>
-         &lt;jgroups-file>test-jgroups-file_ping.xml&lt;/jgroups-file>
-         &lt;jgroups-channel>activemq_broadcast_channel&lt;/jgroups-channel>
-         &lt;connector-ref>netty-connector&lt;/connector-ref>
-      &lt;/broadcast-group>
-   &lt;/broadcast-groups&gt;
-
-   &lt;discovery-groups&gt;
-      &lt;discovery-group name="my-discovery-group">
-         &lt;jgroups-file>test-jgroups-file_ping.xml&lt;/jgroups-file>
-         &lt;jgroups-channel>activemq_broadcast_channel&lt;/jgroups-channel>
-         &lt;refresh-timeout>10000&lt;/refresh-timeout>
-      &lt;/discovery-group>
-   &lt;/discovery-groups&gt;
-     </code>
-     </pre>
-     <p>For more information on ActiveMQ Artemis clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-jgroups/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-jgroups/readme.md b/examples/features/clustered/clustered-jgroups/readme.md
new file mode 100644
index 0000000..9783268
--- /dev/null
+++ b/examples/features/clustered/clustered-jgroups/readme.md
@@ -0,0 +1,34 @@
+# ActiveMQ Artemis Clustering with JGroups 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 demonstrates the working of a two node cluster using JGroups as the underlying topology broadcasting/discovery technique.
+
+We deploy a queue on to the cluster, then create a consumer on the queue on each node, and we create a producer on only one of the nodes.
+
+We then send some messages via the producer, and we verify that **both** consumers receive the sent messages in a round-robin fashion.
+
+This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.
+
+To enable ActiveMQ Artemis to use JGroups you need to configure JGroups configuration file and make sure it is on the classpath by placing in the configuration directory, the file test-jgroups-file_ping.xml is the configuration used in this exaample
+
+You then configure the jgroups file used by the broadcast and discovery groups in the configuration along with the channel name which you want this cluster to share.
+
+    <broadcast-groups>
+       <broadcast-group name="my-broadcast-group">
+          <broadcast-period>5000</broadcast-period>
+          <jgroups-file>test-jgroups-file_ping.xml</jgroups-file>
+          <jgroups-channel>activemq_broadcast_channel</jgroups-channel>
+          <connector-ref>netty-connector</connector-ref>
+       </broadcast-group>
+    </broadcast-groups>
+
+    <discovery-groups>
+       <discovery-group name="my-discovery-group">
+          <jgroups-file>test-jgroups-file_ping.xml</jgroups-file>
+          <jgroups-channel>activemq_broadcast_channel</jgroups-channel>
+          <refresh-timeout>10000</refresh-timeout>
+       </discovery-group>
+    </discovery-groups>
+
+For more information on ActiveMQ Artemis clustering in general, please see the "Clusters" chapter of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server0/broker.xml
index cc82b8e..5bb1234 100644
--- a/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-jgroups/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>
@@ -85,7 +83,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/clustered/clustered-jgroups/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server1/broker.xml
index 8b65e68..5531062 100644
--- a/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-jgroups/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>
@@ -84,7 +82,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/clustered/clustered-queue/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-queue/pom.xml b/examples/features/clustered/clustered-queue/pom.xml
index 5f1f0ed..5953992 100644
--- a/examples/features/clustered/clustered-queue/pom.xml
+++ b/examples/features/clustered/clustered-queue/pom.xml
@@ -151,7 +151,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/clustered/clustered-queue/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-queue/readme.html b/examples/features/clustered/clustered-queue/readme.html
deleted file mode 100644
index a39fc4c..0000000
--- a/examples/features/clustered/clustered-queue/readme.html
+++ /dev/null
@@ -1,55 +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 Load Balanced Clustered 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>JMS Load Balanced Clustered 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 demonstrates a JMS queue deployed on two different nodes. The two nodes are configured to form a cluster.</p>
-     <p>We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.</p>
-     <p>We then send some messages via the producer, and we verify that <b>both</b> consumers receive the sent messages
-     in a round-robin fashion.</p>
-     <p>In other words, ActiveMQ Artemis <b>load balances</b> the sent messages across all consumers on the cluster</p>
-     <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use
-     JNDI, these could be instantiated directly.</p>
-     <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes
-     and to load balance the messages between the nodes.</p>
-     <pre class="prettyprint">
-     <code>&lt;cluster-connection name="my-cluster"&gt;
-        &lt;connector-ref>netty-connector&lt;/connector-ref>
-        &lt;retry-interval&gt;500&lt;/retry-interval&gt;
-        &lt;use-duplicate-detection&gt;true&lt;/use-duplicate-detection&gt;
-        &lt;message-load-balancing&gt;STRICT&lt;/message-load-balancing&gt;
-        &lt;max-hops&gt;1&lt;/max-hops&gt;
-        &lt;discovery-group-ref discovery-group-name="my-discovery-group"/&gt;
-     &lt;/cluster-connection&gt;
-     </code>
-     </pre>
-     <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-queue/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-queue/readme.md b/examples/features/clustered/clustered-queue/readme.md
new file mode 100644
index 0000000..769ce8b
--- /dev/null
+++ b/examples/features/clustered/clustered-queue/readme.md
@@ -0,0 +1,26 @@
+# JMS Load Balanced Clustered 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 demonstrates a JMS queue deployed on two different nodes. The two nodes are configured to form a cluster.
+
+We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.
+
+We then send some messages via the producer, and we verify that **both** consumers receive the sent messages in a round-robin fashion.
+
+In other words, ActiveMQ Artemis **load balances** the sent messages across all consumers on the cluster
+
+This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.
+
+Here's the relevant snippet from the broker configuration, which tells the broker to form a cluster between the two nodes and to load balance the messages between the nodes.
+
+    <cluster-connection name="my-cluster">
+       <connector-ref>netty-connector</connector-ref>
+       <retry-interval>500</retry-interval>
+       <use-duplicate-detection>true</use-duplicate-detection>
+       <message-load-balancing>STRICT</message-load-balancing>
+       <max-hops>1</max-hops>
+       <discovery-group-ref discovery-group-name="my-discovery-group"/>
+    </cluster-connection>
+
+For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-queue/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-queue/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-queue/src/main/resources/activemq/server0/broker.xml
index cee673a..452ad36 100644
--- a/examples/features/clustered/clustered-queue/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-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/bindings</bindings-directory>
@@ -83,7 +81,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/clustered/clustered-queue/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-queue/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-queue/src/main/resources/activemq/server1/broker.xml
index de6f9e6..5bfc79f 100644
--- a/examples/features/clustered/clustered-queue/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-queue/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">
 
 
@@ -84,7 +82,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/clustered/clustered-static-discovery-uri/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery-uri/pom.xml b/examples/features/clustered/clustered-static-discovery-uri/pom.xml
index bc921cb..68e82db 100644
--- a/examples/features/clustered/clustered-static-discovery-uri/pom.xml
+++ b/examples/features/clustered/clustered-static-discovery-uri/pom.xml
@@ -238,7 +238,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/clustered/clustered-static-discovery-uri/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery-uri/readme.html b/examples/features/clustered/clustered-static-discovery-uri/readme.html
deleted file mode 100644
index 0dc1205..0000000
--- a/examples/features/clustered/clustered-static-discovery-uri/readme.html
+++ /dev/null
@@ -1,57 +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 Load Balanced Static Clustered 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>JMS Load Balanced Static Clustered 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 demonstrates a JMS queue deployed on two different nodes. The two nodes are configured to form a cluster
-       from a <em>static</em> list of nodes.</p>
-     <p>We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.</p>
-     <p>We then send some messages via the producer, and we verify that <b>both</b> consumers receive the sent messages
-     in a round-robin fashion.</p>
-     <p>In other words, ActiveMQ Artemis <b>load balances</b> the sent messages across all consumers on the cluster</p>
-     <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use
-     JNDI, these could be instantiated directly.</p>
-     <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes
-     and to load balance the messages between the nodes.</p>
-     <pre class="prettyprint">
-     <code>&lt;cluster-connection name="my-cluster"&gt;
-        &lt;connector-ref>netty-connector&lt;/connector-ref>
-        &lt;retry-interval&gt;500&lt;/retry-interval&gt;
-        &lt;use-duplicate-detection&gt;true&lt;/use-duplicate-detection&gt;
-        &lt;message-load-balancing&gt;STRICT&lt;/message-load-balancing&gt;
-        &lt;max-hops&gt;1&lt;/max-hops&gt;
-        &lt;static-connectors>
-           &lt;connector-ref>server1-connector&lt;/connector-ref>
-        &lt;/static-connectors>
-     &lt;/cluster-connection&gt;
-     </code>
-     </pre>
-     <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-static-discovery-uri/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery-uri/readme.md b/examples/features/clustered/clustered-static-discovery-uri/readme.md
new file mode 100644
index 0000000..d2f9ca1
--- /dev/null
+++ b/examples/features/clustered/clustered-static-discovery-uri/readme.md
@@ -0,0 +1,28 @@
+# JMS Load Balanced Static Clustered 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 demonstrates a JMS queue deployed on two different nodes. The two nodes are configured to form a cluster from a _static_ list of nodes.
+
+We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.
+
+We then send some messages via the producer, and we verify that **both** consumers receive the sent messages in a round-robin fashion.
+
+In other words, ActiveMQ Artemis **load balances** the sent messages across all consumers on the cluster
+
+This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.
+
+Here's the relevant snippet from the broker configuration, which tells the broker to form a cluster between the two nodes and to load balance the messages between the nodes.
+
+    <cluster-connection name="my-cluster">
+       <connector-ref>netty-connector</connector-ref>
+       <retry-interval>500</retry-interval>
+       <use-duplicate-detection>true</use-duplicate-detection>
+       <message-load-balancing>STRICT</message-load-balancing>
+       <max-hops>1</max-hops>
+       <static-connectors>
+          <connector-ref>server1-connector</connector-ref>
+       </static-connectors>
+    </cluster-connection>
+
+For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file


[03/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/xa-send/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/xa-send/readme.md b/examples/features/standard/xa-send/readme.md
new file mode 100644
index 0000000..baa35c6
--- /dev/null
+++ b/examples/features/standard/xa-send/readme.md
@@ -0,0 +1,9 @@
+# JMS XA Send 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 message sending behaves in an XA transaction in ActiveMQ Artemis. When a message is sent within the scope of an XA transaction, it will only reach the queue once the transaction is committed. If the transaction is rolled back the sent messages will be discarded by the server.
+
+ActiveMQ Artemis is JTA aware, meaning you can use ActiveMQ Artemis in a XA transactional environment and participate in XA transactions. It provides the `javax.transaction.xa.XAResource` interface for that purpose. Users can get a XAConnectionFactory to create XAConnections and XASessions.
+
+In this example we simulate a transaction manager to control the transactions. First we create an XASession and enlist it in a transaction through its XAResource. We then send two words, `hello` and `world`, with the session, let the transaction roll back. The messages are discarded and never be received. Next we start a new transaction with the same XAResource, but this time we commit the transaction. Both messages are received.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/sub-modules/artemis-ra-rar/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/sub-modules/artemis-ra-rar/pom.xml b/examples/features/sub-modules/artemis-ra-rar/pom.xml
index 6466710..6c18ca9 100644
--- a/examples/features/sub-modules/artemis-ra-rar/pom.xml
+++ b/examples/features/sub-modules/artemis-ra-rar/pom.xml
@@ -95,7 +95,23 @@ under the License.
                <raXmlFile>src/main/resources/ra.xml</raXmlFile>
             </configuration>
          </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/sub-modules/inter-broker-bridge/artemis-jms-bridge/README.md
----------------------------------------------------------------------
diff --git a/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/README.md b/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/README.md
deleted file mode 100644
index 7751380..0000000
--- a/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/README.md
+++ /dev/null
@@ -1,147 +0,0 @@
-# Artemis to 5.x JMS Bridge
-
-This is an example of using the JMS bridge shipped with the Artemis broker to bridge to a 5.x broker.
-
-Notes:
- 
-- The Artemis JMS bridge is a general purpose bridge and can be used to bridge to any JMS provider which implements JNDI.
-This example however is just focusing on integration with 5.x.
-- The Artemis JMS bridge can "push" _and_ "pull" messages so it can be used to move messages both ways.
-
-##Prerequisites
-
-- install ActiveMQ 5.x
-- install ActiveMQ Artemis
-
-##Preparing
-
-1) From the root dir run `mvn clean package`.
-
-2) Copy artemis-jms-bridge/target/artemis-jms-bridge-<version>.war to the web directory of the Artemis installation.
-
-3) Create an instance of the Artemis broker `$ARTEMIS_HOME/bin/artemis create --allow-anonymous myBroker`
-
-4) Edit the `$ARTEMIS_INSTANCE/etc/broker.xml` and change the `artemis` acceptor to run on 61617 and add the `invm` acceptor.
-
-```xml
-<acceptors>
-   <acceptor name="artemis">tcp://0.0.0.0:61617?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>
-   <acceptor name="invm">vm://0</acceptor>
-</acceptors>
-```
-
-5) Edit `$ARTEMIS_INSTANCE/etc/bootstrap.xml` and add the war file.
-
-```xml
-<app url="bridge" war="artemis-jms-bridge-<version>.war"/>
-```
-
-##Testing
-
-Start the ActiveMQ broker.
-
-`$ACTIVEMQ_HOME/bin/standalone`
-
-Start the Artemis broker.
-
-`$ARTEMIS_INSTANCE/bin/artemis run`
-
-Send some messages to the queue TEST.BAR via the Artemis console.
-
-`$ARTEMIS_INSTANCE/bin/artemis producer --destination queue://TEST.BAR --url tcp://localhost:61617 --message-count 1`
-
-Log into the ActiveMQ 5.x console and browse the messages in the TEST.BAR queue.
-
-# 5.x to Artemis Camel JMS Bridge
-
-This is an alternative to using the Artemis JMS bridge using Camel in the 5.x broker to bridge messages to Artemis. 
-There isn't anything to deploy here. It's just a set of instructions.
-
-This approach might be preferred if for example you only have access to the 5.x broker.
-
-## Prerequisites
-
-- install ActiveMQ 5.x
-- install ActiveMQ Artemis
-
-## Preparing
-
-1) Copy `lib/client/artemis-jms-client-all.jar` to the `$5X_HOME/lib` directory.
-
-2) Add the bridge configuration to `activemq.xml`:
-
-```xml
-   <bean id="5xConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
-      <property name="brokerURL" value="tcp://localhost:61616"/>
-      <property name="userName" value="admin"/>
-      <property name="password" value="password"/>
-   </bean>
-
-   <bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
-      <property name="connectionFactory" ref="5xConnectionFactory"/>
-      <property name="concurrentConsumers" value="10"/>
-   </bean>
-
-   <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
-      <property name="configuration" ref="jmsConfig"/>
-   </bean>
-
-   <bean id="artemisConnectionFactory" class="org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory">
-      <constructor-arg name="url" value="tcp://localhost:61617"/>
-   </bean>
-
-   <bean id="artemisConfig" class="org.apache.camel.component.jms.JmsConfiguration">
-      <property name="connectionFactory" ref="artemisConnectionFactory"/>
-      <property name="concurrentConsumers" value="10"/>
-   </bean>
-
-   <bean id="artemis" class="org.apache.camel.component.jms.JmsComponent">
-      <property name="configuration" ref="artemisConfig"/>
-   </bean>
-
-   <camelContext id="bridgeContext" trace="false" xmlns="http://camel.apache.org/schema/spring">
-      <route id="bridge_TEST.FOO">
-         <from uri="activemq:queue:TEST.FOO"/>
-         <to uri="artemis:queue:TEST.FOO"/>
-      </route>
-   </camelContext>
-```
-
-3) Ensure the `xsi:schemalocation` in activemq.xml contains the necessary Camel schemas:
-
-```
-http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
-```
-
-4) Create an instance of the Artemis broker `$ARTEMIS_HOME/bin/artemis create --allow-anonymous myBroker`
-
-5) Edit the `$ARTEMIS_INSTANCE/etc/broker.xml` and change the acceptor to listen to port 61617. Comment or remove all other acceptors.
-
-```xml
-<acceptors>
-   <acceptor name="artemis">tcp://0.0.0.0:61617?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>
-</acceptors>
-```
-
-6) Edit `$ARTEMIS_INSTANCE/etc/bootstrap.xml` so that the embedded web server runs on a different port that the 5.x broker (e.g. 8162):
-
-```xml
-<web bind="http://localhost:8162" path="web">
-```
-
-## Testing
-
-Start the Artemis broker.
-
-`$ARTEMIS_INSTANCE/bin/artemis run`
-
-Start the ActiveMQ 5.x broker.
-
-`$5X_HOME/bin/activemq start`
-
-Send some messages to the ActiveMQ 5.x broker.
-
-`$5X_HOME/bin/activemq producer --user admin --password password --destination queue://TEST.FOO`
-
-Log into the ActiveMQ Artemis console and browse the messages in the `TEST.FOO` queue.
-

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/pom.xml b/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/pom.xml
index 1bbccfb..e9809b6 100644
--- a/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/pom.xml
+++ b/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/pom.xml
@@ -89,7 +89,23 @@ under the License.
             <artifactId>maven-war-plugin</artifactId>
             <version>3.1.0</version>
          </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/sub-modules/inter-broker-bridge/artemis-jms-bridge/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/readme.md b/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/readme.md
new file mode 100644
index 0000000..6674bbc
--- /dev/null
+++ b/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/readme.md
@@ -0,0 +1,147 @@
+# Artemis to 5.x JMS Bridge
+
+This is an example of using the JMS bridge shipped with the Artemis broker to bridge to a 5.x broker.
+
+Notes:
+ 
+- The Artemis JMS bridge is a general purpose bridge and can be used to bridge to any JMS provider which implements JNDI.
+This example however is just focusing on integration with 5.x.
+- The Artemis JMS bridge can "push" _and_ "pull" messages so it can be used to move messages both ways.
+
+##Prerequisites
+
+- install ActiveMQ 5.x
+- install ActiveMQ Artemis
+
+##Preparing
+
+1) From the root dir run `mvn clean package`.
+
+2) Copy artemis-jms-bridge/target/artemis-jms-bridge-<version>.war to the web directory of the Artemis installation.
+
+3) Create an instance of the Artemis broker `$ARTEMIS_HOME/bin/artemis create --allow-anonymous myBroker`
+
+4) Edit the `$ARTEMIS_INSTANCE/etc/broker.xml` and change the `artemis` acceptor to run on 61617 and add the `invm` acceptor.
+
+```xml
+<acceptors>
+   <acceptor name="artemis">tcp://0.0.0.0:61617?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>
+   <acceptor name="invm">vm://0</acceptor>
+</acceptors>
+```
+
+5) Edit `$ARTEMIS_INSTANCE/etc/bootstrap.xml` and add the war file.
+
+```xml
+<app url="bridge" war="artemis-jms-bridge-<version>.war"/>
+```
+
+##Testing
+
+Start the ActiveMQ broker.
+
+`$ACTIVEMQ_HOME/bin/standalone`
+
+Start the Artemis broker.
+
+`$ARTEMIS_INSTANCE/bin/artemis run`
+
+Send some messages to the queue TEST.BAR via the Artemis console.
+
+`$ARTEMIS_INSTANCE/bin/artemis producer --destination queue://TEST.BAR --url tcp://localhost:61617 --message-count 1`
+
+Log into the ActiveMQ 5.x console and browse the messages in the TEST.BAR queue.
+
+# 5.x to Artemis Camel JMS Bridge
+
+This is an alternative to using the Artemis JMS bridge using Camel in the 5.x broker to bridge messages to Artemis. 
+There isn't anything to deploy here. It's just a set of instructions.
+
+This approach might be preferred if for example you only have access to the 5.x broker.
+
+## Prerequisites
+
+- install ActiveMQ 5.x
+- install ActiveMQ Artemis
+
+## Preparing
+
+1) Copy `lib/client/artemis-jms-client-all.jar` to the `$5X_HOME/lib` directory.
+
+2) Add the bridge configuration to `activemq.xml`:
+
+```xml
+   <bean id="5xConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
+      <property name="brokerURL" value="tcp://localhost:61616"/>
+      <property name="userName" value="admin"/>
+      <property name="password" value="password"/>
+   </bean>
+
+   <bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
+      <property name="connectionFactory" ref="5xConnectionFactory"/>
+      <property name="concurrentConsumers" value="10"/>
+   </bean>
+
+   <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
+      <property name="configuration" ref="jmsConfig"/>
+   </bean>
+
+   <bean id="artemisConnectionFactory" class="org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory">
+      <constructor-arg name="url" value="tcp://localhost:61617"/>
+   </bean>
+
+   <bean id="artemisConfig" class="org.apache.camel.component.jms.JmsConfiguration">
+      <property name="connectionFactory" ref="artemisConnectionFactory"/>
+      <property name="concurrentConsumers" value="10"/>
+   </bean>
+
+   <bean id="artemis" class="org.apache.camel.component.jms.JmsComponent">
+      <property name="configuration" ref="artemisConfig"/>
+   </bean>
+
+   <camelContext id="bridgeContext" trace="false" xmlns="http://camel.apache.org/schema/spring">
+      <route id="bridge_TEST.FOO">
+         <from uri="activemq:queue:TEST.FOO"/>
+         <to uri="artemis:queue:TEST.FOO"/>
+      </route>
+   </camelContext>
+```
+
+3) Ensure the `xsi:schemalocation` in activemq.xml contains the necessary Camel schemas:
+
+```
+http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
+```
+
+4) Create an instance of the Artemis broker `$ARTEMIS_HOME/bin/artemis create --allow-anonymous myBroker`
+
+5) Edit the `$ARTEMIS_INSTANCE/etc/broker.xml` and change the acceptor to listen to port 61617. Comment or remove all other acceptors.
+
+```xml
+<acceptors>
+   <acceptor name="artemis">tcp://0.0.0.0:61617?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>
+</acceptors>
+```
+
+6) Edit `$ARTEMIS_INSTANCE/etc/bootstrap.xml` so that the embedded web broker runs on a different port that the 5.x broker (e.g. 8162):
+
+```xml
+<web bind="http://localhost:8162" path="web">
+```
+
+## Testing
+
+Start the Artemis broker.
+
+`$ARTEMIS_INSTANCE/bin/artemis run`
+
+Start the ActiveMQ 5.x broker.
+
+`$5X_HOME/bin/activemq start`
+
+Send some messages to the ActiveMQ 5.x broker.
+
+`$5X_HOME/bin/activemq producer --user admin --password password --destination queue://TEST.FOO`
+
+Log into the ActiveMQ Artemis console and browse the messages in the `TEST.FOO` queue.
+

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/perf/jmeter/README.md
----------------------------------------------------------------------
diff --git a/examples/perf/jmeter/README.md b/examples/perf/jmeter/README.md
deleted file mode 100644
index b1b2c6a..0000000
--- a/examples/perf/jmeter/README.md
+++ /dev/null
@@ -1,45 +0,0 @@
-####Running the ActiveMQ Artemis JMeter Performance Testing Examples
-
-######Create and run a sample broker for performance testing:
-
-```sh
-artemis create my-broker --queues exampleQueue --topics exampleTopic
-
-my-broker/bin/artemis run
-```
-######Download and Install JMeter's latest release: http://jmeter.apache.org/download_jmeter.cgi
- 
-######Copy artemis-jms-client dependencies under $JMETER_HOME/lib folder:
-
-- artemis-jms-client.jar
-- artemis-core-client.jar
-- jgroups.jar
-- artemis-commons.jar
-- jboss-logmanager.jar
-- jboss-logging.jar
-- commons-beanutils.jar
-- commons-logging.jar (already present under JMeter's lib folder - may not be needed)
-- commons-collections.jar (already present under JMeter's lib folder - may not be needed)
-- artemis-selector.jar
-- artemis-journal.jar
-- artemis-native.jar
-- netty-all.jar
-- javax.inject.jar
-- geronimo-jms_2.0_spec.jar
-
-######Create a jndi.properties file with the connectionFactory Server Information:
-
-```
-connectionFactory.ConnectionFactory=tcp://localhost:61616
-```
-
-######Pack jndi.properties file into a jar file and put it under $JMETER_HOME/lib folder:
-
-```sh
-jar -cf artemis-jndi.jar jndi.properties
-```
-
-######Open jMeter and run the available Test Plan examples:
-
-- 1.jms_p2p_test.jmx
-- 2.pub_sub_test.jmx

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/perf/jmeter/readme.md
----------------------------------------------------------------------
diff --git a/examples/perf/jmeter/readme.md b/examples/perf/jmeter/readme.md
new file mode 100644
index 0000000..4c6b3dc
--- /dev/null
+++ b/examples/perf/jmeter/readme.md
@@ -0,0 +1,33 @@
+#Running the ActiveMQ Artemis JMeter Performance Testing Examples
+
+##Create and run a sample broker for performance testing:
+
+```sh
+artemis create my-broker --queues exampleQueue --topics exampleTopic
+
+my-broker/bin/artemis run
+```
+##Download and Install JMeter's latest release:
+ 
+http://jmeter.apache.org/download_jmeter.cgi
+ 
+##Copy artemis-jms-client dependencies under $JMETER_HOME/lib folder:
+
+- artemis-jms-client-all.jar
+
+######Create a jndi.properties file with the connectionFactory:
+
+```
+connectionFactory.ConnectionFactory=tcp://localhost:61616
+```
+
+######Pack jndi.properties file into a jar file and put it under $JMETER_HOME/lib folder:
+
+```sh
+jar -cf artemis-jndi.jar jndi.properties
+```
+
+######Open jMeter and run the available Test Plan examples:
+
+- 1.jms_p2p_test.jmx
+- 2.pub_sub_test.jmx

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/pom.xml
----------------------------------------------------------------------
diff --git a/examples/pom.xml b/examples/pom.xml
index 35026a5..224ea78 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -49,6 +49,28 @@ under the License.
       </repository>
    </repositories>
 
+   <build>
+      <pluginManagement>
+         <plugins>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-clean-plugin</artifactId>
+               <version>3.0.0</version>
+               <configuration>
+                  <filesets>
+                     <fileset>
+                        <directory>${basedir}</directory>
+                        <includes>
+                           <include>readme.html</include>
+                        </includes>
+                     </fileset>
+                  </filesets>
+               </configuration>
+            </plugin>
+         </plugins>
+      </pluginManagement>
+   </build>
+
    <pluginRepositories>
       <pluginRepository>
          <id>apache.snapshots</id>
@@ -82,6 +104,31 @@ under the License.
             <noServer>true</noServer>
             <noClient>true</noClient>
          </properties>
+         <build>
+            <pluginManagement>
+               <plugins>
+                  <plugin>
+                     <groupId>com.vladsch.flexmark</groupId>
+                     <artifactId>markdown-page-generator-plugin</artifactId>
+                     <version>0.27.0</version>
+                     <executions>
+                        <execution>
+                           <phase>package</phase>
+                           <goals>
+                              <goal>generate</goal>
+                           </goals>
+                        </execution>
+                     </executions>
+                     <configuration>
+                        <headerHtmlFile>${activemq.basedir}/examples/common/header.html</headerHtmlFile>
+                        <footerHtmlFile>${activemq.basedir}/examples/common/footer.html</footerHtmlFile>
+                        <inputDirectory>${basedir}</inputDirectory>
+                        <outputDirectory>${basedir}</outputDirectory>
+                     </configuration>
+                  </plugin>
+               </plugins>
+            </pluginManagement>
+         </build>
       </profile>
       <profile>
          <!-- the profile release won't execute anything. just compile and whatever else is needed -->

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-clustered-cpp/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-clustered-cpp/pom.xml b/examples/protocols/amqp/proton-clustered-cpp/pom.xml
index 9fab41e..db2fbf9 100644
--- a/examples/protocols/amqp/proton-clustered-cpp/pom.xml
+++ b/examples/protocols/amqp/proton-clustered-cpp/pom.xml
@@ -151,7 +151,6 @@ under the License.
                      </args>
                   </configuration>
                </execution>
-
             </executions>
             <dependencies>
                <dependency>
@@ -161,7 +160,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/protocols/amqp/proton-clustered-cpp/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-clustered-cpp/readme.html b/examples/protocols/amqp/proton-clustered-cpp/readme.html
deleted file mode 100644
index 6a5ea8b..0000000
--- a/examples/protocols/amqp/proton-clustered-cpp/readme.html
+++ /dev/null
@@ -1,61 +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 QPID cpp 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>AMQP CPP example</h1>
-
-<p>ActiveMQ Artemis is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.</p>
-<p>All you need to do is to connect a client into activemq's configured port and you should be able connect.</p>
-<p>To run this example simply run the command <literal>mvn verify -Pexample</literal>, execute the compile.sh script and start the executable called ./hello</p>
-<pre>
-    # first make sure you have the dependencies you need to compile and run the client
-    # You will have to adapt this step according to your platform. Consult the <a href="http://qpid.apache.org/releases/qpid-0.30/programming/book/">qpid docs</a> for more information.
-    # There is a list of <a href="http://qpid.apache.org/packages.html">packages</a> you can install as well.
-    [proton-cpp]$ sudo yum install qpid-cpp-client-devel
-
-    # on a first window
-    [proton-cpp]$ mvn verify -Pexample
-
-    # on a second window
-    # That goes without saying but you will of course need g++ (the C++ compiler) installed
-    [proton-cpp]$ ./compile.sh
-    [proton-cpp]$ ./hello
-</pre>
-
-
-<p>You don't need to do anything special to configure the ActiveMQ Artemis server to accept AMQP clients. </p>
-<p>Just for the sake of documentation though we are setting the port of ActiveMQ Artemis on this example as 5672 which is the port qpid have by default. </p>
-<p>This is totally optional and you don't need to follow this convention. You can use any port you chose including ActiveMQ's 61616 default port</p>
-     <pre class="prettyprint">
-     <code>
-         &lt;acceptor name="proton-acceptor"&gt;tcp://localhost:5672&lt;/acceptor&gt;
-     </code>
-     </pre>
-<h2>Example step-by-step</h2>
-<p> We are using qpid cpp client on this example. There are several libraries you may chose from for AMQP. We have ellect one that we consider simple enough for users.</p>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-clustered-cpp/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-clustered-cpp/readme.md b/examples/protocols/amqp/proton-clustered-cpp/readme.md
new file mode 100644
index 0000000..8e87fed
--- /dev/null
+++ b/examples/protocols/amqp/proton-clustered-cpp/readme.md
@@ -0,0 +1,32 @@
+# AMQP CPP example
+
+ActiveMQ Artemis is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.
+
+All you need to do is to connect a client into activemq's configured port and you should be able connect.
+
+To run this example simply run the command **mvn verify -Pexample**, execute the compile.sh script and start the executable called ./hello
+
+    # first make sure you have the dependencies you need to compile and run the client
+    # You will have to adapt this step according to your platform. Consult the [qpid docs](http://qpid.apache.org/releases/qpid-0.30/programming/book/) for more information.
+    # There is a list of [packages](http://qpid.apache.org/packages.html) you can install as well.
+    [proton-cpp]$ sudo yum install qpid-cpp-client-devel
+
+    # on a first window
+    [proton-cpp]$ mvn verify -Pexample
+
+    # on a second window
+    # That goes without saying but you will of course need g++ (the C++ compiler) installed
+    [proton-cpp]$ ./compile.sh
+    [proton-cpp]$ ./hello
+
+You don't need to do anything special to configure the ActiveMQ Artemis broker to accept AMQP clients.
+
+Just for the sake of documentation though we are setting the port of ActiveMQ Artemis on this example as 5672 which is the port qpid have by default.
+
+This is totally optional and you don't need to follow this convention. You can use any port you chose including ActiveMQ's 61616 default port
+
+    <acceptor name="proton-acceptor">tcp://localhost:5672</acceptor>
+
+## Example step-by-step
+
+We are using qpid cpp client on this example. There are several libraries you may chose from for AMQP. We have ellect one that we consider simple enough for users.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-clustered-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-clustered-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java b/examples/protocols/amqp/proton-clustered-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java
index 961a56b..d8de751 100644
--- a/examples/protocols/amqp/proton-clustered-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java
+++ b/examples/protocols/amqp/proton-clustered-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java
@@ -31,7 +31,7 @@ import org.apache.qpid.jms.JmsConnectionFactory;
  * This example demonstrates the use of ActiveMQ Artemis "pre-acknowledge" functionality where
  * messages are acknowledged before they are delivered to the consumer.
  * <p>
- * Please see the readme.html for more details.
+ * Please see the readme for more details.
  */
 public class ProtonCPPExample {
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-clustered-cpp/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-clustered-cpp/src/main/resources/activemq/server0/broker.xml b/examples/protocols/amqp/proton-clustered-cpp/src/main/resources/activemq/server0/broker.xml
index 240d256..bcfc677 100644
--- a/examples/protocols/amqp/proton-clustered-cpp/src/main/resources/activemq/server0/broker.xml
+++ b/examples/protocols/amqp/proton-clustered-cpp/src/main/resources/activemq/server0/broker.xml
@@ -17,10 +17,7 @@ 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>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-clustered-cpp/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-clustered-cpp/src/main/resources/activemq/server1/broker.xml b/examples/protocols/amqp/proton-clustered-cpp/src/main/resources/activemq/server1/broker.xml
index 115f28c..bad1eb8 100644
--- a/examples/protocols/amqp/proton-clustered-cpp/src/main/resources/activemq/server1/broker.xml
+++ b/examples/protocols/amqp/proton-clustered-cpp/src/main/resources/activemq/server1/broker.xml
@@ -17,10 +17,7 @@ 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>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-cpp/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-cpp/pom.xml b/examples/protocols/amqp/proton-cpp/pom.xml
index d2f0aef..2bfffbd 100644
--- a/examples/protocols/amqp/proton-cpp/pom.xml
+++ b/examples/protocols/amqp/proton-cpp/pom.xml
@@ -111,7 +111,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/protocols/amqp/proton-cpp/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-cpp/readme.html b/examples/protocols/amqp/proton-cpp/readme.html
deleted file mode 100644
index ba9e635..0000000
--- a/examples/protocols/amqp/proton-cpp/readme.html
+++ /dev/null
@@ -1,120 +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 QPID cpp 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>AMQP CPP example</h1>
-
-<p>ActiveMQ Artemis is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.</p>
-<p>All you need to do is to connect a client into activemq's configured port and you should be able connect.</p>
-<p>To run this example simply run the command <literal>mvn verify -Pexample</literal>, execute the compile.sh script and start the executable called ./hello</p>
-<pre>
-    # first make sure you have the dependencies you need to compile and run the client
-    # You will have to adapt this step according to your platform. Consult the <a href="http://qpid.apache.org/releases/qpid-0.30/programming/book/">qpid docs</a> for more information.
-    # There is a list of <a href="http://qpid.apache.org/packages.html">packages</a> you can install as well.
-    [proton-cpp]$ sudo yum install qpid-cpp-client-devel
-
-    # on a first window
-    [proton-cpp]$ mvn verify -Pexample
-
-    # on a second window
-    # That goes without saying but you will of course need g++ (the C++ compiler) installed
-    [proton-cpp]$ ./compile.sh
-    [proton-cpp]$ ./hello
-</pre>
-
-
-<p>You don't need to do anything special to configure the ActiveMQ Artemis server to accept AMQP clients. </p>
-<p>Just for the sake of documentation though we are setting the port of ActiveMQ Artemis on this example as 5672 which is the port qpid have by default. </p>
-<p>This is totally optional and you don't need to follow this convention. You can use any port you chose including ActiveMQ's 61616 default port</p>
-     <pre class="prettyprint">
-     <code>
-         &lt;acceptor name="proton-acceptor"&gt;tcp://localhost:5672&lt;/acceptor&gt;
-     </code>
-     </pre>
-<h2>Example step-by-step</h2>
-<p> We are using qpid cpp client on this example. There are several libraries you may chose from for AMQP. We have ellect one that we consider simple enough for users.</p>
-
-<p> This example is based on <a href='http://qpid.apache.org/releases/qpid-0.30/messaging-api/cpp/examples/hello_world.cpp.html'>qpid's hello world example</a>.</p>
-<ol>
-    <li>qpid-cpp-client-devel installed.</li>
-    <p>Assuming you are on Linux Fedora, you will need to run this following command</p>
-    <pre class="prettyprint">
-        <code>yum install qpid-cpp-client-devel</code>
-    </pre>
-    <p>Consult the <a href="http://qpid.apache.org/releases/qpid-0.30/programming/book/">qpid documentation</a>, and <a href="http://qpid.apache.org/packages.html">the required </a> packages for information on other platoforms.</p>
-    <li>Make the proper C++ imports</li>
-
-    <li> Create an amqp qpid 1.0 connection.</li>
-        <pre class="prettyprint">
-           <code>
-        std::string broker = argc > 1 ? argv[1] : "localhost:61616";
-        std::string address = argc > 2 ? argv[2] : "jms.queue.exampleQueue";
-        std::string connectionOptions = argc > 3 ? argv[3] : "{protocol:amqp1.0}"; // Look at the <a href="http://qpid.apache.org/releases/qpid-0.30/programming/book/connections.html#connection-options">docs</a> for more options
-
-        Connection connection(broker, connectionOptions);
-        connection.open();
-           </code>
-        </pre>
-
-    <li>Create a session</li>
-        <pre class="prettyprint">
-       <code>Session session = connection.createSession();</code>
-        </pre>
-
-    <li>Create a sender</li>
-        <pre class="prettyprint">
-       <code>Sender sender = session.createSender(address);</code>
-        </pre>
-
-    <li>send a simple message</li>
-        <pre class="prettyprint">
-       <code>sender.send(Message("Hello world!"));</code>
-        </pre>
-
-    <li>create a receiver</li>
-        <pre class="prettyprint">
-       <code>Receiver receiver = session.createReceiver(address);</code>
-        </pre>
-
-    <li>receive the simple message</li>
-        <pre class="prettyprint">
-      <code>Message message = receiver.fetch(Duration::SECOND * 1);
-      </code>
-        </pre>
-
-    <li>acknowledge the message</li>
-        <pre class="prettyprint">
-      <code>session.acknowledge();</code>
-        </pre>
-
-    <li>close the connection</li>
-        <pre class="prettyprint">
-      <code>connection.close();</code>
-        </pre>
-</ol>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-cpp/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-cpp/readme.md b/examples/protocols/amqp/proton-cpp/readme.md
new file mode 100644
index 0000000..2acf171
--- /dev/null
+++ b/examples/protocols/amqp/proton-cpp/readme.md
@@ -0,0 +1,80 @@
+# AMQP CPP example
+
+ActiveMQ Artemis is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.
+
+All you need to do is to connect a client into ActiveMQ's configured port and you should be able connect.
+
+To run this example simply run the command **mvn verify -Pexample**, execute the compile.sh script and start the executable called ./hello
+
+    # first make sure you have the dependencies you need to compile and run the client
+    # You will have to adapt this step according to your platform. Consult the [qpid docs](http://qpid.apache.org/releases/qpid-0.30/programming/book/) for more information.
+    # There is a list of [packages](http://qpid.apache.org/packages.html) you can install as well.
+    [proton-cpp]$ sudo yum install qpid-cpp-client-devel
+
+    # on a first window
+    [proton-cpp]$ mvn verify -Pexample
+
+    # on a second window
+    # That goes without saying but you will of course need g++ (the C++ compiler) installed
+    [proton-cpp]$ ./compile.sh
+    [proton-cpp]$ ./hello
+
+You don't need to do anything special to configure the ActiveMQ Artemis broker to accept AMQP clients.
+
+Just for the sake of documentation though we are setting the port of ActiveMQ Artemis on this example as 5672 which is the port qpid have by default.
+
+This is totally optional and you don't need to follow this convention. You can use any port you chose including ActiveMQ's 61616 default port:
+
+    <acceptor name="proton-acceptor">tcp://localhost:5672</acceptor>
+
+## Example step-by-step
+
+We are using qpid cpp client on this example. There are several libraries you may chose from for AMQP. We have ellect one that we consider simple enough for users.
+
+This example is based on [qpid's hello world example](http://qpid.apache.org/releases/qpid-0.30/messaging-api/cpp/examples/hello_world.cpp.html).
+
+1.  qpid-cpp-client-devel installed.
+
+Assuming you are on Linux Fedora, you will need to run this following command
+
+    yum install qpid-cpp-client-devel
+
+Consult the [qpid documentation](http://qpid.apache.org/releases/qpid-0.30/programming/book/), and [the required](http://qpid.apache.org/packages.html) packages for information on other platoforms.
+
+5.  Make the proper C++ imports
+6.  Create an amqp qpid 1.0 connection.
+
+    std::string broker = argc > 1 ? argv[1] : "localhost:61616";
+    std::string address = argc > 2 ? argv[2] : "jms.queue.exampleQueue";
+    std::string connectionOptions = argc > 3 ? argv[3] : "{protocol:amqp1.0}"; // Look at the [docs](http://qpid.apache.org/releases/qpid-0.30/programming/book/connections.html#connection-options) for more options
+
+    Connection connection(broker, connectionOptions);
+    connection.open();
+
+8.  Create a session
+
+    Session session = connection.createSession();
+
+10.  Create a sender
+
+    Sender sender = session.createSender(address);
+
+12.  send a simple message
+
+    sender.send(Message("Hello world!"));
+
+14.  create a receiver
+
+    Receiver receiver = session.createReceiver(address);
+
+16.  receive the simple message
+
+    Message message = receiver.fetch(Duration::SECOND * 1);
+
+18.  acknowledge the message
+
+    session.acknowledge();
+
+20.  close the connection
+
+    connection.close();
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java b/examples/protocols/amqp/proton-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java
index 961a56b..d8de751 100644
--- a/examples/protocols/amqp/proton-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java
+++ b/examples/protocols/amqp/proton-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java
@@ -31,7 +31,7 @@ import org.apache.qpid.jms.JmsConnectionFactory;
  * This example demonstrates the use of ActiveMQ Artemis "pre-acknowledge" functionality where
  * messages are acknowledged before they are delivered to the consumer.
  * <p>
- * Please see the readme.html for more details.
+ * Please see the readme for more details.
  */
 public class ProtonCPPExample {
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-ruby/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-ruby/pom.xml b/examples/protocols/amqp/proton-ruby/pom.xml
index 676355f..9b2efbf 100644
--- a/examples/protocols/amqp/proton-ruby/pom.xml
+++ b/examples/protocols/amqp/proton-ruby/pom.xml
@@ -60,7 +60,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/protocols/amqp/proton-ruby/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-ruby/readme.html b/examples/protocols/amqp/proton-ruby/readme.html
deleted file mode 100644
index f7f83fb..0000000
--- a/examples/protocols/amqp/proton-ruby/readme.html
+++ /dev/null
@@ -1,51 +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 Proton Ruby 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>Proton Ruby Example</h1>
-
-     <p>ActiveMQ Artemis can be configured to accept requests from any AMQP client that supports the 1.0 version of the protocol.
-     This example shows a simply proton ruby client that sends and receives messages</p>
-     <p>To run the example you will need the following packages installed, alsa-lib.i686 libXv.i686 libXScrnSaver.i686 qt.i686 qt-x11.i686 qtwebkit-2.2.2-2.fc18.i686, gcc, ruby</p>
-     <p>On fedora you can install these via the <literal>yum install alsa-lib.i686 libXv.i686 libXScrnSaver.i686 qt.i686 qt-x11.i686 qtwebkit-2.2.2-2.fc18.i686, gcc, ruby</literal>
-     command</p>
-     <p>you will also need the qpid-proton libraries installed, again <literal>yum install qpid-proton</literal></p>
-     <p>lastly you wull have to create the gems <literal>gem install qpid_proton</literal></p>
-
-     <p>To configure ActiveMQ Artemis to accept AMQP client connections you need to add an Acceptor like so:</p>
-     <pre class="prettyprint">
-     <code>
-     &lt;acceptor name="proton-acceptor"&gt;tcp://localhost:5672?protocols=AMQP&lt;/acceptor&gt;
-     </code>
-     </pre>
-     <h2>Example step-by-step</h2>
-     <p>Firstly create the server by running the command <literal>mvn verify</literal></p>
-     <p>Start the server manually under ./target/server1/bin by calling ./artemis run</p>
-     <p>Then in a separate window you can run the send ruby script by running the command <literal>ruby src/main/scripts/send.rb</literal></p>
-     <p>You can then receive the message via the receive ruby script by running <literal>ruby src/main/scripts/receive.rb</literal></p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-ruby/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-ruby/readme.md b/examples/protocols/amqp/proton-ruby/readme.md
new file mode 100644
index 0000000..8e01056
--- /dev/null
+++ b/examples/protocols/amqp/proton-ruby/readme.md
@@ -0,0 +1,25 @@
+# Proton Ruby Example
+
+ActiveMQ Artemis can be configured to accept requests from any AMQP client that supports the 1.0 version of the protocol. This example shows a simply proton ruby client that sends and receives messages.
+
+To run the example you will need the following packages installed, alsa-lib.i686 libXv.i686 libXScrnSaver.i686 qt.i686 qt-x11.i686 qtwebkit-2.2.2-2.fc18.i686, gcc, ruby.
+
+On fedora you can install these via the `yum install alsa-lib.i686 libXv.i686 libXScrnSaver.i686 qt.i686 qt-x11.i686 qtwebkit-2.2.2-2.fc18.i686, gcc, ruby` command.
+
+you will also need the qpid-proton libraries installed, again `yum install qpid-proton`.
+
+lastly you wull have to create the gems `gem install qpid_proton`.
+
+To configure ActiveMQ Artemis to accept AMQP client connections you need to add an Acceptor like so:
+
+    <acceptor name="proton-acceptor">tcp://localhost:5672?protocols=AMQP</acceptor>
+
+## Example step-by-step
+
+Firstly create the broker by running the command **mvn verify**.
+
+Start the broker manually under ./target/server1/bin by calling `./artemis run`.
+
+Then in a separate window you can run the send ruby script by running the command `ruby src/main/scripts/send.rb`.
+
+You can then receive the message via the receive ruby script by running `ruby src/main/scripts/receive.rb`.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/proton-ruby/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/proton-ruby/src/main/resources/activemq/server0/broker.xml b/examples/protocols/amqp/proton-ruby/src/main/resources/activemq/server0/broker.xml
index 50f0a67..c759bc5 100644
--- a/examples/protocols/amqp/proton-ruby/src/main/resources/activemq/server0/broker.xml
+++ b/examples/protocols/amqp/proton-ruby/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.dir}/server0/data/messaging/bindings</bindings-directory>
@@ -50,7 +48,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="testQueue">
             <multicast>
                <queue name="testQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/queue/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/queue/pom.xml b/examples/protocols/amqp/queue/pom.xml
index b897f4b..5889529 100644
--- a/examples/protocols/amqp/queue/pom.xml
+++ b/examples/protocols/amqp/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/protocols/amqp/queue/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/queue/readme.html b/examples/protocols/amqp/queue/readme.html
deleted file mode 100644
index 4eb1f0c..0000000
--- a/examples/protocols/amqp/queue/readme.html
+++ /dev/null
@@ -1,46 +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 QPID java 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>Proton qpid java 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>ActiveMQ Artemis is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.</p>
-<p>All you need to do is to connect a client into activemq's configured port and you should be able connect.</p>
-<p>To run this example simply run the command <literal>mvn verify -Pexample</literal>, execute the compile.sh script and start the executable called ./hello</p>
-
-<p>You don't need to do anything special to configure the ActiveMQ Artemis server to accept AMQP clients. </p>
-<p>Just for the sake of documentation though we are setting the port of ActiveMQ Artemis on this example as 5672 which is the port qpid have by default. </p>
-<p>This is totally optional and you don't need to follow this convention. You can use any port you chose including ActiveMQ's 61616 default port</p>
-     <pre class="prettyprint">
-     <code>
-         &lt;acceptor name="proton-acceptor"&gt;tcp://localhost:5672&lt;/acceptor&gt;
-     </code>
-     </pre>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/amqp/queue/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/amqp/queue/readme.md b/examples/protocols/amqp/queue/readme.md
new file mode 100644
index 0000000..9b34e7e
--- /dev/null
+++ b/examples/protocols/amqp/queue/readme.md
@@ -0,0 +1,17 @@
+# Proton qpid java 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.
+
+ActiveMQ Artemis is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.
+
+All you need to do is to connect a client into activemq's configured port and you should be able connect.
+
+To run this example simply run the command **mvn verify -Pexample**, execute the `compile.sh` script and start the executable called `./hello`.
+
+You don't need to do anything special to configure the ActiveMQ Artemis broker to accept AMQP clients.
+
+Just for the sake of documentation though we are setting the port of ActiveMQ Artemis on this example as 5672 which is the port qpid have by default.
+
+This is totally optional and you don't need to follow this convention. You can use any port you chose including ActiveMQ's 61616 default port
+
+    <acceptor name="proton-acceptor">tcp://localhost:5672</acceptor>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/mqtt/basic-pubsub/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/mqtt/basic-pubsub/pom.xml b/examples/protocols/mqtt/basic-pubsub/pom.xml
index 05252fb..73671b4 100644
--- a/examples/protocols/mqtt/basic-pubsub/pom.xml
+++ b/examples/protocols/mqtt/basic-pubsub/pom.xml
@@ -99,7 +99,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/protocols/mqtt/basic-pubsub/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/mqtt/basic-pubsub/readme.html b/examples/protocols/mqtt/basic-pubsub/readme.html
deleted file mode 100644
index ca7dbff..0000000
--- a/examples/protocols/mqtt/basic-pubsub/readme.html
+++ /dev/null
@@ -1,136 +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 MQTT 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>MQTT Example</h1>
-
-     <p>This is a basic MQTT example that demonstrates how to setup and connect to an Apache Artemis broker and
-     send and receive messages using the MQTT protocol.</p>
-
-     <h2>Setting up the server</h2>
-
-     <p>This example will use the default out of the box configuration of Artemis you don't need to change anything to run
-     this example. Artemis ships with all protocols enabled on port 61616 and also MQTT on port 1883.  To enable MQTT
-     on a different port you can add the following XML snippet to the 'acceptors' section of your broker.xml
-     configuration file (changing the port from 1883 to what ever you require).</p>
-
-
-     <pre class="prettyprint">
-         <!-- Escaped: <acceptor name="hornetq">tcp://0.0.0.0:1883?protocols=MQTT"></acceptor> -->
-         &lt;acceptor name=&quot;hornetq&quot;&gt;tcp://0.0.0.0:1883?protocols=MQTT&quot;&gt;&lt;/acceptor&gt;
-     </pre>
-
-     For more information on configuring protocol transports see the "Configuring Transports" section of the user
-     manual, specifically the section called "Single Port Support".
-
-     <h2>MQTT Clients</h2>
-
-     <p>There are a number of MQTT client implementations for various languages.  The Paho project:
-        http://www.eclipse.org/paho/ offers a number of clients for languages such as C, Python, JavaScript and .Net and
-        is also a great resource for all things MQTT.
-
-        This example is actually based on the Fuse MQTT java client and was chosen as it is Apache 2.0 licensed and
-        available to download from maven central.  The specific client used in the example is not of importance and is
-        used simply to demonstrate the features of MQTT as provided by Apache Artemis.</p>
-
-     <p>If you'd like to use the client demonstrated in this example, simple add the following dependency to your
-        pom.xml</p>
-
-     <pre class="prettyprint">
-        &lt;dependency&gt;
-            &lt;groupId&gt;org.fusesource.mqtt-client&lt;/groupId&gt;
-            &lt;artifactId&gt;mqtt-client&lt;/artifactId&gt;
-            &lt;version&gt;1.10&lt;/version&gt;
-        &lt;/dependency&gt;
-     </pre>
-
-     <h2>Example Step by Step</h2>
-
-     <o1>
-         <li>1. Connect to Artemis</li>
-
-         <p>We start by creating a connection to the Apache Artemis broker.  In this example we specify to use TCP
-         protocol on localhost.  By default Apache Artemis will start all protocols on port 61616, so we connect
-         to that port.</p>
-
-         <pre class="prettyprint">
-             MQTT mqtt = new MQTT();
-             mqtt.setHost("tcp://localhost:61616");
-             BlockingConnection connection = mqtt.blockingConnection();
-             connection.connect();
-         </pre>
-
-         <li>2. Create subscriptions</li>
-
-         <p>Subscriptions in MQTT are realised by subscribing to a particular Topic.  Each Topic has an address
-         and a quality of service level (QoS level).  Subscriptions also support wildcards.  In the code below we
-         subscribe to a Topic with address "mqtt/example/publish", a wildcard address "test/#" which will
-         match anything starting with "test/" and also a wildcard "foo/+/bar", where + matches a single level of the hierarchy (foo/something/bar)</p>
-
-         <pre class="prettyprint">
-             Topic[] topics = { new Topic("mqtt/example/publish", QoS.AT_LEAST_ONCE), new Topic("test/#", QoS.EXACTLY_ONCE), new Topic("foo/+/bar", QoS.AT_LEAST_ONCE) };
-             connection.subscribe(topics);
-         </pre>
-
-         <li>3. Sending messages</li>
-
-         <p>There is no type system in MQTT, messages simply consist of a number of bytes.  Below we send three messages with
-         UTF8 encoded strings (as a byte array).  Notice the second message is sent to "test/test" which should match
-         the first wildcard subscription we defined previously. The third message is sent to "foo/1/bar", which matches the second wildcard subscription.</p>
-
-         <pre class="prettyprint">
-             String payload1 = "This is message 1";
-             String payload2 = "This is message 2";
-             String payload3 = "This is message 3";
-
-             connection.publish("mqtt/example/publish", payload1.getBytes(), QoS.AT_LEAST_ONCE, false);
-             connection.publish("mqtt/test", payload2.getBytes(), QoS.AT_MOST_ONCE, false);
-             connection.publish("foo/1/bar", payload3.getBytes(), QoS.AT_MOST_ONCE, false);
-         </pre>
-
-         <li>4. Receiving messages</li>
-
-         <p>Since we have subscribed to a number of topics and sent messages to them, the client should now receive
-         2 messages.  We are not using callbacks here on message receive so we specifically call receive to get
-         the messages.  Once we receive the message we convert the payload consisting of bytes back to a UTF8
-         encoded string and print the result.</p>
-
-         <pre class="prettyprint">
-             Message message1 = connection.receive(5, TimeUnit.SECONDS);
-             Message message2 = connection.receive(5, TimeUnit.SECONDS);
-             Message message3 = connection.receive(5, TimeUnit.SECONDS);
-
-             System.out.println(new String(message1.getPayload()));
-             System.out.println(new String(message2.getPayload()));
-             System.out.println(new String(message3.getPayload()));
-         </pre>
-     </o1>
-
-     <h2>Result</h2>
-     This example has shown you how to set up the basics of MQTT including how to connect to the Artemis broker and
-     how to send and receive messages including subscriptions using wildcard addresses.
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/mqtt/basic-pubsub/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/mqtt/basic-pubsub/readme.md b/examples/protocols/mqtt/basic-pubsub/readme.md
new file mode 100644
index 0000000..b7ea993
--- /dev/null
+++ b/examples/protocols/mqtt/basic-pubsub/readme.md
@@ -0,0 +1,69 @@
+# MQTT Example
+
+This is a basic MQTT example that demonstrates how to setup and connect to an Apache Artemis broker and send and receive messages using the MQTT protocol.
+
+## Setting up the Broker
+
+This example will use the default out of the box configuration of Artemis you don't need to change anything to run this example. Artemis ships with all protocols enabled on port 61616 and also MQTT on port 1883. To enable MQTT on a different port you can add the following XML snippet to the `acceptors` section of your broker.xml configuration file (changing the port from 1883 to what ever you require).
+
+    <acceptor name="mqtt">tcp://0.0.0.0:1883?protocols=MQTT"></acceptor>
+
+For more information on configuring protocol transports see the "Configuring Transports" section of the user manual, specifically the section called "Single Port Support".
+
+## MQTT Clients
+
+There are a number of MQTT client implementations for various languages. The Paho project: http://www.eclipse.org/paho/ offers a number of clients for languages such as C, Python, JavaScript and .Net and is also a great resource for all things MQTT. This example is actually based on the Fuse MQTT java client and was chosen as it is Apache 2.0 licensed and available to download from maven central. The specific client used in the example is not of importance and is used simply to demonstrate the features of MQTT as provided by Apache Artemis.
+
+If you'd like to use the client demonstrated in this example, simple add the following dependency to your pom.xml
+
+    <dependency>
+       <groupId>org.fusesource.mqtt-client</groupId>
+       <artifactId>mqtt-client</artifactId>
+       <version>1.10</version>
+    </dependency>
+
+## Example Step by Step
+
+* Connect to Artemis
+
+We start by creating a connection to the Apache Artemis broker. In this example we specify to use TCP protocol on localhost. By default Apache Artemis will start all protocols on port 61616, so we connect to that port.
+
+    MQTT mqtt = new MQTT();
+    mqtt.setHost("tcp://localhost:61616");
+    BlockingConnection connection = mqtt.blockingConnection();
+    connection.connect();
+
+* Create subscriptions
+
+Subscriptions in MQTT are realised by subscribing to a particular Topic. Each Topic has an address and a quality of service level (QoS level). Subscriptions also support wildcards. In the code below we subscribe to a Topic with address "mqtt/example/publish", a wildcard address "test/#" which will match anything starting with "test/" and also a wildcard "foo/+/bar", where + matches a single level of the hierarchy (foo/something/bar)
+
+    Topic[] topics = { new Topic("mqtt/example/publish", QoS.AT_LEAST_ONCE), new Topic("test/#", QoS.EXACTLY_ONCE), new Topic("foo/+/bar", QoS.AT_LEAST_ONCE) };
+    connection.subscribe(topics);
+
+* Sending messages
+
+There is no type system in MQTT, messages simply consist of a number of bytes. Below we send three messages with UTF8 encoded strings (as a byte array). Notice the second message is sent to "test/test" which should match the first wildcard subscription we defined previously. The third message is sent to "foo/1/bar", which matches the second wildcard subscription.
+
+    String payload1 = "This is message 1";
+    String payload2 = "This is message 2";
+    String payload3 = "This is message 3";
+
+    connection.publish("mqtt/example/publish", payload1.getBytes(), QoS.AT_LEAST_ONCE, false);
+    connection.publish("mqtt/test", payload2.getBytes(), QoS.AT_MOST_ONCE, false);
+    connection.publish("foo/1/bar", payload3.getBytes(), QoS.AT_MOST_ONCE, false);
+
+* Receiving messages
+
+Since we have subscribed to a number of topics and sent messages to them, the client should now receive 2 messages. We are not using callbacks here on message receive so we specifically call receive to get the messages. Once we receive the message we convert the payload consisting of bytes back to a UTF8 encoded string and print the result.
+    
+    Message message1 = connection.receive(5, TimeUnit.SECONDS);
+    Message message2 = connection.receive(5, TimeUnit.SECONDS);
+    Message message3 = connection.receive(5, TimeUnit.SECONDS);
+
+    System.out.println(new String(message1.getPayload()));
+    System.out.println(new String(message2.getPayload()));
+    System.out.println(new String(message3.getPayload()));
+
+## Result
+
+This example has shown you how to set up the basics of MQTT including how to connect to the Artemis broker and how to send and receive messages including subscriptions using wildcard addresses.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/mqtt/clustered-queue-mqtt/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/mqtt/clustered-queue-mqtt/pom.xml b/examples/protocols/mqtt/clustered-queue-mqtt/pom.xml
index 6deacc0..374d703 100644
--- a/examples/protocols/mqtt/clustered-queue-mqtt/pom.xml
+++ b/examples/protocols/mqtt/clustered-queue-mqtt/pom.xml
@@ -155,7 +155,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/protocols/mqtt/clustered-queue-mqtt/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/mqtt/clustered-queue-mqtt/readme.html b/examples/protocols/mqtt/clustered-queue-mqtt/readme.html
deleted file mode 100644
index a39fc4c..0000000
--- a/examples/protocols/mqtt/clustered-queue-mqtt/readme.html
+++ /dev/null
@@ -1,55 +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 Load Balanced Clustered 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>JMS Load Balanced Clustered 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 demonstrates a JMS queue deployed on two different nodes. The two nodes are configured to form a cluster.</p>
-     <p>We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.</p>
-     <p>We then send some messages via the producer, and we verify that <b>both</b> consumers receive the sent messages
-     in a round-robin fashion.</p>
-     <p>In other words, ActiveMQ Artemis <b>load balances</b> the sent messages across all consumers on the cluster</p>
-     <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use
-     JNDI, these could be instantiated directly.</p>
-     <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes
-     and to load balance the messages between the nodes.</p>
-     <pre class="prettyprint">
-     <code>&lt;cluster-connection name="my-cluster"&gt;
-        &lt;connector-ref>netty-connector&lt;/connector-ref>
-        &lt;retry-interval&gt;500&lt;/retry-interval&gt;
-        &lt;use-duplicate-detection&gt;true&lt;/use-duplicate-detection&gt;
-        &lt;message-load-balancing&gt;STRICT&lt;/message-load-balancing&gt;
-        &lt;max-hops&gt;1&lt;/max-hops&gt;
-        &lt;discovery-group-ref discovery-group-name="my-discovery-group"/&gt;
-     &lt;/cluster-connection&gt;
-     </code>
-     </pre>
-     <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/mqtt/clustered-queue-mqtt/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/mqtt/clustered-queue-mqtt/readme.md b/examples/protocols/mqtt/clustered-queue-mqtt/readme.md
new file mode 100644
index 0000000..eb714f9
--- /dev/null
+++ b/examples/protocols/mqtt/clustered-queue-mqtt/readme.md
@@ -0,0 +1,11 @@
+# MQTT Clustered Subscription 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 demonstrates a queue deployed on two different nodes. The two nodes are configured to form a cluster.
+
+We then create an MQTT subscriber on the queue on each node, and we create a producer on only one of the nodes.
+
+We then send some messages via the producer, and we verify that **both** subscribers receive the sent messages.
+
+For more information on ActiveMQ Artemis clustering please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/mqtt/clustered-queue-mqtt/src/main/java/org/apache/activemq/artemis/jms/example/ClusteredQueueMQTTExample.java
----------------------------------------------------------------------
diff --git a/examples/protocols/mqtt/clustered-queue-mqtt/src/main/java/org/apache/activemq/artemis/jms/example/ClusteredQueueMQTTExample.java b/examples/protocols/mqtt/clustered-queue-mqtt/src/main/java/org/apache/activemq/artemis/jms/example/ClusteredQueueMQTTExample.java
index 0f60ac3..51845ac 100644
--- a/examples/protocols/mqtt/clustered-queue-mqtt/src/main/java/org/apache/activemq/artemis/jms/example/ClusteredQueueMQTTExample.java
+++ b/examples/protocols/mqtt/clustered-queue-mqtt/src/main/java/org/apache/activemq/artemis/jms/example/ClusteredQueueMQTTExample.java
@@ -24,8 +24,7 @@ import org.fusesource.mqtt.client.QoS;
 import org.fusesource.mqtt.client.Topic;
 
 /**
- * A simple example that demonstrates server side load-balancing of messages between the queue instances on different
- * nodes of the cluster.
+ * A simple example that demonstrates an MQTT subscription on different nodes of the cluster.
  */
 public class ClusteredQueueMQTTExample {
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/mqtt/clustered-queue-mqtt/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/mqtt/clustered-queue-mqtt/src/main/resources/activemq/server0/broker.xml b/examples/protocols/mqtt/clustered-queue-mqtt/src/main/resources/activemq/server0/broker.xml
index bc43659..c643627 100644
--- a/examples/protocols/mqtt/clustered-queue-mqtt/src/main/resources/activemq/server0/broker.xml
+++ b/examples/protocols/mqtt/clustered-queue-mqtt/src/main/resources/activemq/server0/broker.xml
@@ -17,7 +17,7 @@ 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">
         <security-enabled>false</security-enabled>
 
@@ -60,7 +60,6 @@ under the License.
 
         <cluster-connections>
             <cluster-connection name="my-cluster">
-              <!--  <address>test/+/some/#</address> -->
                 <connector-ref>netty-connector</connector-ref>
                 <retry-interval>5</retry-interval>
                 <use-duplicate-detection>true</use-duplicate-detection>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/mqtt/clustered-queue-mqtt/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/mqtt/clustered-queue-mqtt/src/main/resources/activemq/server1/broker.xml b/examples/protocols/mqtt/clustered-queue-mqtt/src/main/resources/activemq/server1/broker.xml
index 6b386da..9ffcc73 100644
--- a/examples/protocols/mqtt/clustered-queue-mqtt/src/main/resources/activemq/server1/broker.xml
+++ b/examples/protocols/mqtt/clustered-queue-mqtt/src/main/resources/activemq/server1/broker.xml
@@ -17,7 +17,7 @@ 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">
         <security-enabled>false</security-enabled>
 
@@ -60,7 +60,6 @@ under the License.
 
         <cluster-connections>
             <cluster-connection name="my-cluster">
-                <!-- <address>test/+/some/#</address> -->
                 <connector-ref>netty-connector</connector-ref>
                 <retry-interval>5</retry-interval>
                 <use-duplicate-detection>true</use-duplicate-detection>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/openwire/chat/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/chat/pom.xml b/examples/protocols/openwire/chat/pom.xml
index 382ebd0..34b0b5a 100644
--- a/examples/protocols/openwire/chat/pom.xml
+++ b/examples/protocols/openwire/chat/pom.xml
@@ -56,6 +56,16 @@ under the License.
          <artifactId>slf4j-nop</artifactId>
       </dependency>
    </dependencies>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
+
    <profiles>
       <profile>
          <id>server</id>
@@ -194,6 +204,17 @@ under the License.
             </plugins>
          </build>
       </profile>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
    </profiles>
 
 </project>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/openwire/chat/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/chat/readme.html b/examples/protocols/openwire/chat/readme.html
deleted file mode 100644
index 9cd72a4..0000000
--- a/examples/protocols/openwire/chat/readme.html
+++ /dev/null
@@ -1,53 +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 Openwire Chat 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>Openwire Chat Example</h1>
-
-     <p>This example will require multiple windows to be executed</p>
-
-     <pre>Window 1: mvn -Pserver verify</pre>
-     <pre>Window 2: mvn -Pchat1 verify</pre>
-     <pre>Window 3: mvn -Pchat2 verify</pre>
-     <pre>Window 4: mvn -Pchat3 verify</pre>
-
-
-     <p>You should be able to interact with the chat application:</p>
-
-     <pre>
-Chat application:
-=================
-The application user Chatter2 connects to the broker at tcp://localhost:61616.
-The application will publish messages to the jms.samples.chat topic.
-The application also subscribes to that topic to consume any messages published there.
-
-Type some text, and then press Enter to publish it as a TextMesssage from Chatter2.
-
-Hello guys
-Chatter2: Hello guys
-</pre>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/openwire/chat/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/chat/readme.md b/examples/protocols/openwire/chat/readme.md
new file mode 100644
index 0000000..42bf00e
--- /dev/null
+++ b/examples/protocols/openwire/chat/readme.md
@@ -0,0 +1,33 @@
+# Openwire Chat Example
+
+This example will require multiple windows to be executed
+
+Window 1: 
+
+    mvn -Pserver verify
+
+Window 2: 
+
+    mvn -Pchat1 verify
+
+Window 3:
+
+    mvn -Pchat2 verify
+
+Window 4: 
+
+    mvn -Pchat3 verify
+
+You should be able to interact with the chat application:
+
+## Chat application:
+The application user Chatter2 connects to the broker at `tcp://localhost:61616`.
+
+The application will publish messages to the `chat` address.
+
+The application also subscribes to that topic to consume any messages published there.
+
+Type some text, and then press Enter to publish it as a TextMesssage from Chatter2.
+
+    Hello guys
+    Chatter2: Hello guys
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/openwire/message-listener/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/message-listener/pom.xml b/examples/protocols/openwire/message-listener/pom.xml
index 7e695f8..db947f4 100644
--- a/examples/protocols/openwire/message-listener/pom.xml
+++ b/examples/protocols/openwire/message-listener/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/protocols/openwire/message-listener/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/message-listener/readme.html b/examples/protocols/openwire/message-listener/readme.html
deleted file mode 100644
index e46e834..0000000
--- a/examples/protocols/openwire/message-listener/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 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>JMS Queue Message Listener for openwire</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 use a MessageListener with the openwire client</p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/openwire/message-listener/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/message-listener/readme.md b/examples/protocols/openwire/message-listener/readme.md
new file mode 100644
index 0000000..04c43d3
--- /dev/null
+++ b/examples/protocols/openwire/message-listener/readme.md
@@ -0,0 +1,5 @@
+# JMS Queue Message Listener for OpenWire
+
+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 use a MessageListener with the OpenWire client
\ No newline at end of file


[11/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/scale-down/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/scale-down/readme.html b/examples/features/ha/scale-down/readme.html
deleted file mode 100644
index 4786db3..0000000
--- a/examples/features/ha/scale-down/readme.html
+++ /dev/null
@@ -1,51 +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 Scale Down 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 Colocated Failover Shared Store Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this directory.</pre>
-
-
-     <p>This example demonstrates how you can configure a live server to scale down messages to another live server on shutdown.
-     <p>This example starts 2 live servers each one with a connector configured for the other live server.</p>
-     <p>The second live server is killed and its messages are scaled down to the first server on shutdown.</p>
-     <p>The following shows how to configure the live servers to scale down to one another.</p>
-     <pre class="prettyprint">
-     <code>
-     &lt;ha-policy>
-         &lt;live-only>
-             &lt;scale-down>
-                 &lt;connectors>
-                     &lt;connector-ref>server0-connector&lt;/connector-ref>
-                 &lt;/connectors>
-             &lt;/scale-down>
-         &lt;/live-only>
-     &lt;/ha-policy>
-     </code>
-     </pre>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/scale-down/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/scale-down/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/scale-down/src/main/resources/activemq/server0/broker.xml
index 8f64759..1be0a4f 100644
--- a/examples/features/ha/scale-down/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/scale-down/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>
@@ -105,7 +103,7 @@ under the License.
       </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/ha/scale-down/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/scale-down/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/scale-down/src/main/resources/activemq/server1/broker.xml
index ea95693..23437bf 100644
--- a/examples/features/ha/scale-down/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/scale-down/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>
@@ -96,7 +94,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/ha/stop-server-failover/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/stop-server-failover/pom.xml b/examples/features/ha/stop-server-failover/pom.xml
index 4ea900f..3abccbf 100644
--- a/examples/features/ha/stop-server-failover/pom.xml
+++ b/examples/features/ha/stop-server-failover/pom.xml
@@ -155,7 +155,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/ha/stop-server-failover/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/stop-server-failover/readme.html b/examples/features/ha/stop-server-failover/readme.html
deleted file mode 100644
index 9486cd6..0000000
--- a/examples/features/ha/stop-server-failover/readme.html
+++ /dev/null
@@ -1,44 +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 Failover Without Transactions 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 Failover Without Transactions 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 demonstrates two servers coupled as a live-backup pair for high availability (HA), and a client
-     connection failing over from live to backup when the live server is crashed.</p>
-     <p>Failover behavior differs whether the JMS session is transacted or not.</p>
-     <p>When a <em>non-transacted</em> JMS session is used, once and only once delivery is not guaranteed
-        and it is possible some messages will be lost or delivered twice, depending when the failover to the backup server occurs.</p>
-     <p>It is up to the client to deal with such cases. To ensure once and only once delivery, the client must
-        use transacted JMS sessions (as shown in the example for <a href="../transaction-failover/readme.html">failover with transactions</a>).</p>
-     <p>For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering
-     section of the user manual.</p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/transaction-failover/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/transaction-failover/pom.xml b/examples/features/ha/transaction-failover/pom.xml
index df482e9..a46a767 100644
--- a/examples/features/ha/transaction-failover/pom.xml
+++ b/examples/features/ha/transaction-failover/pom.xml
@@ -97,7 +97,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/ha/transaction-failover/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/transaction-failover/readme.html b/examples/features/ha/transaction-failover/readme.html
deleted file mode 100644
index 15f119f..0000000
--- a/examples/features/ha/transaction-failover/readme.html
+++ /dev/null
@@ -1,46 +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 Failover With Transaction 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 Failover With Transaction Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this directory.</pre>
-
-
-     <p>This example demonstrates two servers coupled as a live-backup pair for high availability (HA), and a client
-     connection failing over from live to backup when the live server is crashed.</p>
-     <p>Failover behavior differs whether the JMS session is transacter or not.</p>
-     <p>When a <em>transacted</em> JMS session is used, once-and-only once delivery is guaranteed.</p>
-     <ul>
-        <li>if the failover occurs while there is an in-flight transaction, the transaction will be flagged as <em>rollback only</em>. In that case, the JMS client
-           will need to retry the transaction work.</li>
-        <li>if the failover occurs while there is <em>no</em> in-flight transaction, the failover will be transparent to the user.</li>
-     </ul>
-     <p>ActiveMQ Artemis also provides an example for <a href="../non-transactional-failover/readme.html">non-transaction failover</a>.</p>
-     <p>For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/transaction-failover/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/transaction-failover/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/transaction-failover/src/main/resources/activemq/server0/broker.xml
index 4c691a2..8617372 100644
--- a/examples/features/ha/transaction-failover/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/transaction-failover/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>
@@ -86,7 +84,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/ha/transaction-failover/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/transaction-failover/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/transaction-failover/src/main/resources/activemq/server1/broker.xml
index 2500a14..450405f 100644
--- a/examples/features/ha/transaction-failover/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/transaction-failover/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>
@@ -86,7 +84,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/perf/perf/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/perf/perf/pom.xml b/examples/features/perf/perf/pom.xml
index ae011eb..39d111f 100644
--- a/examples/features/perf/perf/pom.xml
+++ b/examples/features/perf/perf/pom.xml
@@ -61,9 +61,17 @@ under the License.
          <artifactId>qpid-jms-client</artifactId>
          <version>${qpid.jms.version}</version>
       </dependency>
-
    </dependencies>
 
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
+
    <profiles>
       <profile>
          <id>server</id>
@@ -165,5 +173,16 @@ under the License.
             </plugins>
          </build>
       </profile>
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
    </profiles>
 </project>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/perf/perf/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/perf/perf/readme.html b/examples/features/perf/perf/readme.html
deleted file mode 100644
index ab2d50e..0000000
--- a/examples/features/perf/perf/readme.html
+++ /dev/null
@@ -1,39 +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 Queue Selector 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 Simple Performance</h1>
-
-    <p>To start the server run <code>mvn verify -Pserver</code></p>
-
-    <p>To start the listener run <code>mvn -Plistener verify</code></p>
-
-    <p>To start the sender run <code>mvn -Psender verify</code></p>
-
-    <p>To configure the clients simply edit the <code>perf.properties</code> or <code>client.jndi.properties</code> in the
-        <code>src/main/resources</code> directory</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/perf/soak/README
----------------------------------------------------------------------
diff --git a/examples/features/perf/soak/README b/examples/features/perf/soak/README
deleted file mode 100644
index b69a1ac..0000000
--- a/examples/features/perf/soak/README
+++ /dev/null
@@ -1,85 +0,0 @@
-****************************************************
-* Soak Test For Manual Reconnection of JMS Clients *
-****************************************************
-
-Running the Soak Tests
-=======================
-
-Run The Server Standalone
-==========================
-
-Use the Profile server
-   mvn -Pserver verify
-
-That will create a server under ./target/server0
-
-
-You can define the property server.dir under the same Profile to create other servers. or you could do it manually if desired using the regular ./artemis create
-
-   $ mvn -Dserver.dir=server1 -Pserver verify
-
-server1 should contain a copy of configuration equivalent to that found under the server0 director with different
-settings.
-
-To run a server with the same configuration but on a different host.  Check out this source on the host machine and
-change:
-* activemq.remoting.netty.host property in broker.xml
-* bindAddress and rmiBindAddress properties in activemq-beans.xml
-
-  $ mvn verify -P server
-
-
-To run the server just start it manually
-
-Configure Server Dump
-=====================
-
-The server can "dump" info at regular interval. In broker.xml, set
-
-   <server-dump-interval>10000</server-dump-interval>
-
-to have infos every 10s:
-
-**** Server Dump ****
-date:            Mon Aug 17 18:19:07 CEST 2009
-free memory:      500,79 MiB
-max memory:       1,95 GiB
-total memory:     507,13 MiB
-available memory: 99,68%
-total paging memory:   0,00 B
-# of thread:     19
-# of conns:      0
-********************
-
-Run The Clients
-===============
-
-The clients can be run separate from the server using:
-
-  $ mvn verify -Premote
-
-Parameters are specified in soak.properties.
-
-The duration of the tests is configured by duration-in-minutes (defaults to 2 minutes, set to
--1 to run the test indefinitely).
-
-To configure the soak properties different to the defaults for the clients, use the system property
-To specify the JNDI server to connect to, use the system property jndi.address
-
-  $ mvn verify -Premote -Dsoak.props=<path to properties> -Pjndi.address=jnp:remote.host:1099
-
-Every 1000th message, the clients will display their recent activity:
-
-INFO: received 10000 messages in 5,71s (total: 55s)
-
-At the end of the run, the sender and receiver will sum up their activity:
-
-INFO: Received 223364 messages in 2,01 minutes
-
-Kill The Server And Check Manual Reconnection
-==============================================
-
-You can kill the server (ctl+c or kill -9), the clients are configured to reconnect
-indefinitely to the same single server (even in case of clean shutdown)
-Once the server restarts, all the clients will resume their activities after reconnecting
-to the server.

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/perf/soak/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/perf/soak/pom.xml b/examples/features/perf/soak/pom.xml
index 360c2c4..f6a6595 100644
--- a/examples/features/perf/soak/pom.xml
+++ b/examples/features/perf/soak/pom.xml
@@ -44,6 +44,15 @@ under the License.
       <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
    </properties>
 
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
+
    <profiles>
       <profile>
          <id>server</id>
@@ -157,6 +166,16 @@ under the License.
             </plugins>
          </build>
       </profile>
-
+      <profile>
+         <id>release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>com.vladsch.flexmark</groupId>
+                  <artifactId>markdown-page-generator-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
    </profiles>
 </project>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/perf/soak/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/perf/soak/readme.md b/examples/features/perf/soak/readme.md
new file mode 100644
index 0000000..efc93b7
--- /dev/null
+++ b/examples/features/perf/soak/readme.md
@@ -0,0 +1,70 @@
+# Soak Test For Manual Reconnection of JMS Clients *
+
+## Run The Server Standalone
+
+Use the Profile server
+
+    mvn -Pserver verify
+
+That will create a broker under ./target/server0
+
+You can define the property server.dir under the same Profile to create other servers. or you could do it manually if desired using the regular ./artemis create
+
+    mvn -Dserver.dir=server1 -Pserver verify
+
+server1 should contain a copy of configuration equivalent to that found under the server0 director with different
+settings.
+
+To run a broker with the same configuration but on a different host.  Check out this source on the host machine and
+change:
+
+* `activemq.remoting.netty.host` property in broker.xml
+
+    mvn verify -P server
+
+To run the broker just start it manually
+
+## Configure Server Dump
+
+The broker can "dump" info at regular interval. In broker.xml, set
+
+    <server-dump-interval>10000</server-dump-interval>
+
+to have infos every 10s:
+
+    **** Server Dump ****
+    date:            Mon Aug 17 18:19:07 CEST 2009
+    free memory:      500,79 MiB
+    max memory:       1,95 GiB
+    total memory:     507,13 MiB
+    available memory: 99,68%
+    total paging memory:   0,00 B
+    # of thread:     19
+    # of conns:      0
+    ********************
+
+## Run The Clients
+
+The clients can be run separate from the broker using:
+
+    mvn verify -Premote
+
+Parameters are specified in soak.properties.
+
+The duration of the tests is configured by duration-in-minutes (defaults to 2 minutes, set to -1 to run the test indefinitely).
+
+To configure the soak properties different to the defaults for the clients, use the system property to specify the JNDI broker to connect to, use the system property `jndi.address`:
+
+    mvn verify -Premote -Dsoak.props=<path to properties> -Pjndi.address=jnp:remote.host:1099
+
+Every 1000th message, the clients will display their recent activity:
+
+    INFO: received 10000 messages in 5,71s (total: 55s)
+
+At the end of the run, the sender and receiver will sum up their activity:
+
+    INFO: Received 223364 messages in 2,01 minutes
+
+## Kill The Server And Check Manual Reconnection
+
+You can kill the broker (ctl+c or kill -9), the clients are configured to reconnect indefinitely to the same single broker (even in case of clean shutdown) Once the broker restarts, all the clients will resume their activities after reconnecting to the server.

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/perf/soak/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/perf/soak/server0/broker.xml b/examples/features/perf/soak/server0/broker.xml
index 7fc57d3..a36bd1a 100644
--- a/examples/features/perf/soak/server0/broker.xml
+++ b/examples/features/perf/soak/server0/broker.xml
@@ -16,8 +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">
       <connectors>
          <connector name="netty-connector">tcp://localhost:61616?tcpNoDelay=false;tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576</connector>
@@ -35,7 +35,7 @@ under the License.
       <server-dump-interval>30000</server-dump-interval>
 
       
-   <addresses>
+      <addresses>
          <address name="soakQueue">
             <anycast>
                <queue name="jms.queue.soakQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/README.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/README.md b/examples/features/standard/README.md
index e9d9e36..c26876f 100644
--- a/examples/features/standard/README.md
+++ b/examples/features/standard/README.md
@@ -7,7 +7,7 @@ To run an individual example firstly cd into the example directory and run
 mvn verify
 ```
 
-Most examples offer a way to start them without creating and starting the server (say if you want to do it manually)
+Most examples offer a way to start them without creating and starting the broker (say if you want to do it manually)
 
 ```sh
 mvn verify -PnoServer

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/bridge/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/bridge/pom.xml b/examples/features/standard/bridge/pom.xml
index e525763..1e58fdf 100644
--- a/examples/features/standard/bridge/pom.xml
+++ b/examples/features/standard/bridge/pom.xml
@@ -160,7 +160,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
+   <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>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/bridge/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/bridge/readme.html b/examples/features/standard/bridge/readme.html
deleted file mode 100644
index 698c6c2..0000000
--- a/examples/features/standard/bridge/readme.html
+++ /dev/null
@@ -1,74 +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 Core Bridge 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>Core Bridge 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 demonstrates a core bridge deployed on one server, which consumes messages from a
-     local queue and forwards them to an address on a second server.</p>
-
-     <p>Core bridges are used to create message flows between any two ActiveMQ Artemis servers which are remotely separated.
-     Core bridges are resilient and will cope with temporary connection failure allowing them to be an ideal
-     choice for forwarding over unreliable connections, e.g. a WAN.</p>
-     <p>They can also be configured with an optional filter expression, and will only forward messages that
-     match that filter.</p>
-     <p>Furthermore they can be configured to use an optional Transformer class. A user-defined Transformer class
-     can be specified which is called at forwarding time. This gives the user the opportunity to transform
-     the message in some ways, e.g. changing its properties or body</p>
-     <p>ActiveMQ Artemis also includes a <b>JMS Bridge</b>. This is similar to a core bridge, but uses the JMS API
-     and can be used to bridge between any two JMS 1.1 compliant messaging systems. The core bridge is limited to bridging
-     between ActiveMQ Artemis instances, but may provide better performance than the JMS bridge. The JMS bridge is covered in
-     a separate example.</p>
-     <p>For more information on bridges, please see the ActiveMQ Artemis user manual.</p>
-
-     <p>In this example we will demonstrate a simple sausage factory for aardvarks.</p>
-     <p>We have a JMS queue on server 0 named <code>sausage-factory</code>, and we have a
-     JMS queue on server 1 named <code>mincing-machine</code></p>
-     <p>We want to forward any messages that are sent to the <code>sausage-factory</code> queue on server 0, to the <code>mincing-machine</code>
-     on server 1.</p>
-     <p>We only want to make aardvark sausages, so we only forward messages where the property "name" is set
-     to "aardvark". It is known that other things, such are Sasquatches are also sent to the <code>sausage-factory</code> and we
-     want to reject those.</p>
-     <p>Moreover it is known that Aardvarks normally wear blue hats, and it's important that we only make sausages using
-     Aardvarks with green hats, so on the way we are going transform the property "hat" from "green" to "blue".</p>
-     <p>Here's a snippet from <code>broker.xml</code> showing the bridge configuration</p>
-     <pre class="prettyprint">
-     <code>
-     &lt;bridge name="my-bridge"&gt;
-          &lt;queue-name&gt;jms.queue.sausage-factory&lt;/queue-name&gt;
-          &lt;forwarding-address&gt;jms.queue.mincing-machine&lt;/forwarding-address&gt;
-          &lt;filter string="name='aardvark'"/&gt;
-          &lt;transformer-class-name&gt;org.apache.activemq.artemis.jms.example.HatColourChangeTransformer&lt;/transformer-class-name&gt;
-          &lt;reconnect-attempts&gt;-1&lt;/reconnect-attempts&gt;
-          &lt;static-connectors>
-             &lt;connector-ref>remote-connector&lt;/connector-ref>
-          &lt;/static-connectors>
-     &lt;/bridge&gt;
-     </code>
-     </pre>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/bridge/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/bridge/readme.md b/examples/features/standard/bridge/readme.md
new file mode 100644
index 0000000..66fcb75
--- /dev/null
+++ b/examples/features/standard/bridge/readme.md
@@ -0,0 +1,38 @@
+# Core Bridge 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 demonstrates a core bridge deployed on one server, which consumes messages from a local queue and forwards them to an address on a second server.
+
+Core bridges are used to create message flows between any two ActiveMQ Artemis servers which are remotely separated. Core bridges are resilient and will cope with temporary connection failure allowing them to be an ideal choice for forwarding over unreliable connections, e.g. a WAN.
+
+They can also be configured with an optional filter expression, and will only forward messages that match that filter.
+
+Furthermore they can be configured to use an optional Transformer class. A user-defined Transformer class can be specified which is called at forwarding time. This gives the user the opportunity to transform the message in some ways, e.g. changing its properties or body
+
+ActiveMQ Artemis also includes a **JMS Bridge**. This is similar to a core bridge, but uses the JMS API and can be used to bridge between any two JMS 1.1 compliant messaging systems. The core bridge is limited to bridging between ActiveMQ Artemis instances, but may provide better performance than the JMS bridge. The JMS bridge is covered in a separate example.
+
+For more information on bridges, please see the ActiveMQ Artemis user manual.
+
+In this example we will demonstrate a simple sausage factory for aardvarks.
+
+We have a JMS queue on broker 0 named `sausage-factory`, and we have a JMS queue on broker 1 named `mincing-machine`
+
+We want to forward any messages that are sent to the `sausage-factory` queue on broker 0, to the `mincing-machine` on broker 1.
+
+We only want to make aardvark sausages, so we only forward messages where the property `name` is set to `aardvark`. It is known that other things, such are Sasquatches are also sent to the `sausage-factory` and we want to reject those.
+
+Moreover it is known that Aardvarks normally wear blue hats, and it's important that we only make sausages using Aardvarks with green hats, so on the way we are going transform the property `hat` from `green` to `blue`.
+
+Here's a snippet from `broker.xml` showing the bridge configuration
+
+    <bridge name="my-bridge">
+       <queue-name>jms.queue.sausage-factory</queue-name>
+       <forwarding-address>jms.queue.mincing-machine</forwarding-address>
+       <filter string="name='aardvark'"/>
+       <transformer-class-name>org.apache.activemq.artemis.jms.example.HatColourChangeTransformer</transformer-class-name>
+       <reconnect-attempts>-1</reconnect-attempts>
+       <static-connectors>
+          <connector-ref>remote-connector</connector-ref>
+       </static-connectors>
+    </bridge>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/bridge/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/bridge/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/bridge/src/main/resources/activemq/server0/broker.xml
index afb3cd6..50471ba 100644
--- a/examples/features/standard/bridge/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/bridge/src/main/resources/activemq/server0/broker.xml
@@ -16,7 +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">
@@ -72,7 +73,7 @@ under the License.
             <permission roles="guest" type="send"/>
          </security-setting>
       </security-settings>
-   <addresses>
+      <addresses>
          <address name="sausage-factory">
             <anycast>
                <queue name="sausage-factory"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/bridge/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/bridge/src/main/resources/activemq/server1/broker.xml b/examples/features/standard/bridge/src/main/resources/activemq/server1/broker.xml
index 8952c62..c260d7c 100644
--- a/examples/features/standard/bridge/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/standard/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">
-
-   
-   <core xmlns="urn:activemq:core">
+-->
+<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>
 
@@ -47,7 +45,7 @@ under the License.
             <permission roles="guest" type="send"/>
          </security-setting>
       </security-settings>
-   <addresses>
+      <addresses>
          <address name="mincing-machine">
             <anycast>
                <queue name="mincing-machine"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/broker-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/broker-plugin/pom.xml b/examples/features/standard/broker-plugin/pom.xml
index 1c89064..0cd1da5 100644
--- a/examples/features/standard/broker-plugin/pom.xml
+++ b/examples/features/standard/broker-plugin/pom.xml
@@ -120,7 +120,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
+   <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>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/broker-plugin/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/broker-plugin/readme.html b/examples/features/standard/broker-plugin/readme.html
deleted file mode 100644
index e76ae08..0000000
--- a/examples/features/standard/broker-plugin/readme.html
+++ /dev/null
@@ -1,34 +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 QueueBrowser 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>Broker Plugin 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>AMQP Messages should be by definition immutable at the server's. So, we don't recommend changing message contents.
-         However if you require you can use this example as a basis for adding properties on making changes</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/broker-plugin/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/broker-plugin/readme.md b/examples/features/standard/broker-plugin/readme.md
new file mode 100644
index 0000000..8862e73
--- /dev/null
+++ b/examples/features/standard/broker-plugin/readme.md
@@ -0,0 +1,5 @@
+# Broker Plugin 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.
+
+AMQP Messages should be by definition immutable at the server's. So, we don't recommend changing message contents. However if you require you can use this example as a basis for adding properties on making changes
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/browser/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/browser/pom.xml b/examples/features/standard/browser/pom.xml
index b6bdfe2..af2274e 100644
--- a/examples/features/standard/browser/pom.xml
+++ b/examples/features/standard/browser/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/browser/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/browser/readme.html b/examples/features/standard/browser/readme.html
deleted file mode 100644
index 9f9e01a..0000000
--- a/examples/features/standard/browser/readme.html
+++ /dev/null
@@ -1,40 +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 QueueBrowser 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 QueueBrowser 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 use a JMS <a href="http://java.sun.com/javaee/5/docs/api/javax/jms/QueueBrowser.html">QueueBrowser</a> with ActiveMQ Artemis.<br />
-     Queues are a standard part of JMS, please consult the JMS 1.1 specification for full details.<br />
-     A QueueBrowser is used to look at messages on the queue without removing them.
-     It can scan the entire content of a queue or only messages matching a message selector.</p>
-     <p>
-         The example will send 2 messages on a queue, use a QueueBrowser to browse
-         the queue (looking at the message without removing them) and finally consume the 2 messages
-     </p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/browser/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/browser/readme.md b/examples/features/standard/browser/readme.md
new file mode 100644
index 0000000..4f9cf31
--- /dev/null
+++ b/examples/features/standard/browser/readme.md
@@ -0,0 +1,11 @@
+# JMS QueueBrowser 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 use a JMS [QueueBrowser](http://java.sun.com/javaee/5/docs/api/javax/jms/QueueBrowser.html) with ActiveMQ Artemis.
+
+Queues are a standard part of JMS, please consult the JMS 1.1 specification for full details.
+
+A QueueBrowser is used to look at messages on the queue without removing them. It can scan the entire content of a queue or only messages matching a message selector.
+
+The example will send 2 messages on a queue, use a QueueBrowser to browse the queue (looking at the message without removing them) and finally consume the 2 messages.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/cdi/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/cdi/readme.md b/examples/features/standard/cdi/readme.md
index 7e981ca..3cf4c68 100644
--- a/examples/features/standard/cdi/readme.md
+++ b/examples/features/standard/cdi/readme.md
@@ -17,7 +17,7 @@
 # under the License.
 #
 -->
-# ActiveMQ Artemis CDI Integration Example
+# CDI Example
 
 This is a simple example that demonstrates how to use CDI to integrate with ActiveMQ Artemis on the client side.  It is designed mainly for connecting to a remote broker rather than embedding within your application.
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/client-kickoff/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/client-kickoff/pom.xml b/examples/features/standard/client-kickoff/pom.xml
index 5b51591..4d3d2d3 100644
--- a/examples/features/standard/client-kickoff/pom.xml
+++ b/examples/features/standard/client-kickoff/pom.xml
@@ -105,7 +105,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/client-kickoff/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/client-kickoff/readme.html b/examples/features/standard/client-kickoff/readme.html
deleted file mode 100644
index 67d17db..0000000
--- a/examples/features/standard/client-kickoff/readme.html
+++ /dev/null
@@ -1,54 +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 Client Kickoff 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>Client Kickoff 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 kick off a client connected to ActiveMQ
-         using <a href="http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/">JMX</a></p>
-
-     <p>The example will connect to ActiveMQ Artemis. Using JMX, we will list the remote addresses connected to the
-         server and close the corresponding connections. The client will be kicked off from ActiveMQ Artemis receiving
-         an exception that its JMS connection was interrupted.</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, the Java Virtual machine must be started with system properties:
-         <pre class="prettyprint">
-             <code>-Dcom.sun.management.jmxremote
-             -Dcom.sun.management.jmxremote.port=3000
-             -Dcom.sun.management.jmxremote.ssl=false
-             -Dcom.sun.management.jmxremote.authenticate=false</code>
-        </pre>
-        <p>These properties are explained in the Java <a href="http://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html#gdenl">management guide</a>
-            (please note that for this example, we will disable user authentication for simplicity).</p>
-        <p>With these properties, ActiveMQ Artemis server will be manageable remotely using standard JMX URL on port <code>3000</code>.</p>
-     </p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/client-kickoff/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/client-kickoff/readme.md b/examples/features/standard/client-kickoff/readme.md
new file mode 100644
index 0000000..b822df9
--- /dev/null
+++ b/examples/features/standard/client-kickoff/readme.md
@@ -0,0 +1,22 @@
+# Client Kickoff 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 kick off a client connected to ActiveMQ using [JMX](http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/)
+
+The example will connect to ActiveMQ Artemis. Using JMX, we will list the remote addresses connected to the broker and close the corresponding connections. The client will be kicked off from ActiveMQ Artemis receiving an exception that its JMS connection was interrupted.
+
+## Example configuration
+
+ActiveMQ Artemis exposes its managed resources by default on the platform MBeanServer.
+
+To access this MBeanServer remotely, the Java Virtual machine must be started with system properties:
+
+    -Dcom.sun.management.jmxremote
+    -Dcom.sun.management.jmxremote.port=3000
+    -Dcom.sun.management.jmxremote.ssl=false
+    -Dcom.sun.management.jmxremote.authenticate=false
+
+These properties are explained in the Java [management guide](http://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html#gdenl) (please note that for this example, we will disable user authentication for simplicity).
+
+With these properties, ActiveMQ Artemis broker will be manageable remotely using standard JMX URL on port `3000`.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/client-kickoff/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/client-kickoff/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/client-kickoff/src/main/resources/activemq/server0/broker.xml
index 455eabe..9530a31 100644
--- a/examples/features/standard/client-kickoff/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/client-kickoff/src/main/resources/activemq/server0/broker.xml
@@ -16,9 +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>
@@ -36,7 +35,5 @@ under the License.
       <acceptors>
          <acceptor name="netty">tcp://localhost:61616</acceptor>
       </acceptors>
-   <addresses/>
    </core>
-
 </configuration>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/consumer-rate-limit/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/consumer-rate-limit/pom.xml b/examples/features/standard/consumer-rate-limit/pom.xml
index 791063c..6357f20 100644
--- a/examples/features/standard/consumer-rate-limit/pom.xml
+++ b/examples/features/standard/consumer-rate-limit/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/consumer-rate-limit/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/consumer-rate-limit/readme.html b/examples/features/standard/consumer-rate-limit/readme.html
deleted file mode 100644
index 415de00..0000000
--- a/examples/features/standard/consumer-rate-limit/readme.html
+++ /dev/null
@@ -1,47 +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 Message Consumer Rate Limiting</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 Message Consumer Rate Limiting</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>With ActiveMQ Artemis you can specify a maximum consume rate at which a JMS MessageConsumer will consume messages.
-     This can be specified when creating or configuring the connection factory. See <code>jndi.properties</code>.</p>
-     <p>If this value is specified then ActiveMQ Artemis will ensure that messages are never consumed at a rate higher than
-     the specified rate. This is a form of consumer <i>throttling</i>.</p>
-     <h2>Example step-by-step</h2>
-     <p>In this example we specify a <code>consumer-max-rate</code> of <code>10</code> messages per second in the <code>jndi.properties</code>
-     file when configuring the connection factory:</p>
-     <pre class="prettyprint">
-     <code>
-connectionFactory.ConnectionFactory=tcp://localhost:61616?consumerMaxRate=10
-     </code>
-     </pre>
-     <p>We then simply consume as many messages as we can in 10 seconds and note how many messages are actually consumed.</p>
-     <p>We note that the number of messages consumed per second never exceeds the specified value of <code>10</code> messages per second.</p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/consumer-rate-limit/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/consumer-rate-limit/readme.md b/examples/features/standard/consumer-rate-limit/readme.md
new file mode 100644
index 0000000..923c068
--- /dev/null
+++ b/examples/features/standard/consumer-rate-limit/readme.md
@@ -0,0 +1,17 @@
+# JMS Message Consumer Rate Limiting
+
+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.
+
+With ActiveMQ Artemis you can specify a maximum consume rate at which a JMS MessageConsumer will consume messages. This can be specified when creating or configuring the connection factory. See `jndi.properties`.
+
+If this value is specified then ActiveMQ Artemis will ensure that messages are never consumed at a rate higher than the specified rate. This is a form of consumer _throttling_.
+
+## Example step-by-step
+
+In this example we specify a `consumer-max-rate` of `10` messages per second in the `jndi.properties` file when configuring the connection factory:
+
+    connectionFactory.ConnectionFactory=tcp://localhost:61616?consumerMaxRate=10
+
+We then simply consume as many messages as we can in 10 seconds and note how many messages are actually consumed.
+
+We note that the number of messages consumed per second never exceeds the specified value of `10` messages per second.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/dead-letter/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/dead-letter/pom.xml b/examples/features/standard/dead-letter/pom.xml
index 288f06d..a67975a 100644
--- a/examples/features/standard/dead-letter/pom.xml
+++ b/examples/features/standard/dead-letter/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/dead-letter/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/dead-letter/readme.html b/examples/features/standard/dead-letter/readme.html
deleted file mode 100644
index e293936..0000000
--- a/examples/features/standard/dead-letter/readme.html
+++ /dev/null
@@ -1,66 +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 Dead Letter 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>Dead Letter 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 define and deal with dead letter messages.</p>
-     <p>Messages can be delivered unsuccessfully (e.g. if the transacted session used to consume them is rolled back).
-         Such a message goes back to the JMS destination ready to be redelivered.
-         However, this means it is possible for a message to be delivered again and again without any success and remain in the destination, clogging the system.</p>
-     <p>To prevent this, messaging systems define dead letter messages: after a specified unsuccessful delivery attempts, the message is removed from the destination
-         and instead routed to a <em>dead letter address</em> where they can be consumed for further investigation.
-     <p>
-         The example will show how to configure ActiveMQ Artemis to route a message to a dead letter address after 3 unsuccessful delivery attempts.<br />
-         The example will send 1 message to a queue. We will deliver the message 3 times and rollback the session every time.<br />
-         On the 4th attempt, there won't be any message to consume: it will have been moved to a <em>dead letter address</em>.<br />
-         We will then consume this dead letter message.
-     </p>
-     <h2>Example setup</h2>
-     <p><em>Dead letter addresses</em> and <em>maximum delivery attempts</em> are defined in the configuration file <a href="src/main/resources/activemq/server0/broker.xml">broker.xml</a>:</p>
-     <pre class="prettyprint">
-         <code>&lt;address-setting match="jms.queue.exampleQueue"&gt;
-            &lt;dead-letter-address&gt;jms.queue.deadLetterQueue&lt;/dead-letter-address&gt;
-            &lt;max-delivery-attempts&gt;3&lt;/max-delivery-attempts&gt;
-         &lt;/address-setting&gt;
-         </code>
-     </pre>
-     <p>This configuration will moved dead letter messages from <code>exampleQueue</code> to the <code>deadLetterQueue</code>.</p>
-     <p>ActiveMQ Artemis allows to specify either a <code>Queue</code> by prefixing the <code>dead-letter-address</code> with <code>jms.queue.</code>
-         or a <code>Topic</code> by prefixing with <code>jms.topic.</code>.<br />
-         In this example, we will use a <code>Queue</code> to hold the dead letter messages.</p>
-     <p>The maximum attempts of delivery is <code>3</code>. Once this figure is reached, a message is considered a dead letter message and is moved to
-         the <code>deadLetterQueue</code>.
-     <p>Since we want to consume messages from this deadLetterQueue, we also need to add a JNDI binding to perform a lookup.
-         This is configured in <a href="src/main/resources/activemq/server0/activemq-jms.xml">activemq-jms.xml</a></p>
-     <pre class="prettyprint">
-         <code>&lt;queue name="deadLetterQueue"&gt;
-            &lt;entry name="/queue/deadLetterQueue"/&gt;
-         &lt;/queue&gt;</code>
-     </pre>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/dead-letter/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/dead-letter/readme.md b/examples/features/standard/dead-letter/readme.md
new file mode 100644
index 0000000..68a5adc
--- /dev/null
+++ b/examples/features/standard/dead-letter/readme.md
@@ -0,0 +1,32 @@
+# Dead Letter 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 define and deal with dead letter messages.
+
+Messages can be delivered unsuccessfully (e.g. if the transacted session used to consume them is rolled back). Such a message goes back to the JMS destination ready to be redelivered. However, this means it is possible for a message to be delivered again and again without any success and remain in the destination, clogging the system.
+
+To prevent this, messaging systems define dead letter messages: after a specified unsuccessful delivery attempts, the message is removed from the destination and instead routed to a _dead letter address_ where they can be consumed for further investigation.
+
+The example will show how to configure ActiveMQ Artemis to route a message to a dead letter address after 3 unsuccessful delivery attempts.
+
+The example will send 1 message to a queue. We will deliver the message 3 times and rollback the session every time.
+
+On the 4th attempt, there won't be any message to consume: it will have been moved to a _dead letter address_.
+
+We will then consume this dead letter message.
+
+## Example setup
+
+_Dead letter addresses_ and _maximum delivery attempts_ are defined in the configuration file [broker.xml](src/main/resources/activemq/server0/broker.xml):
+
+    <address-setting match="exampleQueue">
+       <dead-letter-address>deadLetterQueue</dead-letter-address>
+       <max-delivery-attempts>3</max-delivery-attempts>
+    </address-setting>
+
+This configuration will moved dead letter messages from `exampleQueue` to the `deadLetterQueue`.
+
+ActiveMQ Artemis allows to specify either an address or a queue. In this example, we will use a queue to hold the dead letter messages.
+
+The maximum attempts of delivery is `3`. Once this figure is reached, a message is considered a dead letter message and is moved to the `deadLetterQueue`.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/dead-letter/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/dead-letter/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/dead-letter/src/main/resources/activemq/server0/broker.xml
index f3675a7..b01abf6 100644
--- a/examples/features/standard/dead-letter/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/dead-letter/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>
@@ -57,7 +55,7 @@ under the License.
          </address-setting>
       </address-settings>
 
-   <addresses>
+      <addresses>
          <address name="deadLetterQueue">
             <anycast>
                <queue name="deadLetterQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/delayed-redelivery/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/delayed-redelivery/pom.xml b/examples/features/standard/delayed-redelivery/pom.xml
index 6d225ba..4f9737d 100644
--- a/examples/features/standard/delayed-redelivery/pom.xml
+++ b/examples/features/standard/delayed-redelivery/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>
-
+   <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>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/delayed-redelivery/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/standard/delayed-redelivery/readme.html b/examples/features/standard/delayed-redelivery/readme.html
deleted file mode 100644
index e535c47..0000000
--- a/examples/features/standard/delayed-redelivery/readme.html
+++ /dev/null
@@ -1,56 +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 Delayed Redelivery 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>Delayed Redelivery 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 demonstrates how ActiveMQ Artemis can be configured to provide a delayed redelivery in the case
-     where a message needs to be redelivered.</p>
-     <p>Delaying redelivery can often be useful in the case that clients regularly fail or roll-back. Without a delayed
-     redelivery, the system can get into a "thrashing" state, with delivery being attempted, the client rolling back, and
-     delivery being re-attempted ad infinitum in quick succession, using up valuable CPU and network resources.</p>
-     <p>Re-delivery occurs when the session is closed with unacknowledged messages. The unacknowledged messages will
-     be redelivered.</p>
-     <p>By providing a redelivery delay, it can be specified that a delay of, say, 10 seconds is implemented between rollback
-     and redelivery. The specific delay is configurable on both a global and per destination level, by using wild-card
-     matching on the address settings.</p>
-
-     <h2>Example setup</h2>
-     <p>Redelivery delay is specified in the configuration file <a href="src/main/resources/activemq/server0/broker.xml">broker.xml</a>:</p>
-     <p>In this example we set the redelivery delay to 5 seconds for the specific example queue. We could set redelivery delay on
-     on multiple queues by specifying a wild-card in the match, e.g. <code>match="jms.#"</code> would apply the settings
-     to all JMS queues and topics.</p>
-     <p>We then consume a message in a transacted session, and rollback, and note that the message is not redelivered until
-     after 5 seconds.</p>
-     <pre class="prettyprint">
-         <code>&lt;address-setting match="jms.queue.exampleQueue"&gt;
-            &lt;redelivery-delay&gt;5000&lt;/redelivery-delay&gt;
-         &lt;/address-setting&gt;
-         </code>
-     </pre>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/delayed-redelivery/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/standard/delayed-redelivery/readme.md b/examples/features/standard/delayed-redelivery/readme.md
new file mode 100644
index 0000000..cd3b529
--- /dev/null
+++ b/examples/features/standard/delayed-redelivery/readme.md
@@ -0,0 +1,23 @@
+# Delayed Redelivery 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 demonstrates how ActiveMQ Artemis can be configured to provide a delayed redelivery in the case where a message needs to be redelivered.
+
+Delaying redelivery can often be useful in the case that clients regularly fail or roll-back. Without a delayed redelivery, the system can get into a "thrashing" state, with delivery being attempted, the client rolling back, and delivery being re-attempted ad infinitum in quick succession, using up valuable CPU and network resources.
+
+Re-delivery occurs when the session is closed with unacknowledged messages. The unacknowledged messages will be redelivered.
+
+By providing a redelivery delay, it can be specified that a delay of, say, 10 seconds is implemented between rollback and redelivery. The specific delay is configurable on both a global and per destination level, by using wild-card matching on the address settings.
+
+## Example setup
+
+Redelivery delay is specified in the configuration file [broker.xml](src/main/resources/activemq/server0/broker.xml):
+
+In this example we set the redelivery delay to 5 seconds for the specific example queue. We could set redelivery delay on on multiple queues by specifying a wild-card in the match, e.g. `match="jms.#"` would apply the settings to all JMS queues and topics.
+
+We then consume a message in a transacted session, and rollback, and note that the message is not redelivered until after 5 seconds.
+
+    <address-setting match="exampleQueue">
+       <redelivery-delay>5000</redelivery-delay>
+    </address-setting>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/delayed-redelivery/src/main/java/org/apache/activemq/artemis/jms/example/DelayedRedeliveryExample.java
----------------------------------------------------------------------
diff --git a/examples/features/standard/delayed-redelivery/src/main/java/org/apache/activemq/artemis/jms/example/DelayedRedeliveryExample.java b/examples/features/standard/delayed-redelivery/src/main/java/org/apache/activemq/artemis/jms/example/DelayedRedeliveryExample.java
index e70fd6c..9d69154 100644
--- a/examples/features/standard/delayed-redelivery/src/main/java/org/apache/activemq/artemis/jms/example/DelayedRedeliveryExample.java
+++ b/examples/features/standard/delayed-redelivery/src/main/java/org/apache/activemq/artemis/jms/example/DelayedRedeliveryExample.java
@@ -29,7 +29,7 @@ import javax.naming.InitialContext;
  * This example demonstrates how ActiveMQ Artemis can be configured with a redelivery delay in the event a message
  * is redelivered.
  *
- * Please see the readme.html for more information
+ * Please see the readme for more information
  */
 public class DelayedRedeliveryExample {
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/delayed-redelivery/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/delayed-redelivery/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/delayed-redelivery/src/main/resources/activemq/server0/broker.xml
index d86844b..cf83c7d 100644
--- a/examples/features/standard/delayed-redelivery/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/delayed-redelivery/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>
@@ -56,7 +54,7 @@ under the License.
          </address-setting>
       </address-settings>
 
-   <addresses>
+      <addresses>
          <address name="deadLetterQueue">
             <anycast>
                <queue name="deadLetterQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/standard/divert/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/divert/pom.xml b/examples/features/standard/divert/pom.xml
index 9745afd..c8fa81a 100644
--- a/examples/features/standard/divert/pom.xml
+++ b/examples/features/standard/divert/pom.xml
@@ -152,7 +152,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


[12/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/application-layer-failover/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/application-layer-failover/readme.html b/examples/features/ha/application-layer-failover/readme.html
deleted file mode 100644
index c5248aa..0000000
--- a/examples/features/ha/application-layer-failover/readme.html
+++ /dev/null
@@ -1,169 +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 Application-Layer Failover 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>Application-Layer Failover Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this directory. This example will always spawn and stop multiple servers.</pre>
-
-     <p>ActiveMQ Artemis implements fully transparent <b>automatic</b> failover of connections from a live node to a backup node which requires
-     no special coding. This is described in a different example and requires server replication.</p>
-     <p>However, ActiveMQ Artemis also supports <b>Application-Layer</b> failover which is useful in the case where replication is not enabled.</p>
-     <p>With Application-Layer failover, it's up to the application to register a JMS ExceptionListener with ActiveMQ Artemis.
-         This listener will then be called by ActiveMQ Artemis in the event that connection failure is detected.</p>
-     <p>User code in the ExceptionListener can then recreate any JMS Connection, Session, etc on another node and the application
-     can continue.</p>
-     <p>Application-Layer failover is an alternative approach to High Availability (HA).</p>
-     <p>Application-Layer failover differs from automatic failover in that some client side coding is required in order
-     to implement this. Also, with Application-Layer failover, since the old Session object dies and a new is created, any uncommitted
-     work in the old Session will be lost, and any unacknowledged messages might be redelivered.</p>
-     <p>For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering
-     section of the user manual.</p>
-
-     <h2>Example step-by-step</h2>
-     <p>In this example, the live server is server 1, which will failover onto server 0.</p>
-     <p>The connection will initially be created to server1, server 1 will crash, and the client will carry on
-     on server 0, the new  server. With Application-Layer failover the node that is failed over onto, does not need to
-     be specially configured as a backup server, it can be any node.</p>
-
-     <ol>
-        <li> We create our JMS Connection, Session, MessageProducer and MessageConsumer on server 1</li>
-        <pre class="prettyprint">
-           <code>createJMSObjects(1);</code>
-        </pre>
-
-        <li>We set a JMS ExceptionListener on the connection. On failure this will be called and the connection,
-         session, etc. will be manually recreated on the backup node.</li>
-        <pre class="prettyprint">
-           <code>connection.setExceptionListener(new ExampleListener());</code>
-        </pre>
-
-        <li>We send some messages to server 1, the live server.</li>
-        <pre class="prettyprint">
-           <code>
-         final int numMessages = 10;
-
-         for (int i = 0; i < numMessages; i++)
-         {
-            TextMessage message = session.createTextMessage("This is text message " + i);
-
-            producer.send(message);
-
-            System.out.println("Sent message: " + message.getText());
-         }
-           </code>
-        </pre>
-
-        <li>We consume those messages on server 1.</li>
-        <pre class="prettyprint">
-          <code>
-          for (int i = 0; i < numMessages; i++)
-         {
-            TextMessage message0 = (TextMessage)consumer.receive(5000);
-
-            System.out.println("Got message: " + message0.getText());
-         }
-          </code>
-        </pre>
-
-        <li>We now cause server 1, the live server to crash. After a little while the connection's
-            ExceptionListener will register the failure and reconnection will occur.</li>
-        <pre class="prettyprint">
-           <code>killServer(1);</code>
-        </pre>
-
-        <li>The connection's ExceptionListener gets called, and we lookup the JMS objects and
-        recreate the connection, session, etc on the other node 0.</li>
-        <pre class="prettyprint">
-           <code>
-   private class ExampleListener implements ExceptionListener
-   {
-      public void onException(JMSException exception)
-      {
-         try
-         {
-            // Close the old resources
-
-            closeResources();
-
-            // Create new JMS objects on the backup server
-
-            createJMSObjects(0);
-
-            failoverLatch.countDown();
-         }
-         catch (Exception e)
-         {
-            System.err.println("Failed to handle failover");
-
-            e.printStackTrace();
-         }
-      }
-   }
-           </code>
-        </pre>
-
-        <li>We are now connected to the other node. We now send some more messages.</li>
-        <pre class="prettyprint">
-           <code>
-   for (int i = numMessages; i < numMessages * 2; i++)
-         {
-            TextMessage message = session.createTextMessage("This is text message " + i);
-
-            producer.send(message);
-
-            System.out.println("Sent message: " + message.getText());
-         }
-           </code>
-        </pre>
-
-        <li>And consume them.</li>
-        <pre class="prettyprint">
-           <code>
-   for (int i = 0; i < numMessages; i++)
-         {
-            TextMessage message0 = (TextMessage)consumer.receive(5000);
-
-            System.out.println("Got message: " + message0.getText());
-         }
-           </code>
-        </pre>
-
-
-        <li>And finally (no pun intended), <b>always</b> remember to close your 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
-	{
-	   closeResources();
-	}
-           </code>
-        </pre>
-
-     </ol>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/application-layer-failover/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/ha/application-layer-failover/readme.md b/examples/features/ha/application-layer-failover/readme.md
new file mode 100644
index 0000000..1ef46b4
--- /dev/null
+++ b/examples/features/ha/application-layer-failover/readme.md
@@ -0,0 +1,17 @@
+# JMS Application-Layer Failover Example
+
+To run the example, simply type **mvn verify** from this directory. This example will always spawn and stop multiple brokers.
+
+ActiveMQ Artemis implements fully transparent **automatic** failover of connections from a live node to a backup node which requires no special coding. This is described in a different example and requires broker replication.
+
+However, ActiveMQ Artemis also supports **Application-Layer** failover which is useful in the case where replication is not enabled.
+
+With Application-Layer failover, it's up to the application to register a JMS ExceptionListener with ActiveMQ Artemis. This listener will then be called by ActiveMQ Artemis in the event that connection failure is detected.
+
+User code in the ExceptionListener can then recreate any JMS Connection, Session, etc on another node and the application can continue.
+
+Application-Layer failover is an alternative approach to High Availability (HA).
+
+Application-Layer failover differs from automatic failover in that some client side coding is required in order to implement this. Also, with Application-Layer failover, since the old Session object dies and a new is created, any uncommitted work in the old Session will be lost, and any unacknowledged messages might be redelivered.
+
+For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/client-side-failoverlistener/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/client-side-failoverlistener/pom.xml b/examples/features/ha/client-side-failoverlistener/pom.xml
index 30d22aa..8fb7780 100644
--- a/examples/features/ha/client-side-failoverlistener/pom.xml
+++ b/examples/features/ha/client-side-failoverlistener/pom.xml
@@ -27,9 +27,9 @@ under the License.
       <version>2.5.0-SNAPSHOT</version>
    </parent>
 
-   <artifactId>client-side-fileoverlistener</artifactId>
+   <artifactId>client-side-failoverlistener</artifactId>
    <packaging>jar</packaging>
-   <name>ActiveMQ Artemis JMS Client Side Failover listener Example</name>
+   <name>ActiveMQ Artemis JMS Client Side Failover Listener Example</name>
 
    <properties>
       <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
@@ -106,7 +106,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/ha/client-side-failoverlistener/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/client-side-failoverlistener/readme.html b/examples/features/ha/client-side-failoverlistener/readme.html
deleted file mode 100644
index 3fe1f4d..0000000
--- a/examples/features/ha/client-side-failoverlistener/readme.html
+++ /dev/null
@@ -1,37 +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 Client Side Failover 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>Client Side Kickoff Example</h1>
-     <pre>To run the example, simply type <b>mvn verify</b> from this directory. This example will always spawn and stop multiple servers.</pre>
-
-     <p>This example demonstrates how you can listen on failover event on the client side.</p>
-
-     <p>In this example there are two nodes running in a cluster, both server will be running for start,
-        but after a while the first server will crash. This will trigger a fail-over event.</p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/client-side-failoverlistener/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/ha/client-side-failoverlistener/readme.md b/examples/features/ha/client-side-failoverlistener/readme.md
new file mode 100644
index 0000000..c766986
--- /dev/null
+++ b/examples/features/ha/client-side-failoverlistener/readme.md
@@ -0,0 +1,7 @@
+# JMS Client Side Failover Listener Example
+
+To run the example, simply type **mvn verify** from this directory. This example will always spawn and stop multiple servers.
+
+This example demonstrates how you can listen on failover event on the client side.
+
+In this example there are two nodes running in a cluster, both broker will be running for start, but after a while the first broker will crash. This will trigger a fail-over event.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/colocated-failover-scale-down/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/colocated-failover-scale-down/pom.xml b/examples/features/ha/colocated-failover-scale-down/pom.xml
index ca20c13..ec329a3 100644
--- a/examples/features/ha/colocated-failover-scale-down/pom.xml
+++ b/examples/features/ha/colocated-failover-scale-down/pom.xml
@@ -100,7 +100,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/ha/colocated-failover-scale-down/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/colocated-failover-scale-down/readme.html b/examples/features/ha/colocated-failover-scale-down/readme.html
deleted file mode 100644
index 8be5030..0000000
--- a/examples/features/ha/colocated-failover-scale-down/readme.html
+++ /dev/null
@@ -1,65 +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 Colocated Failover Scale Down 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 Colocated Failover Recover Only Example</h1>
-     <pre>To run the example, simply type <b>mvn verify</b> from this directory. This example will always spawn and stop multiple servers.</pre>
-
-
-     <p>This example demonstrates how you can colocate live and backup servers in the same VM. We do this by creating an
-         HA Policy that is colocated. colocated means that backup servers can be created and maintained by live servers on behalf
-         of other requesting live servers. In this example we create a colocated shared store server that will scale down.
-         That is it will not become live but scale down the journal to the colocated live server.
-     <p>This example starts 2 live servers each will request the other to create a backup.</p>
-     <p>The first live server will be killed and the backup in the second will recover the journal and recreate its state
-         in the live server it shares its VM with.</p>
-     <p>The following shows how to configure the backup, the slave is configured <b>&lt;scale-down/></b> which means
-         that the backup server will not fully start on fail over, instead it will just recover the journal and write it
-     to its parent live server.</p>
-     <pre class="prettyprint">
-     <code>&lt;ha-policy>
-         &lt;shared-store>
-             &lt;colocated>
-                 &lt;backup-port-offset>100&lt;/backup-port-offset>
-                 &lt;backup-request-retries>-1&lt;/backup-request-retries>
-                 &lt;backup-request-retry-interval>2000&lt;/backup-request-retry-interval>
-                 &lt;max-backups>1&lt;/max-backups>
-                 &lt;request-backup>true&lt;/request-backup>
-                 &lt;master/>
-                 &lt;slave>
-                     &lt;scale-down/>
-                 &lt;/slave>
-             &lt;/colocated>
-         &lt;/shared-store>
-     &lt;/ha-policy>
-     </code>
-     </pre>
-     <p>Notice that we dont need to specify a scale down connector as it will use most appropriate
-     from the list of available connectors which in  this case is the first INVM connector</p>
-     <p> One other thing to notice is that the cluster connection has its reconnect attempts set to 5, this is so it will
-         disconnect instead of trying to reconnect to a backup that doesn't exist.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/colocated-failover-scale-down/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/ha/colocated-failover-scale-down/readme.md b/examples/features/ha/colocated-failover-scale-down/readme.md
new file mode 100644
index 0000000..3b9c81a
--- /dev/null
+++ b/examples/features/ha/colocated-failover-scale-down/readme.md
@@ -0,0 +1,31 @@
+# JMS Colocated Failover Recover Only Example
+
+To run the example, simply type **mvn verify** from this directory. This example will always spawn and stop multiple servers.
+
+This example demonstrates how you can colocate live and backup servers in the same VM. We do this by creating an HA Policy that is colocated. Colocated means that backup servers can be created and maintained by live servers on behalf of other requesting live servers. In this example we create a colocated shared store broker that will scale down. That is it will not become live but scale down the journal to the colocated live server.
+
+This example starts 2 live servers each will request the other to create a backup.
+
+The first live broker will be killed and the backup in the second will recover the journal and recreate its state in the live broker it shares its VM with.
+
+The following shows how to configure the backup, the slave is configured **<scale-down/>** which means that the backup broker will not fully start on fail over, instead it will just recover the journal and write it to its parent live server.
+
+    <ha-policy>
+       <shared-store>
+          <colocated>
+             <backup-port-offset>100</backup-port-offset>
+             <backup-request-retries>-1</backup-request-retries>
+             <backup-request-retry-interval>2000</backup-request-retry-interval>
+             <max-backups>1</max-backups>
+             <request-backup>true</request-backup>
+             <master/>
+             <slave>
+                <scale-down/>
+             </slave>
+          </colocated>
+       </shared-store>
+    </ha-policy>
+
+Notice that we dont need to specify a scale down connector as it will use most appropriate from the list of available connectors which in this case is the first INVM connector
+
+One other thing to notice is that the cluster connection has its reconnect attempts set to 5, this is so it will disconnect instead of trying to reconnect to a backup that doesn't exist.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml
index cd83afe..38a7633 100644
--- a/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/colocated-failover-scale-down/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>
@@ -117,7 +115,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/ha/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml
index 88a878a..08e387c 100644
--- a/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/colocated-failover-scale-down/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>
@@ -115,7 +113,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/ha/colocated-failover/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/colocated-failover/pom.xml b/examples/features/ha/colocated-failover/pom.xml
index 5cf10a8..ce84005 100644
--- a/examples/features/ha/colocated-failover/pom.xml
+++ b/examples/features/ha/colocated-failover/pom.xml
@@ -100,6 +100,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/ha/colocated-failover/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/colocated-failover/readme.html b/examples/features/ha/colocated-failover/readme.html
deleted file mode 100644
index a3700d4..0000000
--- a/examples/features/ha/colocated-failover/readme.html
+++ /dev/null
@@ -1,56 +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 Colocated Failover 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 Colocated Failover Shared Store Example</h1>
-     <pre>To run the example, simply type <b>mvn verify</b> from this directory. This example will always spawn and stop multiple servers.</pre>
-
-     <p>This example demonstrates how you can colocate live and backup servers in the same VM. We do this by creating an
-     HA Policy that is colocated. colocated means that backup servers can be created and maintained by live servers on behalf
-     of other requesting live servers. In this example we create a colocated shared store server.
-     <p>This example starts 2 live servers each with a backup server that backs up the other live server.</p>
-     <p>The first live server will be killed and the backup in the second will become live</p>
-     <p>The following shows how to configure the live servers to request and allow backups to be deployed</p>
-     <pre class="prettyprint">
-     <code>&lt;ha-policy>
-         &lt;shared-store>
-             &lt;colocated>
-                 &lt;backup-port-offset>100&lt;/backup-port-offset>
-                 &lt;backup-request-retries>-1&lt;/backup-request-retries>
-                 &lt;backup-request-retry-interval>2000&lt;/backup-request-retry-interval>
-                 &lt;max-backups>1&lt;/max-backups>
-                 &lt;request-backup>true&lt;/request-backup>
-                 &lt;master/>
-                 &lt;slave/>
-             &lt;/colocated>
-         &lt;/shared-store>
-     &lt;/ha-policy>
-     </code>
-     </pre>
-     <p>notice that we have used a template to set some sensible defaults but overridden the backup strategy so back ups
-     are full servers</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/colocated-failover/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/ha/colocated-failover/readme.md b/examples/features/ha/colocated-failover/readme.md
new file mode 100644
index 0000000..b338e5a
--- /dev/null
+++ b/examples/features/ha/colocated-failover/readme.md
@@ -0,0 +1,27 @@
+# JMS Colocated Failover Shared Store Example
+
+To run the example, simply type **mvn verify** from this directory. This example will always spawn and stop multiple brokers.
+
+This example demonstrates how you can colocate live and backup brokers in the same VM. We do this by creating an HA Policy that is colocated. Colocated means that backup brokers can be created and maintained by live brokers on behalf of other live brokers requesting a backup. In this example we create a colocated shared store broker.
+
+This example starts 2 live brokers each with a backup broker that backs up the other live broker.
+
+The first live broker will be killed and the backup in the second will become live
+
+The following shows how to configure the live brokers to request and allow backups to be deployed
+
+    <ha-policy>
+       <shared-store>
+          <colocated>
+             <backup-port-offset>100</backup-port-offset>
+             <backup-request-retries>-1</backup-request-retries>
+             <backup-request-retry-interval>2000</backup-request-retry-interval>
+             <max-backups>1</max-backups>
+             <request-backup>true</request-backup>
+             <master/>
+             <slave/>
+          </colocated>
+       </shared-store>
+    </ha-policy>
+
+notice that we have used a template to set some sensible defaults but overridden the backup strategy so back ups are full brokers.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/colocated-failover/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/colocated-failover/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/colocated-failover/src/main/resources/activemq/server0/broker.xml
index eca60a9..69427a8 100644
--- a/examples/features/ha/colocated-failover/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/colocated-failover/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>
@@ -103,7 +101,7 @@ under the License.
       </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/ha/colocated-failover/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/colocated-failover/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/colocated-failover/src/main/resources/activemq/server1/broker.xml
index 81c0abc..ef3b417 100644
--- a/examples/features/ha/colocated-failover/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/colocated-failover/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>
@@ -102,7 +100,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/ha/ha-policy-autobackup/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/ha-policy-autobackup/pom.xml b/examples/features/ha/ha-policy-autobackup/pom.xml
index 43ce5cc..12a5cca 100644
--- a/examples/features/ha/ha-policy-autobackup/pom.xml
+++ b/examples/features/ha/ha-policy-autobackup/pom.xml
@@ -100,7 +100,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/ha/ha-policy-autobackup/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server0/broker.xml
index 534e2ac..a06f169 100644
--- a/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server0/broker.xml
@@ -16,11 +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">
-
-   
-
-   <core xmlns="urn:activemq:core">
+-->
+<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.dir}/server0/data/messaging/bindings</bindings-directory>
 
@@ -96,7 +93,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/ha/ha-policy-autobackup/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server1/broker.xml
index 5b69582..b0102ff 100644
--- a/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server1/broker.xml
@@ -16,11 +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">
-
-   
-
-   <core xmlns="urn:activemq:core">
+-->
+<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.dir}/server0/data/messaging/bindings</bindings-directory>
 
@@ -96,7 +93,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/ha/multiple-failover-failback/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/multiple-failover-failback/pom.xml b/examples/features/ha/multiple-failover-failback/pom.xml
index a5e31ea..1ca63a8 100644
--- a/examples/features/ha/multiple-failover-failback/pom.xml
+++ b/examples/features/ha/multiple-failover-failback/pom.xml
@@ -120,7 +120,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/ha/multiple-failover/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/multiple-failover/pom.xml b/examples/features/ha/multiple-failover/pom.xml
index 51f47a3..c101836 100644
--- a/examples/features/ha/multiple-failover/pom.xml
+++ b/examples/features/ha/multiple-failover/pom.xml
@@ -120,7 +120,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/ha/non-transaction-failover/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/non-transaction-failover/pom.xml b/examples/features/ha/non-transaction-failover/pom.xml
index 52f0944..1f6493f 100644
--- a/examples/features/ha/non-transaction-failover/pom.xml
+++ b/examples/features/ha/non-transaction-failover/pom.xml
@@ -106,7 +106,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/ha/non-transaction-failover/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/non-transaction-failover/readme.html b/examples/features/ha/non-transaction-failover/readme.html
deleted file mode 100644
index 647e7b8..0000000
--- a/examples/features/ha/non-transaction-failover/readme.html
+++ /dev/null
@@ -1,157 +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 Failover Without Transactions 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 Failover Without Transactions Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this directory.</pre>
-
-
-     <p>This example demonstrates two servers coupled as a live-backup pair for high availability (HA), and a client
-     connection failing over from live to backup when the live server is crashed.</p>
-     <p>Failover behavior differs whether the JMS session is transacted or not.</p>
-     <p>When a <em>non-transacted</em> JMS session is used, once and only once delivery is not guaranteed
-        and it is possible some messages will be lost or delivered twice, depending when the failover to the backup server occurs.</p>
-     <p>It is up to the client to deal with such cases. To ensure once and only once delivery, the client must
-        use transacted JMS sessions (as shown in the example for <a href="../transaction-failover/readme.html">failover with transactions</a>).</p>
-     <p>For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering
-     section of the user manual.</p>
-
-     <h2>Example step-by-step</h2>
-     <p>In this example, the live server is server 1, and the backup server is server 0</p>
-     <p>The connection will initially be created to server1, server 1 will crash, and the client will carry on
-     seamlessly on server 0, the backup server.</p>
-     <ol>
-        <li>Get an initial context for looking up JNDI from server #1.</li>
-        <pre class="prettyprint">
-           initialContext = getContext(1);
-        </pre>
-
-        <li>Look up the JMS resources from JNDI on server #1.</li>
-        <pre class="prettyprint">
-           Queue queue = (Queue)initialContext.lookup("/queue/exampleQueue");
-           ConnectionFactory connectionFactory = (ConnectionFactory)initialContext.lookup("/ConnectionFactory");
-        </pre>
-
-        <li>Create a JMS Connection</li>
-        <pre class="prettyprint">
-           connection = connectionFactory.createConnection();
-        </pre>
-
-        <li>Create a JMS <em>non-transacted</em> Session with client acknowledgement</li>
-        <pre class="prettyprint">
-           Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
-        </pre>
-
-        <li>Start the connection to ensure delivery occurs</li>
-        <pre class="prettyprint">
-           connection.start();
-        </pre>
-
-        <li>Create a JMS MessageProducer and MessageConsumer</li>
-        <pre class="prettyprint">
-           MessageProducer producer = session.createProducer(queue);
-           MessageConsumer consumer = session.createConsumer(queue);
-        </pre>
-
-        <li>Send some messages to server #1</li>
-        <pre class="prettyprint">
-           for (int i = 0; i &lt; numMessages; i++)
-           {
-              TextMessage message = session.createTextMessage("This is text message " + i);
-              producer.send(message);
-              System.out.println("Sent message: " + message.getText());
-           }
-        </pre>
-
-        <li>Receive and acknowledge half of the sent messages</li>
-        <pre class="prettyprint">
-           TextMessage message0 = null;
-           for (int i = 0; i &lt; numMessages / 2; i++)
-           {
-              message0 = (TextMessage)consumer.receive(5000);
-              System.out.println("Got message: " + message0.getText());
-           }
-           message0.acknowledge();
-        </pre>
-
-        <li>Receive the second half of the sent messages but <em>do not acknowledge them yet</em></li>
-        <pre class="prettyprint">
-           for (int i = numMessages / 2; i &lt; numMessages; i++)
-           {
-              message0 = (TextMessage)consumer.receive(5000);
-              System.out.println("Got message: " + message0.getText());
-           }
-        </pre>
-
-        <li>Crash server #1, the live server, and wait a little while to make sure it has really crashed.</li>
-        <pre class="prettyprint">
-           killServer(1);
-           Thread.sleep(2000);
-        </pre>
-
-        <li>Acknowledging the second half of the sent messages will fail as failover to the backup server has occurred</li>
-        <pre class="prettyprint">
-           try
-           {
-              message0.acknowledge();
-           }
-           catch (JMSException e)
-           {
-              System.err.println("Got exception while acknowledging message: " + e.getMessage());
-           }
-        </pre>
-
-         <li>Consume again the second half of the messages againg. Note that they are not considered as redelivered</li>
-        <pre class="prettyprint">
-           for (int i = numMessages / 2; i &lt; numMessages; i++)
-           {
-              message0 = (TextMessage)consumer.receive(5000);
-              System.out.printf("Got message: %s (redelivered?: %s)\n", message0.getText(), message0.getJMSRedelivered());
-           }
-           message0.acknowledge();
-        </pre>
-
-        <li>And finally, <strong>always</strong> remember to close your 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">
-           finally
-           {
-              if (connection != null)
-              {
-                 connection.close();
-              }
-
-              if (initialContext != null)
-              {
-                 initialContext.close();
-              }
-           }
-        </pre>
-
-     </ol>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/non-transaction-failover/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/ha/non-transaction-failover/readme.md b/examples/features/ha/non-transaction-failover/readme.md
new file mode 100644
index 0000000..6c51d89
--- /dev/null
+++ b/examples/features/ha/non-transaction-failover/readme.md
@@ -0,0 +1,13 @@
+# JMS Non Transaction Failover Example
+
+To run the example, simply type **mvn verify** from this directory.
+
+This example demonstrates two servers coupled as a live-backup pair for high availability (HA), and a client connection failing over from live to backup when the live broker is crashed.
+
+Failover behavior differs whether the JMS session is transacted or not.
+
+When a _non-transacted_ JMS session is used, once and only once delivery is not guaranteed and it is possible some messages will be lost or delivered twice, depending when the failover to the backup broker occurs.
+
+It is up to the client to deal with such cases. To ensure once and only once delivery, the client must use transacted JMS sessions (as shown in the "transaction-failover" example).
+
+For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/replicated-failback-static/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-failback-static/pom.xml b/examples/features/ha/replicated-failback-static/pom.xml
index 6020fcc..348f82a 100644
--- a/examples/features/ha/replicated-failback-static/pom.xml
+++ b/examples/features/ha/replicated-failback-static/pom.xml
@@ -102,6 +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/ha/replicated-failback-static/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-failback-static/readme.html b/examples/features/ha/replicated-failback-static/readme.html
deleted file mode 100644
index cab789a..0000000
--- a/examples/features/ha/replicated-failback-static/readme.html
+++ /dev/null
@@ -1,38 +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 Failback using Static selectors 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 Multiple Failover using Replication Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this directory.</pre>
-
-     <p>This example demonstrates three servers coupled as a live-backup-backup group for high availability (HA) using replication, and a client
-     connection failing over from live to backup when the live server is crashed and then to the second backup once the new live fails.</p>
-
-     <p>For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/replicated-failback-static/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-failback-static/readme.md b/examples/features/ha/replicated-failback-static/readme.md
new file mode 100644
index 0000000..f48c885
--- /dev/null
+++ b/examples/features/ha/replicated-failback-static/readme.md
@@ -0,0 +1,7 @@
+# JMS Replicated Failback Static Example
+
+To run the example, simply type **mvn verify** from this directory.
+
+This example is the same as the "replicated-failback" example but with a "static" clustering configuration (i.e. not using UDP multicast).
+
+For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/replicated-failback-static/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-failback-static/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/replicated-failback-static/src/main/resources/activemq/server0/broker.xml
index 205de1b..f184062 100644
--- a/examples/features/ha/replicated-failback-static/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/replicated-failback-static/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>
@@ -75,7 +73,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/ha/replicated-failback-static/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-failback-static/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/replicated-failback-static/src/main/resources/activemq/server1/broker.xml
index 230d635..f2b860f 100644
--- a/examples/features/ha/replicated-failback-static/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/replicated-failback-static/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>
@@ -77,7 +75,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/ha/replicated-failback/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-failback/pom.xml b/examples/features/ha/replicated-failback/pom.xml
index c843cf3..8e179b6 100644
--- a/examples/features/ha/replicated-failback/pom.xml
+++ b/examples/features/ha/replicated-failback/pom.xml
@@ -101,6 +101,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
+   <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>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/replicated-failback/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-failback/readme.html b/examples/features/ha/replicated-failback/readme.html
deleted file mode 100644
index 4e53739..0000000
--- a/examples/features/ha/replicated-failback/readme.html
+++ /dev/null
@@ -1,38 +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 Multiple Failover using Replication 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 Multiple Failover using Replication Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this directory.</pre>
-
-     <p>This example demonstrates three servers coupled as a live-backup-backup group for high availability (HA) using replication, and a client
-     connection failing over from live to backup when the live server is crashed and then to the second backup once the new live fails.</p>
-
-     <p>For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/replicated-failback/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-failback/readme.md b/examples/features/ha/replicated-failback/readme.md
new file mode 100644
index 0000000..8dfe609
--- /dev/null
+++ b/examples/features/ha/replicated-failback/readme.md
@@ -0,0 +1,7 @@
+# JMS Replicated Failback Example
+
+To run the example, simply type **mvn verify** from this directory.
+
+This example demonstrates two servers coupled as a live-backup pair for high availability (HA) using replication and a client connection failing over from live to backup when the live broker is crashed and then back to the original live when it is restarted (i.e. "failback").
+
+For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/replicated-failback/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-failback/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/replicated-failback/src/main/resources/activemq/server0/broker.xml
index 7b32414..6fce88d 100644
--- a/examples/features/ha/replicated-failback/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/replicated-failback/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>
@@ -89,7 +87,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/ha/replicated-failback/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-failback/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/replicated-failback/src/main/resources/activemq/server1/broker.xml
index 58f4738..8435091 100644
--- a/examples/features/ha/replicated-failback/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/replicated-failback/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>
@@ -90,7 +88,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/ha/replicated-multiple-failover/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-multiple-failover/pom.xml b/examples/features/ha/replicated-multiple-failover/pom.xml
index e296bdf..04c7399 100644
--- a/examples/features/ha/replicated-multiple-failover/pom.xml
+++ b/examples/features/ha/replicated-multiple-failover/pom.xml
@@ -115,7 +115,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/ha/replicated-multiple-failover/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-multiple-failover/readme.html b/examples/features/ha/replicated-multiple-failover/readme.html
deleted file mode 100644
index da37085..0000000
--- a/examples/features/ha/replicated-multiple-failover/readme.html
+++ /dev/null
@@ -1,45 +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 Multiple Failover using Replication 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 Multiple Failover using Replication Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify</b> from this directory.</pre>
-
-
-     <p>This example demonstrates three servers coupled as a live-backup-backup group for high availability (HA) using replication, and a client
-     connection failing over from live to backup when the live server is crashed and then to the second backup once the new live fails.</p>
-
-     <p>For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering
-     section of the user manual.</p>
-
-     <h2>Example step-by-step</h2>
-     <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p>
-     <p>In this example, the live server is server 1, and the backup server is server 0</p>
-     <p>The connection will initially be created to server1, server 1 will crash, and the client will carry on
-     seamlessly on server 0, the backup server.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/replicated-multiple-failover/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-multiple-failover/readme.md b/examples/features/ha/replicated-multiple-failover/readme.md
new file mode 100644
index 0000000..06e44d0
--- /dev/null
+++ b/examples/features/ha/replicated-multiple-failover/readme.md
@@ -0,0 +1,7 @@
+# JMS Multiple Failover using Replication Example
+
+To run the example, simply type **mvn verify** from this directory.
+
+This example demonstrates three servers coupled as a live-backup-backup group for high availability (HA) using replication, and a client connection failing over from live to backup when the live broker is crashed and then to the second backup once the new live fails.
+
+For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server0/broker.xml
index d9c39e5..fa4d9ec 100644
--- a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/replicated-multiple-failover/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>
@@ -83,7 +81,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/ha/replicated-multiple-failover/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server1/broker.xml
index bc03fe1..963a567 100644
--- a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/replicated-multiple-failover/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>
@@ -83,7 +81,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/ha/replicated-multiple-failover/src/main/resources/activemq/server2/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server2/broker.xml b/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server2/broker.xml
index 8b4d782..4b170ce 100644
--- a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server2/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>
@@ -83,7 +81,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/ha/replicated-transaction-failover/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-transaction-failover/pom.xml b/examples/features/ha/replicated-transaction-failover/pom.xml
index 83843ad..8226f7b 100644
--- a/examples/features/ha/replicated-transaction-failover/pom.xml
+++ b/examples/features/ha/replicated-transaction-failover/pom.xml
@@ -98,6 +98,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/ha/replicated-transaction-failover/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-transaction-failover/readme.html b/examples/features/ha/replicated-transaction-failover/readme.html
deleted file mode 100644
index 4206588..0000000
--- a/examples/features/ha/replicated-transaction-failover/readme.html
+++ /dev/null
@@ -1,148 +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 Failover With Transaction using Replication 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 Failover With Transaction using Replication Example</h1>
-
-     <p>This example demonstrates two servers coupled as a live-backup pair for high availability (HA) using replication, and a client
-     connection failing over from live to backup when the live server is crashed.</p>
-     <p>Failover behavior differs whether the JMS session is transacter or not.</p>
-     <p>When a <em>transacted</em> JMS session is used, once-and-only once delivery is guaranteed.</p>
-     <ul>
-        <li>if the failover occurs while there is an in-flight transaction, the transaction will be flagged as <em>rollback only</em>. In that case, the JMS client
-           will need to retry the transaction work.</li>
-        <li>if the failover occurs while there is <em>no</em> in-flight transaction, the failover will be transparent to the user.</li>
-     </ul>
-     <p>ActiveMQ Artemis also provides an example for <a href="../non-transactional-failover/readme.html">non-transaction failover</a>.</p>
-     <p>For more information on ActiveMQ Artemis failover and HA, and clustering in general, please see the clustering
-     section of the user manual.</p>
-
-     <h2>Example step-by-step</h2>
-     <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p>
-     <p>In this example, the live server is server 1, and the backup server is server 0</p>
-     <p>The connection will initially be created to server1, server 1 will crash, and the client will carry on
-     seamlessly on server 0, the backup server.</p>
-
-     <ol>
-        <li>Get an initial context for looking up JNDI from server #1.</li>
-        <pre class="prettyprint">
-           initialContext = getContext(1);
-        </pre>
-
-        <li>Look up the JMS resources from JNDI on server #1.</li>
-        <pre class="prettyprint">
-           Queue queue = (Queue)initialContext.lookup("/queue/exampleQueue");
-           ConnectionFactory connectionFactory = (ConnectionFactory)initialContext.lookup("/ConnectionFactory");
-        </pre>
-
-        <li>Create a JMS Connection</li>
-        <pre class="prettyprint">
-           connection = connectionFactory.createConnection();
-        </pre>
-
-        <li>Create a JMS <em>transacted</em> Session</li>
-        <pre class="prettyprint">
-           Session session = connection.createSession(true, 0);
-        </pre>
-
-        <li>Start the connection to ensure delivery occurs</li>
-        <pre class="prettyprint">
-           connection.start();
-        </pre>
-
-        <li>Create a JMS MessageProducer</li>
-        <pre class="prettyprint">
-           MessageProducer producer = session.createProducer(queue);
-        </pre>
-
-        <li>Create a JMS MessageConsumer</li>
-        <pre class="prettyprint">
-           MessageConsumer consumer = session.createConsumer(queue);
-        </pre>
-
-        <li>Send half of the messages, kill the live server and send the remaining messages</li>
-        <pre class="prettyprint">
-           sendMessages(session, producer, numMessages, true);
-        </pre>
-
-        <p>When server #1 crashes, the client automatically detects the failure and automatically
-            fails over from server #1 to server #0 (in your real program you wouldn't need to sleep).
-        </p>
-
-        <li>As failover occurred during transaction, the session has been marked for <em>rollback only</em> and commit will fail</li>
-        <pre class="prettyprint">
-           try
-           {
-              session.commit();
-           } catch (TransactionRolledBackException e)
-           {
-              System.err.println("transaction has been rolled back: " + e.getMessage());
-           }
-        </pre>
-
-        <li>We resend all the messages</li>
-        <pre class="prettyprint">
-           sendMessages(session, producer, numMessages, false);
-        </pre>
-
-        <li>We commit the session successfully: the messages will be all delivered to the activated backup server</li>
-        <pre class="prettyprint">
-           session.commit();
-        </pre>
-
-
-        <li>We are now transparently reconnected to server #0, the backup server.
-            We consume the messages sent before the crash of the live server, commit the session, and check there are no other message on the queue</li>
-        <pre class="prettyprint">
-        for (int i = 0; i &lt; numMessages; i++)
-        {
-           TextMessage message0 = (TextMessage)consumer.receive(5000);
-           System.out.println("Got message: " + message0.getText());
-        }
-        session.commit();
-        System.out.println("Other message on the server? " + consumer.receive(5000));
-        </pre>
-
-        <li>And finally, <strong>always</strong> remember to close your 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">
-           finally
-           {
-              if (connection != null)
-              {
-                 connection.close();
-              }
-
-              if (initialContext != null)
-              {
-                 initialContext.close();
-              }
-           }
-        </pre>
-
-     </ol>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server0/broker.xml
index 4e40497..23cb9f8 100644
--- a/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/replicated-transaction-failover/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>
@@ -84,7 +82,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/ha/replicated-transaction-failover/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server1/broker.xml
index 16f62ec..96ca80b 100644
--- a/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/replicated-transaction-failover/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>
@@ -85,7 +83,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/ha/scale-down/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/scale-down/pom.xml b/examples/features/ha/scale-down/pom.xml
index 008ccc1..77ea727 100644
--- a/examples/features/ha/scale-down/pom.xml
+++ b/examples/features/ha/scale-down/pom.xml
@@ -98,7 +98,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


[13/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server0/broker.xml
index 07ee795..9bb273d 100644
--- a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery-uri/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>
@@ -59,7 +57,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/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server1/broker.xml
index a3b1b3e..9e335d6 100644
--- a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery-uri/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>
@@ -59,7 +57,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/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server2/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server2/broker.xml b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server2/broker.xml
index 9ef6138..e492934 100644
--- a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server2/broker.xml
@@ -14,10 +14,8 @@
   ~ 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.
-  --><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>
@@ -56,7 +54,7 @@
          </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/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server3/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server3/broker.xml b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server3/broker.xml
index 6049674..915c5c8 100644
--- a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server3/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server3/broker.xml
@@ -14,10 +14,8 @@
   ~ 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.
-  --><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>
@@ -57,7 +55,7 @@
          </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/clustered/clustered-static-discovery/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery/pom.xml b/examples/features/clustered/clustered-static-discovery/pom.xml
index ff1cafc..43a1151 100644
--- a/examples/features/clustered/clustered-static-discovery/pom.xml
+++ b/examples/features/clustered/clustered-static-discovery/pom.xml
@@ -238,7 +238,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/clustered/clustered-static-discovery/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery/readme.html b/examples/features/clustered/clustered-static-discovery/readme.html
deleted file mode 100644
index 0dc1205..0000000
--- a/examples/features/clustered/clustered-static-discovery/readme.html
+++ /dev/null
@@ -1,57 +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 Load Balanced Static Clustered 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>JMS Load Balanced Static Clustered 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 demonstrates a JMS queue deployed on two different nodes. The two nodes are configured to form a cluster
-       from a <em>static</em> list of nodes.</p>
-     <p>We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.</p>
-     <p>We then send some messages via the producer, and we verify that <b>both</b> consumers receive the sent messages
-     in a round-robin fashion.</p>
-     <p>In other words, ActiveMQ Artemis <b>load balances</b> the sent messages across all consumers on the cluster</p>
-     <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use
-     JNDI, these could be instantiated directly.</p>
-     <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes
-     and to load balance the messages between the nodes.</p>
-     <pre class="prettyprint">
-     <code>&lt;cluster-connection name="my-cluster"&gt;
-        &lt;connector-ref>netty-connector&lt;/connector-ref>
-        &lt;retry-interval&gt;500&lt;/retry-interval&gt;
-        &lt;use-duplicate-detection&gt;true&lt;/use-duplicate-detection&gt;
-        &lt;message-load-balancing&gt;STRICT&lt;/message-load-balancing&gt;
-        &lt;max-hops&gt;1&lt;/max-hops&gt;
-        &lt;static-connectors>
-           &lt;connector-ref>server1-connector&lt;/connector-ref>
-        &lt;/static-connectors>
-     &lt;/cluster-connection&gt;
-     </code>
-     </pre>
-     <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-static-discovery/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery/readme.md b/examples/features/clustered/clustered-static-discovery/readme.md
new file mode 100644
index 0000000..d2f9ca1
--- /dev/null
+++ b/examples/features/clustered/clustered-static-discovery/readme.md
@@ -0,0 +1,28 @@
+# JMS Load Balanced Static Clustered 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 demonstrates a JMS queue deployed on two different nodes. The two nodes are configured to form a cluster from a _static_ list of nodes.
+
+We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.
+
+We then send some messages via the producer, and we verify that **both** consumers receive the sent messages in a round-robin fashion.
+
+In other words, ActiveMQ Artemis **load balances** the sent messages across all consumers on the cluster
+
+This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.
+
+Here's the relevant snippet from the broker configuration, which tells the broker to form a cluster between the two nodes and to load balance the messages between the nodes.
+
+    <cluster-connection name="my-cluster">
+       <connector-ref>netty-connector</connector-ref>
+       <retry-interval>500</retry-interval>
+       <use-duplicate-detection>true</use-duplicate-detection>
+       <message-load-balancing>STRICT</message-load-balancing>
+       <max-hops>1</max-hops>
+       <static-connectors>
+          <connector-ref>server1-connector</connector-ref>
+       </static-connectors>
+    </cluster-connection>
+
+For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml
index e66abf1..3d55545 100644
--- a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery/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>
@@ -70,7 +68,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/clustered/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml
index ed89dab..c1fcaa7 100644
--- a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery/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>
@@ -70,7 +68,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/clustered/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml
index a4fd583..d88570e 100644
--- a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml
@@ -14,10 +14,8 @@
   ~ 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.
-  --><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>
@@ -68,7 +66,7 @@
          </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/clustered/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml
index 4c07def..6757e56 100644
--- a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml
@@ -14,10 +14,8 @@
   ~ 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.
-  --><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>
@@ -68,7 +66,7 @@
          </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/clustered/clustered-static-oneway/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-oneway/pom.xml b/examples/features/clustered/clustered-static-oneway/pom.xml
index c77f049..74b9bbe 100644
--- a/examples/features/clustered/clustered-static-oneway/pom.xml
+++ b/examples/features/clustered/clustered-static-oneway/pom.xml
@@ -198,6 +198,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/clustered/clustered-static-oneway/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-oneway/readme.html b/examples/features/clustered/clustered-static-oneway/readme.html
deleted file mode 100644
index e7fb935..0000000
--- a/examples/features/clustered/clustered-static-oneway/readme.html
+++ /dev/null
@@ -1,63 +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 Load Balanced Static Clustered 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>JMS Load Balanced Static Clustered One Way 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 demonstrates a JMS queue deployed on three different nodes. The three nodes are configured to form a one way cluster
-       from a <em>static</em> list of nodes. </p>
-     <p>A one way cluster is different from a symmetrical cluster in that each node is only connected to one another node in
-     a chain type fashion, so server 0 -> server 1 -> server 2</p>
-     <p>We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.</p>
-     <p>We then send some messages via the producer, and we verify that <b>all</b> consumers receive the sent messages
-     in a round-robin fashion.</p>
-     <p>In other words, ActiveMQ Artemis <b>load balances</b> the sent messages across all consumers on the cluster</p>
-     <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use
-     JNDI, these could be instantiated directly.</p>
-     <p>Here's the relevant snippet from the server configuration, which tells the server to form a one way cluster between the three nodes
-     and to load balance the messages between the nodes. Note that we have set <em>allow-direct-connections-only</em> to true,
-     this means that this server will only ever connect the address's specified in the list of connectors. ALso notice
-     that <em>max-hops</em> is 2, this is because server 0 is not directly connected to server 2, 2 hops in fact, so we
-     allow any updates from servers up to 2 hops away</p>
-     <pre class="prettyprint">
-     <code>
-     &lt;cluster-connection name="my-cluster"&gt;
-        &lt;connector-ref>netty-connector&lt;/connector-ref>
-        &lt;retry-interval&gt;500&lt;/retry-interval&gt;
-        &lt;use-duplicate-detection&gt;true&lt;/use-duplicate-detection&gt;
-        &lt;message-load-balancing&gt;STRICT&lt;/message-load-balancing&gt;
-        &lt;max-hops&gt;2&lt;/max-hops&gt;
-        &lt;static-connectors allow-direct-connections-only="true"&gt;
-            &lt;connector-ref>server1-connector&lt;/connector-ref&gt;
-         &lt;/static-connectors&gt;
-     &lt;/cluster-connection&gt;
-     </code>
-     </pre>
-     <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-static-oneway/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-oneway/readme.md b/examples/features/clustered/clustered-static-oneway/readme.md
new file mode 100644
index 0000000..a6c2faa
--- /dev/null
+++ b/examples/features/clustered/clustered-static-oneway/readme.md
@@ -0,0 +1,30 @@
+# JMS Load Balanced Static Clustered One Way 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 demonstrates a JMS queue deployed on three different nodes. The three nodes are configured to form a one way cluster from a _static_ list of nodes.
+
+A one way cluster is different from a symmetrical cluster in that each node is only connected to one another node in a chain type fashion, so broker 0 -> broker 1 -> broker 2
+
+We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.
+
+We then send some messages via the producer, and we verify that **all** consumers receive the sent messages in a round-robin fashion.
+
+In other words, ActiveMQ Artemis **load balances** the sent messages across all consumers on the cluster
+
+This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.
+
+Here's the relevant snippet from the broker configuration, which tells the broker to form a one way cluster between the three nodes and to load balance the messages between the nodes. Note that we have set _allow-direct-connections-only_ to true, this means that this broker will only ever connect the address's specified in the list of connectors. ALso notice that _max-hops_ is 2, this is because broker 0 is not directly connected to broker 2, 2 hops in fact, so we allow any updates from servers up to 2 hops away
+
+    <cluster-connection name="my-cluster">
+       <connector-ref>netty-connector</connector-ref>
+       <retry-interval>500</retry-interval>
+       <use-duplicate-detection>true</use-duplicate-detection>
+       <message-load-balancing>STRICT</message-load-balancing>
+       <max-hops>2</max-hops>
+       <static-connectors allow-direct-connections-only="true">
+           <connector-ref>server1-connector</connector-ref>
+        </static-connectors>
+    </cluster-connection>
+
+For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml
index 6557c6a..a6f03df 100644
--- a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml
@@ -14,10 +14,8 @@
   ~ 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.
-  --><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">
 
       <name>broker0</name>
@@ -70,7 +68,7 @@
          </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/clustered/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml
index 265cd6b..ea62620 100644
--- a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml
@@ -14,10 +14,8 @@
   ~ 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.
-  --><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">
 
       <name>broker1</name>
@@ -70,7 +68,7 @@
          </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/clustered/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml
index 272fa84..dd5e390 100644
--- a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml
@@ -14,10 +14,8 @@
   ~ 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.
-  --><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">
 
       <name>broker2</name>
@@ -65,7 +63,7 @@
          </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/clustered/clustered-topic-uri/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-topic-uri/pom.xml b/examples/features/clustered/clustered-topic-uri/pom.xml
index 7cdea91..836e214 100644
--- a/examples/features/clustered/clustered-topic-uri/pom.xml
+++ b/examples/features/clustered/clustered-topic-uri/pom.xml
@@ -29,7 +29,7 @@ under the License.
 
    <artifactId>clustered-topic-uri</artifactId>
    <packaging>jar</packaging>
-   <name>ActiveMQ Artemis JMS Clustered Topic Example</name>
+   <name>ActiveMQ Artemis JMS Clustered Topic URI Example</name>
 
    <properties>
       <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
@@ -151,6 +151,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/clustered/clustered-topic-uri/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-topic-uri/readme.html b/examples/features/clustered/clustered-topic-uri/readme.html
deleted file mode 100644
index e7998a2..0000000
--- a/examples/features/clustered/clustered-topic-uri/readme.html
+++ /dev/null
@@ -1,46 +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 Clustered Topic 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 Clustered Topic 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 demonstrates a JMS Topic deployed on two different nodes. The two nodes are configured to form a cluster.</p>
-     <p>We then create a subscriber on the topic on each node, and we create a producer on only one of the nodes.</p>
-     <p>We then send some messages via the producer, and we verify that <b>both</b> subscribers receive all the
-     sent messages.</p>
-     <p>A JMS Topic is an example of <b>publish-subscribe</b> messaging where all subscribers receive all the
-     messages sent to the topic (assuming they have no message selectors).</p>
-     <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use
-     JNDI, these could be instantiated directly.
-     <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes
-     and to load balance the messages between the nodes.</p>
-     <p>This example differes from different-topic as it will use an URI to define the cluster connection.</p>
-     <pre class="prettyprint"><code>&lt;cluster-connection-uri name="my-cluster" address="uri="multicast://my-discovery-group?messageLoadBalancingType=STRICT;retryInterval=500;connectorName=netty-connector;maxHops=1"/&gt;</code></pre>
-     <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-topic-uri/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-topic-uri/readme.md b/examples/features/clustered/clustered-topic-uri/readme.md
new file mode 100644
index 0000000..22b9d18
--- /dev/null
+++ b/examples/features/clustered/clustered-topic-uri/readme.md
@@ -0,0 +1,21 @@
+# JMS Clustered Topic URI 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 demonstrates a JMS Topic deployed on two different nodes. The two nodes are configured to form a cluster.
+
+We then create a subscriber on the topic on each node, and we create a producer on only one of the nodes.
+
+We then send some messages via the producer, and we verify that **both** subscribers receive all the sent messages.
+
+A JMS Topic is an example of **publish-subscribe** messaging where all subscribers receive all the messages sent to the topic (assuming they have no message selectors).
+
+This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.
+
+Here's the relevant snippet from the broker configuration, which tells the broker to form a cluster between the two nodes and to load balance the messages between the nodes.
+
+This example differs from different-topic as it will use an URI to define the cluster connection.
+
+    <cluster-connection-uri name="my-cluster" address="uri="multicast://my-discovery-group?messageLoadBalancingType=STRICT;retryInterval=500;connectorName=netty-connector;maxHops=1"/>
+
+For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server0/broker.xml
index 2f1129c..d6e9ef8 100644
--- a/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-topic-uri/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>
@@ -78,7 +76,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/clustered/clustered-topic-uri/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server1/broker.xml
index aa6337c..9450a55 100644
--- a/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-topic-uri/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>
@@ -76,7 +74,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/clustered/clustered-topic/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-topic/pom.xml b/examples/features/clustered/clustered-topic/pom.xml
index a7ac39b..b4ddbda 100644
--- a/examples/features/clustered/clustered-topic/pom.xml
+++ b/examples/features/clustered/clustered-topic/pom.xml
@@ -151,6 +151,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/clustered/clustered-topic/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-topic/readme.html b/examples/features/clustered/clustered-topic/readme.html
deleted file mode 100644
index a36fd05..0000000
--- a/examples/features/clustered/clustered-topic/readme.html
+++ /dev/null
@@ -1,54 +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 Clustered Topic 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 Clustered Topic 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 demonstrates a JMS Topic deployed on two different nodes. The two nodes are configured to form a cluster.</p>
-     <p>We then create a subscriber on the topic on each node, and we create a producer on only one of the nodes.</p>
-     <p>We then send some messages via the producer, and we verify that <b>both</b> subscribers receive all the
-     sent messages.</p>
-     <p>A JMS Topic is an example of <b>publish-subscribe</b> messaging where all subscribers receive all the
-     messages sent to the topic (assuming they have no message selectors).</p>
-     <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use
-     JNDI, these could be instantiated directly.
-     <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes
-     and to load balance the messages between the nodes.</p>
-     <pre class="prettyprint">
-     <code>&lt;cluster-connection name="my-cluster"&gt;
-        &lt;retry-interval&gt;500&lt;/retry-interval&gt;
-        &lt;use-duplicate-detection&gt;true&lt;/use-duplicate-detection&gt;
-        &lt;message-load-balancing&gt;STRICT&lt;/message-load-balancing&gt;
-        &lt;max-hops&gt;1&lt;/max-hops&gt;
-        &lt;discovery-group-ref discovery-group-name="my-discovery-group"/&gt;
-     &lt;/cluster-connection&gt;
-     </code>
-     </pre>
-     <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-topic/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-topic/readme.md b/examples/features/clustered/clustered-topic/readme.md
new file mode 100644
index 0000000..397d0e7
--- /dev/null
+++ b/examples/features/clustered/clustered-topic/readme.md
@@ -0,0 +1,25 @@
+# JMS Clustered Topic 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 demonstrates a JMS Topic deployed on two different nodes. The two nodes are configured to form a cluster.
+
+We then create a subscriber on the topic on each node, and we create a producer on only one of the nodes.
+
+We then send some messages via the producer, and we verify that **both** subscribers receive all the sent messages.
+
+A JMS Topic is an example of **publish-subscribe** messaging where all subscribers receive all the messages sent to the topic (assuming they have no message selectors).
+
+This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.
+
+Here's the relevant snippet from the broker configuration, which tells the broker to form a cluster between the two nodes and to load balance the messages between the nodes.
+
+    <cluster-connection name="my-cluster">
+       <retry-interval>500</retry-interval>
+       <use-duplicate-detection>true</use-duplicate-detection>
+       <message-load-balancing>STRICT</message-load-balancing>
+       <max-hops>1</max-hops>
+       <discovery-group-ref discovery-group-name="my-discovery-group"/>
+    </cluster-connection>
+
+For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/clustered-topic/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-topic/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-topic/src/main/resources/activemq/server0/broker.xml
index 38d3f3b..466f0ee 100644
--- a/examples/features/clustered/clustered-topic/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-topic/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>
@@ -85,7 +83,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/clustered/clustered-topic/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/clustered-topic/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-topic/src/main/resources/activemq/server1/broker.xml
index afe16c1..dfa7b8b 100644
--- a/examples/features/clustered/clustered-topic/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-topic/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>
@@ -83,7 +81,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/clustered/queue-message-redistribution/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/queue-message-redistribution/pom.xml b/examples/features/clustered/queue-message-redistribution/pom.xml
index 79acc8e..79d4746 100644
--- a/examples/features/clustered/queue-message-redistribution/pom.xml
+++ b/examples/features/clustered/queue-message-redistribution/pom.xml
@@ -152,7 +152,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/clustered/queue-message-redistribution/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/queue-message-redistribution/readme.html b/examples/features/clustered/queue-message-redistribution/readme.html
deleted file mode 100644
index 35fcafe..0000000
--- a/examples/features/clustered/queue-message-redistribution/readme.html
+++ /dev/null
@@ -1,61 +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 Message Redistribution 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>Message Redistribution 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 demonstrates message redistribution between queues with the same name deployed in different
-     nodes of a cluster.</p>
-     <p>As demontrated in the clustered queue example, if queues with the same name are deployed on different nodes of
-     a cluster, ActiveMQ Artemis can be configured to load balance messages between the nodes on the server side.</p>
-     <p>However, if the consumer(s) on a particular node are closed, then messages in the queue at that node can
-     appear to be stranded, since they have no local consumers.</p>
-     <p>If this is undesirable, ActiveMQ Artemis can be configured to <b>redistribute</b> messages from the node
-     with no consumers, to nodes where there are consumers. If the consumers have JMS selectors set on them, then they
-     will only be redistributed to nodes with consumers whose selectors match.</p>
-     <p>By default, message redistribution is disabled, but can be enabled by specifying some AddressSettings configuration
-     in either <code>activemq-queues.xml</code> or <code>broker.xml</code></p>
-     <p>Setting <code>redistribution-delay</code> to <code>0</code> will cause redistribution to occur immediately
-     once there are no more matching consumers on a particular queue instance. Setting it to a positive value > 0 specifies
-     a delay in milliseconds before attempting to redistribute. The delay is useful in the case that another consumer is
-     likely to be created on the queue, to avoid unnecessary redistribution.</p>
-     <p>Here's the relevant snippet from the <code>activemq-queues.xml</code> configuration, which tells the server
-     to use a redistribution delay of <code>0</code> on any jms queues, i.e. any queues whose name starts with
-     <code>jms.</code></p>
-     <pre class="prettyprint">
-     <code>
-  &lt;address-setting match="jms.#"&gt;
-      &lt;redistribution-delay&gt;0&lt;/redistribution-delay&gt;
-   &lt;/address-setting&gt;
-   </code>
-     </pre>
-     <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/queue-message-redistribution/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/queue-message-redistribution/readme.md b/examples/features/clustered/queue-message-redistribution/readme.md
new file mode 100644
index 0000000..f1a7575
--- /dev/null
+++ b/examples/features/clustered/queue-message-redistribution/readme.md
@@ -0,0 +1,23 @@
+# Message Redistribution 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 demonstrates message redistribution between queues with the same name deployed in different nodes of a cluster.
+
+As demontrated in the clustered queue example, if queues with the same name are deployed on different nodes of a cluster, ActiveMQ Artemis can be configured to load balance messages between the nodes on the broker side.
+
+However, if the consumer(s) on a particular node are closed, then messages in the queue at that node can appear to be stranded, since they have no local consumers.
+
+If this is undesirable, ActiveMQ Artemis can be configured to **redistribute** messages from the node with no consumers, to nodes where there are consumers. If the consumers have JMS selectors set on them, then they will only be redistributed to nodes with consumers whose selectors match.
+
+By default, message redistribution is disabled, but can be enabled by specifying some AddressSettings configuration in either `activemq-queues.xml` or `broker.xml`
+
+Setting `redistribution-delay` to `0` will cause redistribution to occur immediately once there are no more matching consumers on a particular queue instance. Setting it to a positive value > 0 specifies a delay in milliseconds before attempting to redistribute. The delay is useful in the case that another consumer is likely to be created on the queue, to avoid unnecessary redistribution.
+
+Here's the relevant snippet from the `activemq-queues.xml` configuration, which tells the broker to use a redistribution delay of `0` on any jms queues, i.e. any queues whose name starts with `jms.`
+
+    <address-setting match="#">
+       <redistribution-delay>0</redistribution-delay>
+    </address-setting>
+
+For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server0/broker.xml
index 976c0e7..a691057 100644
--- a/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/queue-message-redistribution/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>
@@ -84,7 +82,7 @@ under the License.
       </security-settings>
 
       <address-settings>
-         <!-- We set a redistribution delay of zero on all jms queues and topic subscriptions
+         <!-- We set a redistribution delay of zero on everything.
          Default redistribution delay as -1 which means "disable redistribution"
          Setting it to a value > 0 means how long to wait before redistributing, if a consumer is closed
          then another one quickly recreated you might want to set it thus, to avoid unnecessary
@@ -94,10 +92,10 @@ under the License.
          </address-setting>
       </address-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <anycast>
-               <queue name="jms.queue.exampleQueue"/>
+               <queue name="exampleQueue"/>
             </anycast>
          </address>
       </addresses>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server1/broker.xml
index 366fa09..c6bc92b 100644
--- a/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/queue-message-redistribution/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>
@@ -85,7 +83,7 @@ under the License.
       </security-settings>
 
       <address-settings>
-         <!-- We set a redistribution delay of zero on all jms queues and topic subscriptions
+         <!-- We set a redistribution delay of zero on everything.
          Default redistribution delay as -1 which means "disable redistribution"
          Setting it to a value > 0 means how long to wait before redistributing, if a consumer is closed
          then another one quickly recreated you might want to set it thus, to avoid unnecessary
@@ -95,10 +93,10 @@ under the License.
          </address-setting>
       </address-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <anycast>
-               <queue name="jms.queue.exampleQueue"/>
+               <queue name="exampleQueue"/>
             </anycast>
          </address>
       </addresses>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/symmetric-cluster/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/symmetric-cluster/pom.xml b/examples/features/clustered/symmetric-cluster/pom.xml
index a642477..3b7c970 100644
--- a/examples/features/clustered/symmetric-cluster/pom.xml
+++ b/examples/features/clustered/symmetric-cluster/pom.xml
@@ -313,7 +313,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
+   <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>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/symmetric-cluster/readme.html
----------------------------------------------------------------------
diff --git a/examples/features/clustered/symmetric-cluster/readme.html b/examples/features/clustered/symmetric-cluster/readme.html
deleted file mode 100644
index 78665d6..0000000
--- a/examples/features/clustered/symmetric-cluster/readme.html
+++ /dev/null
@@ -1,73 +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 Symmetric Cluster 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 Symmetric Cluster 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 examples demonstrates a <b>symmetric cluster</b> set-up with ActiveMQ Artemis.</p>
-     <p>ActiveMQ Artemis has extremely flexible clustering which allows you to set-up servers in
-     many different topologies.</p>
-     <p>The most common topology that you'll perhaps be familiar with if you are used to application
-     server clustering is a <b>symmetric cluster</b>.</p>
-     <p>With a symmetric cluster, the cluster is homogeneous, i.e. each node is configured the same
-     as every other node, and every node is connected to every other node in the cluster.</p>
-     <p>By connecting node in such a way, we can, from a JMS point of view, give the impression of distributed
-     JMS queues and topics.</p>
-     <p>The configuration used in this example is very similar to the configuration used by ActiveMQ
-     when installed as a clustered profile in JBoss Application Server.</p>
-     <p>To set up ActiveMQ Artemis to form a symmetric cluster we simply need to mark each server as <code>clustered</code>
-     and we need to define a <code>cluster-connection</code> in <code>broker.xml</code>.</p>
-     <p>The <code>cluster-connection</code> tells the nodes what other nodes to make connections to.
-     With a <code>cluster-connection</code> each node that we connect to can either be specified
-     indivually, or we can use UDP discovery to find out what other nodes are in the cluster.</p>
-     <p>Using UDP discovery makes configuration simpler since we don't have to know what nodes are
-     available at any one time.</p>
-     <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster
-     with the other nodes:</p>
-     <pre class="prettyprint">
-     <code>
-   &lt;cluster-connection name="my-cluster"&gt;
-      &lt;connector-ref>netty-connector&lt;/connector-ref>
-	   &lt;retry-interval&gt;500&lt;/retry-interval&gt;
-	   &lt;use-duplicate-detection&gt;true&lt;/use-duplicate-detection&gt;
-	   &lt;message-load-balancing&gt;STRICT&lt;/message-load-balancing&gt;
-	   &lt;max-hops&gt;1&lt;/max-hops&gt;
-	   &lt;discovery-group-ref discovery-group-name="my-discovery-group"/&gt;
-   &lt;/cluster-connection&gt;
-   </code>
-     </pre>
-     <p>In this example we create a symmetric cluster of six live nodes, and we also pair each live node
-     with it's own backup node. (A backup node is not strictly necessary for a symmetric cluster).</p>
-    <p>In this example will we will demonstrate this by deploying a JMS topic and Queue on all nodes of the cluster
-     , sending messages to the queue and topic from different nodes, and verifying messages are received correctly
-     by consumers on different nodes.</p>
-    <p>For more information on configuring ActiveMQ Artemis clustering in general, please see the clustering
-     section of the user manual.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/symmetric-cluster/readme.md
----------------------------------------------------------------------
diff --git a/examples/features/clustered/symmetric-cluster/readme.md b/examples/features/clustered/symmetric-cluster/readme.md
new file mode 100644
index 0000000..e062028
--- /dev/null
+++ b/examples/features/clustered/symmetric-cluster/readme.md
@@ -0,0 +1,38 @@
+# JMS Symmetric Cluster 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 examples demonstrates a **symmetric cluster** set-up with ActiveMQ Artemis.
+
+ActiveMQ Artemis has extremely flexible clustering which allows you to set-up servers in many different topologies.
+
+The most common topology that you'll perhaps be familiar with if you are used to application broker clustering is a **symmetric cluster**.
+
+With a symmetric cluster, the cluster is homogeneous, i.e. each node is configured the same as every other node, and every node is connected to every other node in the cluster.
+
+By connecting node in such a way, we can, from a JMS point of view, give the impression of distributed JMS queues and topics.
+
+The configuration used in this example is very similar to the configuration used by ActiveMQ when installed as a clustered profile in JBoss Application Server.
+
+To set up ActiveMQ Artemis to form a symmetric cluster we simply need to mark each broker as `clustered` and we need to define a `cluster-connection` in `broker.xml`.
+
+The `cluster-connection` tells the nodes what other nodes to make connections to. With a `cluster-connection` each node that we connect to can either be specified indivually, or we can use UDP discovery to find out what other nodes are in the cluster.
+
+Using UDP discovery makes configuration simpler since we don't have to know what nodes are available at any one time.
+
+Here's the relevant snippet from the broker configuration, which tells the broker to form a cluster with the other nodes:
+
+    <cluster-connection name="my-cluster">
+      <connector-ref>netty-connector</connector-ref>
+	   <retry-interval>500</retry-interval>
+	   <use-duplicate-detection>true</use-duplicate-detection>
+	   <message-load-balancing>STRICT</message-load-balancing>
+	   <max-hops>1</max-hops>
+	   <discovery-group-ref discovery-group-name="my-discovery-group"/>
+    </cluster-connection>
+
+In this example we create a symmetric cluster of six live nodes, and we also pair each live node with it's own backup node. (A backup node is not strictly necessary for a symmetric cluster).
+
+In this example will we will demonstrate this by deploying a JMS topic and Queue on all nodes of the cluster , sending messages to the queue and topic from different nodes, and verifying messages are received correctly by consumers on different nodes.
+
+For more information on configuring ActiveMQ Artemis clustering in general, please see the clustering section of the user manual.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/symmetric-cluster/src/main/java/org/apache/activemq/artemis/jms/example/SymmetricClusterExample.java
----------------------------------------------------------------------
diff --git a/examples/features/clustered/symmetric-cluster/src/main/java/org/apache/activemq/artemis/jms/example/SymmetricClusterExample.java b/examples/features/clustered/symmetric-cluster/src/main/java/org/apache/activemq/artemis/jms/example/SymmetricClusterExample.java
index 1e3ea2b..1ed6a28 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/java/org/apache/activemq/artemis/jms/example/SymmetricClusterExample.java
+++ b/examples/features/clustered/symmetric-cluster/src/main/java/org/apache/activemq/artemis/jms/example/SymmetricClusterExample.java
@@ -45,7 +45,7 @@ import org.apache.activemq.artemis.api.jms.JMSFactoryType;
  * servers at different times, and verify that they transparently fail over onto their backup
  * servers.
  * <p>
- * Please see the readme.html file for more information.
+ * Please see the readme for more information.
  */
 public class SymmetricClusterExample {
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server0/broker.xml
index f538815..c553991 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/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>
@@ -86,7 +84,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/clustered/symmetric-cluster/src/main/resources/activemq/server1/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server1/broker.xml
index be1dbb3..e4cd046 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/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>
@@ -84,7 +82,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/clustered/symmetric-cluster/src/main/resources/activemq/server2/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server2/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server2/broker.xml
index 1f860f4..3289e4c 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server2/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>
@@ -84,7 +82,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/clustered/symmetric-cluster/src/main/resources/activemq/server3/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server3/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server3/broker.xml
index 207e75b..30e5c1e 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server3/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server3/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>
@@ -84,7 +82,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/clustered/symmetric-cluster/src/main/resources/activemq/server4/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server4/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server4/broker.xml
index 92b5ac9..7b2a110 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server4/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server4/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>
@@ -83,7 +81,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/clustered/symmetric-cluster/src/main/resources/activemq/server5/broker.xml
----------------------------------------------------------------------
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server5/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server5/broker.xml
index bd4a4ab..e8acf78 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server5/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server5/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>
@@ -83,7 +81,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/ha/application-layer-failover/pom.xml
----------------------------------------------------------------------
diff --git a/examples/features/ha/application-layer-failover/pom.xml b/examples/features/ha/application-layer-failover/pom.xml
index 9609076..8fb4ad5 100644
--- a/examples/features/ha/application-layer-failover/pom.xml
+++ b/examples/features/ha/application-layer-failover/pom.xml
@@ -99,7 +99,23 @@ under the License.
                </dependency>
             </dependencies>
          </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-clean-plugin</artifactId>
+         </plugin>
       </plugins>
    </build>
-
+   <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>


[02/14] activemq-artemis git commit: ARTEMIS-1562 Refactor example documentation

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/openwire/message-recovery/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/message-recovery/pom.xml b/examples/protocols/openwire/message-recovery/pom.xml
index 000343a..62bf8e4 100644
--- a/examples/protocols/openwire/message-recovery/pom.xml
+++ b/examples/protocols/openwire/message-recovery/pom.xml
@@ -94,7 +94,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/protocols/openwire/message-recovery/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/message-recovery/readme.html b/examples/protocols/openwire/message-recovery/readme.html
deleted file mode 100644
index 2bb884f..0000000
--- a/examples/protocols/openwire/message-recovery/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 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>JMS Queue Message Listener for openwire</h1>
-
-     <pre>This example will start and stop the server within the example.</pre>
-
-     <p>This example shows how to use send messages to a queue, and having these messages recovered from the journal.</p>
-
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/openwire/message-recovery/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/message-recovery/readme.md b/examples/protocols/openwire/message-recovery/readme.md
new file mode 100644
index 0000000..a276fa2
--- /dev/null
+++ b/examples/protocols/openwire/message-recovery/readme.md
@@ -0,0 +1,5 @@
+# JMS Queue Message Listener for OpenWire
+
+This example will start and stop the broker within the example.
+
+This example shows how to use send messages to a queue, and having these messages recovered from the journal.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/openwire/queue/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/queue/pom.xml b/examples/protocols/openwire/queue/pom.xml
index 896bb4c..facd574 100644
--- a/examples/protocols/openwire/queue/pom.xml
+++ b/examples/protocols/openwire/queue/pom.xml
@@ -111,7 +111,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/protocols/openwire/queue/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/queue/readme.html b/examples/protocols/openwire/queue/readme.html
deleted file mode 100644
index 948977f..0000000
--- a/examples/protocols/openwire/queue/readme.html
+++ /dev/null
@@ -1,39 +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 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>JMS Queue Example for open wire</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.</p>
-     <p>This example does exactly the same as the <a href="../../../broker-features/standard/queue/readme.html">queue example under broker-features/standard</a>, however using the openwire client.</p>
-     <p>Queues are a standard part of JMS, please consult the JMS 1.1 specification for full details.</p>
-     <p>A Queue is used to send messages point to point, from a producer to a consumer. The queue guarantees message ordering between these 2 points.</p>
-     <p>Notice this example is using pretty much a default stock configuration</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/openwire/queue/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/openwire/queue/readme.md b/examples/protocols/openwire/queue/readme.md
new file mode 100644
index 0000000..4d77c34
--- /dev/null
+++ b/examples/protocols/openwire/queue/readme.md
@@ -0,0 +1,13 @@
+# JMS Queue Example for OpenWire
+
+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.
+
+This example does exactly the same as the "queue" example however using the OpenWire client.
+
+Queues are a standard part of JMS, please consult the JMS 1.1 specification for full details.
+
+A Queue is used to send messages point to point, from a producer to a consumer. The queue guarantees message ordering between these 2 points.
+
+Notice this example is using pretty much a default stock configuration
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/pom.xml b/examples/protocols/stomp/pom.xml
index 4c51a82..e404d2d 100644
--- a/examples/protocols/stomp/pom.xml
+++ b/examples/protocols/stomp/pom.xml
@@ -44,6 +44,7 @@ under the License.
          <id>release</id>
          <modules>
             <module>stomp</module>
+            <module>stomp-dual-authentication</module>
             <module>stomp-websockets</module>
             <module>stomp-embedded-interceptor</module>
             <module>stomp1.1</module>
@@ -55,6 +56,7 @@ under the License.
          <id>examples</id>
          <modules>
             <module>stomp</module>
+            <module>stomp-dual-authentication</module>
             <module>stomp-embedded-interceptor</module>
             <module>stomp-jms</module>
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp-dual-authentication/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-dual-authentication/pom.xml b/examples/protocols/stomp/stomp-dual-authentication/pom.xml
index 70ae9ff..b9f3883 100644
--- a/examples/protocols/stomp/stomp-dual-authentication/pom.xml
+++ b/examples/protocols/stomp/stomp-dual-authentication/pom.xml
@@ -24,12 +24,12 @@ under the License.
    <parent>
       <groupId>org.apache.activemq.examples.stomp</groupId>
       <artifactId>stomp-examples</artifactId>
-      <version>1.4.0-SNAPSHOT</version>
+      <version>2.5.0-SNAPSHOT</version>
    </parent>
 
    <artifactId>stomp-dual-authentication</artifactId>
    <packaging>jar</packaging>
-   <name>ActiveMQ Artemis JMS Stomp Dual Authentication Example</name>
+   <name>ActiveMQ Artemis Stomp Dual Authentication Example</name>
 
    <properties>
       <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
@@ -110,7 +110,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/protocols/stomp/stomp-dual-authentication/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-dual-authentication/readme.html b/examples/protocols/stomp/stomp-dual-authentication/readme.html
deleted file mode 100644
index 5ed4a2f..0000000
--- a/examples/protocols/stomp/stomp-dual-authentication/readme.html
+++ /dev/null
@@ -1,51 +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 Stomp 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>Stomp Dual Authentication 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 2-way SSL along with 2 different authentications mechanisms so that SSL and non-SSL clients can send and consume messages to/from ActiveMQ Artemis.
-         The non-SSL authentication mechanism simply uses username and password. The SSL authentication mechanism uses the client's certificate. The Stomp client uses SSL socket directly to send
-         a message. Then a JMS client will use a non-SSL connection to consume it.</p>
-
-     <p>The various keystore files are generated using the following commands:</p>
-
-     <p>
-        <pre class="prettyprint">
-           <code>
-keytool -genkey -keystore server-side-keystore.jks -storepass secureexample -keypass secureexample -dname "CN=ActiveMQ Artemis Server, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA
-keytool -export -keystore server-side-keystore.jks -file server-side-cert.cer -storepass secureexample
-keytool -import -keystore client-side-truststore.jks -file server-side-cert.cer -storepass secureexample -keypass secureexample -noprompt
-keytool -genkey -keystore client-side-keystore.jks -storepass secureexample -keypass secureexample -dname "CN=ActiveMQ Artemis Client, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA
-keytool -export -keystore client-side-keystore.jks -file client-side-cert.cer -storepass secureexample
-keytool -import -keystore server-side-truststore.jks -file client-side-cert.cer -storepass secureexample -keypass secureexample -noprompt
-           </code>
-        </pre>
-     </p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp-dual-authentication/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-dual-authentication/readme.md b/examples/protocols/stomp/stomp-dual-authentication/readme.md
new file mode 100644
index 0000000..0da536a
--- /dev/null
+++ b/examples/protocols/stomp/stomp-dual-authentication/readme.md
@@ -0,0 +1,14 @@
+# Stomp Dual Authentication 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 2-way SSL along with 2 different authentications mechanisms so that SSL and non-SSL clients can send and consume messages to/from ActiveMQ Artemis. The non-SSL authentication mechanism simply uses username and password. The SSL authentication mechanism uses the client's certificate. The Stomp client uses SSL socket directly to send a message. Then a JMS client will use a non-SSL connection to consume it.
+
+The various keystore files are generated using the following commands:
+
+* `keytool -genkey -keystore server-side-keystore.jks -storepass secureexample -keypass secureexample -dname "CN=ActiveMQ Artemis Server, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA`
+* `keytool -export -keystore server-side-keystore.jks -file server-side-cert.cer -storepass secureexample`
+* `keytool -import -keystore client-side-truststore.jks -file server-side-cert.cer -storepass secureexample -keypass secureexample -noprompt`
+* `keytool -genkey -keystore client-side-keystore.jks -storepass secureexample -keypass secureexample -dname "CN=ActiveMQ Artemis Client, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA`
+* `keytool -export -keystore client-side-keystore.jks -file client-side-cert.cer -storepass secureexample`
+* `keytool -import -keystore server-side-truststore.jks -file client-side-cert.cer -storepass secureexample -keypass secureexample -noprompt`
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp-dual-authentication/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-dual-authentication/src/main/resources/activemq/server0/broker.xml b/examples/protocols/stomp/stomp-dual-authentication/src/main/resources/activemq/server0/broker.xml
index 6b84763..cf0bb4c 100644
--- a/examples/protocols/stomp/stomp-dual-authentication/src/main/resources/activemq/server0/broker.xml
+++ b/examples/protocols/stomp/stomp-dual-authentication/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>
@@ -46,7 +44,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <anycast>
                <queue name="jms.queue.exampleQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp-embedded-interceptor/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-embedded-interceptor/pom.xml b/examples/protocols/stomp/stomp-embedded-interceptor/pom.xml
index 024bb60..f3919eb 100644
--- a/examples/protocols/stomp/stomp-embedded-interceptor/pom.xml
+++ b/examples/protocols/stomp/stomp-embedded-interceptor/pom.xml
@@ -124,7 +124,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/protocols/stomp/stomp-embedded-interceptor/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-embedded-interceptor/readme.html b/examples/protocols/stomp/stomp-embedded-interceptor/readme.html
deleted file mode 100644
index 46cd264..0000000
--- a/examples/protocols/stomp/stomp-embedded-interceptor/readme.html
+++ /dev/null
@@ -1,37 +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 Stomp 1.1 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>Stomp 1.2 Example</h1>
-
-     <pre>To run the example, simply type <b>mvn verify -Pexample</b> from this directory.</pre>
-
-     <p>This example shows you how to configure ActiveMQ Artemis to intercept received Stomp messages.</p>
-     <p>The example will start a ActiveMQ Artemis server configured with Stomp and JMS.</p>
-     <p>The client will open a socket to initiate a Stomp 1.2 connection and then send one Stomp message (using TCP directly).
-       The interceptor will print each message received.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp-embedded-interceptor/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-embedded-interceptor/readme.md b/examples/protocols/stomp/stomp-embedded-interceptor/readme.md
new file mode 100644
index 0000000..ade1b8e
--- /dev/null
+++ b/examples/protocols/stomp/stomp-embedded-interceptor/readme.md
@@ -0,0 +1,7 @@
+# Stomp Embedded Interceptor Example
+
+To run the example, simply type **mvn verify -Pexample** from this directory.
+
+This example shows you how to configure ActiveMQ Artemis to intercept received Stomp messages.
+
+The client will open a socket to initiate a Stomp 1.2 connection and then send one Stomp message (using TCP directly). The interceptor will print each message received.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp-embedded-interceptor/src/main/resources/activemq/server0/broker.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-embedded-interceptor/src/main/resources/activemq/server0/broker.xml b/examples/protocols/stomp/stomp-embedded-interceptor/src/main/resources/activemq/server0/broker.xml
index 2b83a4a..a4d8e61 100644
--- a/examples/protocols/stomp/stomp-embedded-interceptor/src/main/resources/activemq/server0/broker.xml
+++ b/examples/protocols/stomp/stomp-embedded-interceptor/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>
@@ -58,7 +56,7 @@ under the License.
          </security-setting>
       </security-settings>
 
-   <addresses>
+      <addresses>
          <address name="exampleQueue">
             <anycast>
                <queue name="jms.queue.exampleQueue"/>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp-jms/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-jms/pom.xml b/examples/protocols/stomp/stomp-jms/pom.xml
index 7faae27..a1541e9 100644
--- a/examples/protocols/stomp/stomp-jms/pom.xml
+++ b/examples/protocols/stomp/stomp-jms/pom.xml
@@ -107,7 +107,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/protocols/stomp/stomp-jms/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-jms/readme.html b/examples/protocols/stomp/stomp-jms/readme.html
deleted file mode 100644
index efee00d..0000000
--- a/examples/protocols/stomp/stomp-jms/readme.html
+++ /dev/null
@@ -1,37 +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 Stomp 1.1 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>Stomp 1.2 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 ActiveMQ Artemis to send and receive Stomp messages using Stomp 1.2 protocol.</p>
-     <p>The example will start a ActiveMQ Artemis server configured with Stomp and JMS.</p>
-     <p>On this example we are using  <a href="https://github.com/fusesource/stompjms">stomp-jms</a>.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp-jms/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-jms/readme.md b/examples/protocols/stomp/stomp-jms/readme.md
new file mode 100644
index 0000000..378f0b5
--- /dev/null
+++ b/examples/protocols/stomp/stomp-jms/readme.md
@@ -0,0 +1,5 @@
+# Stomp 1.2 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 ActiveMQ Artemis to send and receive Stomp messages using Stomp 1.2 protocol via the JMS API using the [stomp-jms](https://github.com/fusesource/stompjms) client.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp-websockets/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-websockets/pom.xml b/examples/protocols/stomp/stomp-websockets/pom.xml
index b437024..2047eb4 100644
--- a/examples/protocols/stomp/stomp-websockets/pom.xml
+++ b/examples/protocols/stomp/stomp-websockets/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/protocols/stomp/stomp-websockets/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-websockets/readme.html b/examples/protocols/stomp/stomp-websockets/readme.html
deleted file mode 100644
index 98a34ad..0000000
--- a/examples/protocols/stomp/stomp-websockets/readme.html
+++ /dev/null
@@ -1,55 +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 Stomp WebSockets Example</title>
-    <link rel="stylesheet" type="text/css" href="../../../common/common.css" />
-    <link rel="stylesheet" type="text/css" href="../../../common/prettify.css" />
-    <script src="../../../common/prettify.js"></script>
-  </head>
-  <body onload="prettyPrint()">
-     <h1>Stomp WebSockets 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 ActiveMQ Artemis to send and receive Stomp messages from modern web browser using Web Sockets.</p>
-
-     <p>The example will start a ActiveMQ Artemis server configured with Stomp over Web Sockets and JMS. Web browsers clients and
-       Java application will exchange message using a JMS Topic.</p></para>
-     <pre class="prettyprint">
-&lt;acceptor name="stomp-websocket">tcp://localhost:61614&lt;/acceptor></pre>
-
-     <h2>Example step-by-step</h2>
-
-     <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p>
-
-    <p>To subscribe to the topic from your web browser, open the <a href="chat/index.html">Chat Example</a> or the <a href="aerogear-chat/aerogear-index.html">JBoss AeroGear STOMP notifier Chat Example</a> from another tab.
-      The chat example is preconfigured to connect to the ActiveMQ Artemis server with the URL <code>ws://localhost:61613</code> and subscribe to the JMS Topic (through its core address
-      <code>jms.topic.chat</code>).
-    </p>
-    <p>You can open as many Web clients as you want and they will all exchange messages through the topic</p>
-    <p>If you run again the Java application (with <code>./build.sh</code>), the web clients will also receive its message</p>
-
-    <h2>Documentation</h2>
-    <p>A JavaScript library is used on the browser side to be able to use Stomp Over Web Sockets (please see its <a href="http://jmesnil.net/stomp-websocket/doc/">documentation</a>
-      for a complete description).</p>
-    <p>The <a href="aerogear-chat/aerogear-index.html">JBoss AeroGear STOMP notifier Chat Example</a> is using the AeroGear Notifier which is a collection of adapters that provide a unified or similar API for interacting with different messaging services and protocols. The STOMP adapter is used for communicating with STOMP over WebSockets. See more at: <a href="http://aerogear.org/docs/specs/aerogear-js/">JBoss aerogear-js</a> </p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp-websockets/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-websockets/readme.md b/examples/protocols/stomp/stomp-websockets/readme.md
new file mode 100644
index 0000000..bb26122
--- /dev/null
+++ b/examples/protocols/stomp/stomp-websockets/readme.md
@@ -0,0 +1,17 @@
+# Stomp WebSockets 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 ActiveMQ Artemis to send and receive Stomp messages from modern web browser using Web Sockets.
+
+The example will start a ActiveMQ Artemis broker configured with Stomp over Web Sockets and JMS. Web browsers clients and Java application will exchange message using a JMS Topic.
+
+## Example step-by-step
+
+To subscribe to the topic from your web browser, open the [Chat Example](chat/index.html) from another tab. The chat example is preconfigured to connect to the ActiveMQ Artemis broker with the URL `ws://localhost:61613` and subscribe to the JMS Topic (through its core address `chat`).
+
+You can open as many Web clients as you want and they will all exchange messages through the topic
+
+## Documentation
+
+A JavaScript library is used on the browser side to be able to use Stomp Over Web Sockets (please see its [documentation](http://jmesnil.net/stomp-websocket/doc/) for a complete description).
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp/pom.xml b/examples/protocols/stomp/stomp/pom.xml
index aa016fa..1344ccc 100644
--- a/examples/protocols/stomp/stomp/pom.xml
+++ b/examples/protocols/stomp/stomp/pom.xml
@@ -29,7 +29,7 @@ under the License.
 
    <artifactId>stomp</artifactId>
    <packaging>jar</packaging>
-   <name>ActiveMQ Artemis JMS Stomp Example</name>
+   <name>ActiveMQ Artemis Stomp 1.0 Example</name>
 
    <properties>
       <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
@@ -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/protocols/stomp/stomp/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp/readme.html b/examples/protocols/stomp/stomp/readme.html
deleted file mode 100644
index 33182d0..0000000
--- a/examples/protocols/stomp/stomp/readme.html
+++ /dev/null
@@ -1,38 +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 Stomp 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>Stomp 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 ActiveMQ Artemis to send and receive Stomp messages.</p>
-     <p>The example will start a ActiveMQ Artemis server configured with Stomp and JMS.</p>
-     <p>The client will open a socket to send one Stomp message (using TCP directly).
-       The client will then consume a message from a JMS Queue and check it is the message sent with Stomp.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp/readme.md b/examples/protocols/stomp/stomp/readme.md
new file mode 100644
index 0000000..18ced1e
--- /dev/null
+++ b/examples/protocols/stomp/stomp/readme.md
@@ -0,0 +1,7 @@
+# Stomp 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 ActiveMQ Artemis to send and receive Stomp messages.
+
+The client will open a socket to send one Stomp message (using TCP directly). The client will then consume a message from a queue and check it is the message sent with Stomp.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp1.1/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp1.1/pom.xml b/examples/protocols/stomp/stomp1.1/pom.xml
index 01f2e83..0fa4d33 100644
--- a/examples/protocols/stomp/stomp1.1/pom.xml
+++ b/examples/protocols/stomp/stomp1.1/pom.xml
@@ -29,7 +29,7 @@ under the License.
 
    <artifactId>stomp1.1</artifactId>
    <packaging>jar</packaging>
-   <name>ActiveMQ Artemis JMS Stomp Example</name>
+   <name>ActiveMQ Artemis Stomp 1.1 Example</name>
 
    <properties>
       <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
@@ -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/protocols/stomp/stomp1.1/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp1.1/readme.html b/examples/protocols/stomp/stomp1.1/readme.html
deleted file mode 100644
index 308dcbe..0000000
--- a/examples/protocols/stomp/stomp1.1/readme.html
+++ /dev/null
@@ -1,38 +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 Stomp 1.1 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>Stomp 1.1 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 ActiveMQ Artemis to send and receive Stomp messages using Stomp 1.1 protocol.</p>
-     <p>The example will start a ActiveMQ Artemis server configured with Stomp and JMS.</p>
-     <p>The client will open a socket to initiate a Stomp 1.1 connection and then send one Stomp message (using TCP directly).
-       The client will then consume a message from a JMS Queue and check it is the message sent with Stomp.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp1.1/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp1.1/readme.md b/examples/protocols/stomp/stomp1.1/readme.md
new file mode 100644
index 0000000..37d23af
--- /dev/null
+++ b/examples/protocols/stomp/stomp1.1/readme.md
@@ -0,0 +1,7 @@
+# Stomp 1.1 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 ActiveMQ Artemis to send and receive Stomp messages using Stomp 1.1 protocol.
+
+The client will open a socket to initiate a Stomp 1.1 connection and then send one Stomp message (using TCP directly). The client will then consume a message from a queue and check it is the message sent with Stomp.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp1.2/pom.xml
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp1.2/pom.xml b/examples/protocols/stomp/stomp1.2/pom.xml
index 3f7321d..de6cbf8 100644
--- a/examples/protocols/stomp/stomp1.2/pom.xml
+++ b/examples/protocols/stomp/stomp1.2/pom.xml
@@ -29,7 +29,7 @@ under the License.
 
    <artifactId>stomp1.2</artifactId>
    <packaging>jar</packaging>
-   <name>ActiveMQ Artemis JMS Stomp 1.2 Example</name>
+   <name>ActiveMQ Artemis Stomp 1.2 Example</name>
 
    <properties>
       <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
@@ -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/protocols/stomp/stomp1.2/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp1.2/readme.html b/examples/protocols/stomp/stomp1.2/readme.html
deleted file mode 100644
index 2164c0e..0000000
--- a/examples/protocols/stomp/stomp1.2/readme.html
+++ /dev/null
@@ -1,38 +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 Stomp 1.1 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>Stomp 1.2 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 ActiveMQ Artemis to send and receive Stomp messages using Stomp 1.2 protocol.</p>
-     <p>The example will start a ActiveMQ Artemis server configured with Stomp and JMS.</p>
-     <p>The client will open a socket to initiate a Stomp 1.2 connection and then send one Stomp message (using TCP directly).
-       The client will then consume a message from a JMS Queue and check it is the message sent with Stomp.</p>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/examples/protocols/stomp/stomp1.2/readme.md
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp1.2/readme.md b/examples/protocols/stomp/stomp1.2/readme.md
new file mode 100644
index 0000000..36c2801
--- /dev/null
+++ b/examples/protocols/stomp/stomp1.2/readme.md
@@ -0,0 +1,7 @@
+# Stomp 1.2 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 ActiveMQ Artemis to send and receive Stomp messages using Stomp 1.2 protocol.
+
+The client will open a socket to initiate a Stomp 1.2 connection and then send one Stomp message (using TCP directly). The client will then consume a message from a queue and check it is the message sent with Stomp.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b77cdaf7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9fd45f3..885b970 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1565,6 +1565,7 @@
                <reportFile>${activemq.basedir}/ratReport.txt</reportFile>
                <skip>${skipLicenseCheck}</skip>
                <excludes>
+                  <exclude>**/footer.html</exclude>
                   <exclude>**/*.txt</exclude>
                   <exclude>**/*.md</exclude>
                   <exclude>etc/ide-settings/**</exclude>