You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by dk...@apache.org on 2015/07/01 22:13:56 UTC

svn commit: r956584 [32/37] - in /websites/production/activemq/content: ./ 2004/04/13/ 2004/05/26/ 2004/06/23/ 2004/06/25/ 2004/08/17/ 2004/08/23/ 2004/10/07/ 2004/11/02/ 2004/12/20/ 2005/02/03/ 2005/02/25/ 2005/04/11/ 2005/06/06/ 2005/07/04/ 2005/07/1...

Modified: websites/production/activemq/content/spring-support.html
==============================================================================
--- websites/production/activemq/content/spring-support.html (original)
+++ websites/production/activemq/content/spring-support.html Wed Jul  1 20:13:48 2015
@@ -60,7 +60,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -81,7 +81,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<p>We fully support Spring for configuration of the JMS client side as well as for configuring the JMS Message Broker.<br clear="none"> There is a great <a shape="rect" class="external-link" href="http://codedependents.com/2009/10/16/efficient-lightweight-jms-with-spring-and-activemq/" rel="nofollow">article</a> on using Spring with ActiveMQ - I'd recommend reading it first.</p><h2 id="SpringSupport-ConfiguringtheJMSclient">Configuring the JMS client</h2><p>To configure an ActiveMQ JMS client in Spring it is just a simple matter of configuring an instance of ActiveMQConnectionFactory within a standard Spring XML configuration file like any other bean. There are <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/spring/">several examples and test cases</a> available and <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/activemq/trunk/activemq-unit-tests/src/test/r
 esources/org/apache/activemq/xbean/spring.xml">this one</a> shows how to construct an ActiveMQConnectionFactory in Spring which is then passed into a Spring JmsTemplate for use by some POJOs.</p><p>e.g. the following fragment of XML shows us creating a JMS connection factory for ActiveMQ connecting to a remote broker on a specific host name and port.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><p>We fully support Spring for configuration of the JMS client side as well as for configuring the JMS Message Broker.<br clear="none"> There is a great <a shape="rect" class="external-link" href="http://codedependents.com/2009/10/16/efficient-lightweight-jms-with-spring-and-activemq/" rel="nofollow">article</a> on using Spring with ActiveMQ - I'd recommend reading it first.</p><h2 id="SpringSupport-ConfiguringtheJMSclient">Configuring the JMS client</h2><p>To configure an ActiveMQ JMS client in Spring it is just a simple matter of configuring an instance of ActiveMQConnectionFactory within a standard Spring XML configuration file like any other bean. There are <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/spring/">several examples and test cases</a> available and <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/activem
 q/trunk/activemq-unit-tests/src/test/resources/org/apache/activemq/xbean/spring.xml">this one</a> shows how to construct an ActiveMQConnectionFactory in Spring which is then passed into a Spring JmsTemplate for use by some POJOs.</p><p>e.g. the following fragment of XML shows us creating a JMS connection factory for ActiveMQ connecting to a remote broker on a specific host name and port.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;bean id="jmsFactory" class="org.apache.activemq.ActiveMQConnectionFactory"&gt;
     &lt;property name="brokerURL"&gt;
       &lt;value&gt;tcp://localhost:61616&lt;/value&gt;
@@ -131,7 +131,7 @@
     &lt;/property&gt;
   &lt;/bean&gt;
 </pre>
-</div></div><p>The <code>PooledConnectionFactory</code> supports the pooling of Connection, Session and MessageProducer instances so it can be used with tools like <a shape="rect" class="external-link" href="http://camel.apache.org/activemq.html">Camel</a> and Spring's <a shape="rect" class="external-link" href="http://activemq.apache.org/spring-support.html">JmsTemplate and MessagListenerContainer </a>. Connections, sessions and producers are returned to a pool after use so that they can be reused later without having to undergo the cost of creating them again.</p><p>Note: while the <code>PooledConnectionFactory</code> does allow the creation of a collection of active consumers, it does not 'pool' consumers. Pooling makes sense for connections, sessions and producers, which can be seldom-used resources, are expensive to create and can remain idle a minimal cost. Consumers, on the other hand, are usually just created at startup and left going, handling incoming messages as they come
 . When a consumer is complete, it's preferred to shut down it down rather than leave it idle and return it to a pool for later reuse: this is because, even if the consumer is idle, ActiveMQ will keep delivering messages to the consumer's prefetch buffer, where they'll get held up until the consumer is active again.</p><p>If you are creating a collection of consumers (for example, for multi-threaded message consumption), you should consider keeping a low prefetch value (e.g. 10 or 20), to ensure that all messages don't end up going to just one of the consumers.</p><p>We do also have a pooling JMS ConnectionFactory for use inside a JCA / MDB container (org.apache.activemq.ra.InboundConnectionProxyFactory), when using our JCA Resource Adapter which will reuse the same JMS connection/session which is being used for inbound messages.</p><h2 id="SpringSupport-ConsumingJMSfrominsideSpring">Consuming JMS from inside Spring</h2><p>Spring's <a shape="rect" class="external-link" href="http://s
 tatic.springsource.org/spring/docs/2.5.x/reference/jms.html#jms-mdp" rel="nofollow">MessagListenerContainer</a> should be used for message consumption. This provides all the power of MDBs - efficient JMS consumption and pooling of the message listeners - but without requiring a full EJB container.</p><p>You can use the <code>activemq-pool</code> <code>org.apache.activemq.pool.PooledConnectionFactory</code> for efficient pooling of the connections and sessions for your collection of consumers, or you can use the Spring JMS <code>org.springframework.jms.connection.CachingConnectionFactory</code> to achieve the same effect.</p><h2 id="SpringSupport-MoreInformation">More Information</h2><p>Also check out the following blogs for information about using Spring JMS with ActiveMQ:</p><ul><li><a shape="rect" class="external-link" href="http://codedependents.com/2010/03/04/synchronous-request-response-with-activemq-and-spring/" rel="nofollow">Synchronous Request Response with ActiveMQ and Spr
 ing</a></li><li><a shape="rect" class="external-link" href="http://bsnyderblog.blogspot.com/2010/02/using-spring-jmstemplate-to-send-jms.html" rel="nofollow">Using Spring to Send JMS Messages</a></li><li><a shape="rect" class="external-link" href="http://bsnyderblog.blogspot.com/2010/02/using-spring-to-receive-jms-messages.html" rel="nofollow">Using Spring to Receive JMS Messages</a></li><li><a shape="rect" class="external-link" href="http://bsnyderblog.blogspot.com/2010/05/tuning-jms-message-consumption-in.html" rel="nofollow">Tuning JMS Message Consumption In Spring</a></li></ul>
+</div></div><p>The <code>PooledConnectionFactory</code> supports the pooling of Connection, Session and MessageProducer instances so it can be used with tools like <a shape="rect" class="external-link" href="http://camel.apache.org/activemq.html">Camel</a> and Spring's <a shape="rect" class="external-link" href="http://activemq.apache.org/spring-support.html">JmsTemplate and MessagListenerContainer </a>. Connections, sessions and producers are returned to a pool after use so that they can be reused later without having to undergo the cost of creating them again.</p><p>Note: while the <code>PooledConnectionFactory</code> does allow the creation of a collection of active consumers, it does not 'pool' consumers. Pooling makes sense for connections, sessions and producers, which can be seldom-used resources, are expensive to create and can remain idle a minimal cost. Consumers, on the other hand, are usually just created at startup and left going, handling incoming messages as they come
 . When a consumer is complete, it's preferred to shut down it down rather than leave it idle and return it to a pool for later reuse: this is because, even if the consumer is idle, ActiveMQ will keep delivering messages to the consumer's prefetch buffer, where they'll get held up until the consumer is active again.</p><p>If you are creating a collection of consumers (for example, for multi-threaded message consumption), you should consider keeping a low prefetch value (e.g. 10 or 20), to ensure that all messages don't end up going to just one of the consumers.</p><p>We do also have a pooling JMS ConnectionFactory for use inside a JCA / MDB container (org.apache.activemq.ra.InboundConnectionProxyFactory), when using our JCA Resource Adapter which will reuse the same JMS connection/session which is being used for inbound messages.</p><h2 id="SpringSupport-ConsumingJMSfrominsideSpring">Consuming JMS from inside Spring</h2><p>Spring's <a shape="rect" class="external-link" href="http://s
 tatic.springsource.org/spring/docs/2.5.x/reference/jms.html#jms-mdp" rel="nofollow">MessagListenerContainer</a> should be used for message consumption. This provides all the power of MDBs - efficient JMS consumption and pooling of the message listeners - but without requiring a full EJB container.</p><p>You can use the <code>activemq-pool</code> <code>org.apache.activemq.pool.PooledConnectionFactory</code> for efficient pooling of the connections and sessions for your collection of consumers, or you can use the Spring JMS <code>org.springframework.jms.connection.CachingConnectionFactory</code> to achieve the same effect.</p><h2 id="SpringSupport-MoreInformation">More Information</h2><p>Also check out the following blogs for information about using Spring JMS with ActiveMQ:</p><ul><li><a shape="rect" class="external-link" href="http://codedependents.com/2010/03/04/synchronous-request-response-with-activemq-and-spring/" rel="nofollow">Synchronous Request Response with ActiveMQ and Spr
 ing</a></li><li><a shape="rect" class="external-link" href="http://bsnyderblog.blogspot.com/2010/02/using-spring-jmstemplate-to-send-jms.html" rel="nofollow">Using Spring to Send JMS Messages</a></li><li><a shape="rect" class="external-link" href="http://bsnyderblog.blogspot.com/2010/02/using-spring-to-receive-jms-messages.html" rel="nofollow">Using Spring to Receive JMS Messages</a></li><li><a shape="rect" class="external-link" href="http://bsnyderblog.blogspot.com/2010/05/tuning-jms-message-consumption-in.html" rel="nofollow">Tuning JMS Message Consumption In Spring</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/sqlserver.html
==============================================================================
--- websites/production/activemq/content/sqlserver.html (original)
+++ websites/production/activemq/content/sqlserver.html Wed Jul  1 20:13:48 2015
@@ -60,7 +60,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -81,7 +81,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<h2 id="SQLServer-SQLServer">SQL Server</h2>
+<div class="wiki-content maincontent"><h2 id="SQLServer-SQLServer">SQL Server</h2>
 
 
 <h3 id="SQLServer-SQLServer2000Drivers">SQL Server 2000 Drivers&#160;</h3>
@@ -146,7 +146,7 @@ value="com.microsoft.jdbc.sqlserver.SQLS
 </pre>
 </div></div>
 <p>A note about the jTDS Drivers: Using both the JtdsDataSource and the DBCP BasicDataSource seem to result in client connection starvation on Windows. The JtdsDataSource is better behaved, though, i.e. it doesn't throw an exception. There is mileage in upping the maximum number of client ports and dropping the Tcp wait delay down to 30 seconds. Use RegEdit to add the following values:</p>
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Key </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> TcpTimedWaitDelay </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> DWORD </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 30 (Decimal) </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Reduces the time a connection spends in TIME_WAIT to 30 seconds </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> MaxUserPort </p></td><td colspan="1"
  rowspan="1" class="confluenceTd"><p> DWORD </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 32768 (Decimal) </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Increases the number of ports a client application can use to 32768 </p></td></tr></tbody></table></div>
+<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Key </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> TcpTimedWaitDelay </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> DWORD </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 30 (Decimal) </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Reduces the time a connection spends in TIME_WAIT to 30 seconds </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> MaxUserPort </p></td><td colspan="1"
  rowspan="1" class="confluenceTd"><p> DWORD </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 32768 (Decimal) </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Increases the number of ports a client application can use to 32768 </p></td></tr></tbody></table></div></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/ssl-transport-reference.html
==============================================================================
--- websites/production/activemq/content/ssl-transport-reference.html (original)
+++ websites/production/activemq/content/ssl-transport-reference.html Wed Jul  1 20:13:48 2015
@@ -61,7 +61,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -82,7 +82,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<h3 id="SSLTransportReference-TheSSLTransport">The SSL Transport</h3><p>The SSL transport allows clients to connect to a remote ActiveMQ broker using SSL over a TCP socket.</p><h4 id="SSLTransportReference-ConfigurationSyntax">Configuration Syntax</h4><p><strong>ssl://hostname:port?transportOptions</strong></p><h4 id="SSLTransportReference-TransportOptions">Transport Options</h4><p>The configuration options from <a shape="rect" href="tcp-transport-reference.html">TCP</a> are relevant.</p><h4 id="SSLTransportReference-ExampleURI">Example URI</h4><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<div class="wiki-content maincontent"><h3 id="SSLTransportReference-TheSSLTransport">The SSL Transport</h3><p>The SSL transport allows clients to connect to a remote ActiveMQ broker using SSL over a TCP socket.</p><h4 id="SSLTransportReference-ConfigurationSyntax">Configuration Syntax</h4><p><strong>ssl://hostname:port?transportOptions</strong></p><h4 id="SSLTransportReference-TransportOptions">Transport Options</h4><p>The configuration options from <a shape="rect" href="tcp-transport-reference.html">TCP</a> are relevant.</p><h4 id="SSLTransportReference-ExampleURI">Example URI</h4><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
 <pre>ssl://localhost:61616?trace=false
 </pre>
 </div></div><h4 id="SSLTransportReference-SSLServerSocketoptions">SSLServerSocket options</h4><p>From version 5.4 any <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.4.2/docs/api/javax/net/ssl/SSLServerSocket.html" rel="nofollow">SSLServerSocket</a> option may be set on a TransportConnection via <strong>?transport.XXX</strong>, for example:</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
@@ -107,7 +107,7 @@ ssl://localhost:61616?transport.needClie
 </div></div><p>this way you can see what goes wrong and why you get connections closed.</p><div class="confluence-information-macro confluence-information-macro-warning"><p class="title">"Be careful with multicast discovery"</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>If your XML configuration file contains the following and you wish to use SSL</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">       &lt;networkConnector uri="multicast://default"/&gt;
 </pre>
-</div></div><p>Then you will currently need to comment that out.<br clear="none"> The reason is to prevent ActiveMQ atempting to connect to itself - if you do this with a self-signed<br clear="none"> certificate, you will get a constant spam of certificate_unknown<br clear="none"> stacktraces to the console, as the broker is not configured with the<br clear="none"> truststore,</p></div></div>
+</div></div><p>Then you will currently need to comment that out.<br clear="none"> The reason is to prevent ActiveMQ atempting to connect to itself - if you do this with a self-signed<br clear="none"> certificate, you will get a constant spam of certificate_unknown<br clear="none"> stacktraces to the console, as the broker is not configured with the<br clear="none"> truststore,</p></div></div></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/static-transport-reference.html
==============================================================================
--- websites/production/activemq/content/static-transport-reference.html (original)
+++ websites/production/activemq/content/static-transport-reference.html Wed Jul  1 20:13:48 2015
@@ -51,7 +51,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -72,7 +72,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<h3 id="StaticTransportReference-TheStaticTransport">The Static Transport</h3>
+<div class="wiki-content maincontent"><h3 id="StaticTransportReference-TheStaticTransport">The Static Transport</h3>
 
 <p>The static transport provides a hard coded mechanism to discover other connections using a list of URIs. A connection using this discovery mechanism will attempt to connect to all URIs in the list until it is succesful.</p>
 
@@ -94,7 +94,7 @@
 
 <h5 id="StaticTransportReference-Notes">Notes</h5>
 
-<p>As the static transport protocol is for broker discovery, it should not be used by client programs. Clients wishing to failover to a static list of broker instances, should use the <a shape="rect" class="external-link" href="http://activemq.apache.org/failover-transport-reference.html">failover://</a> transport instead. </p>
+<p>As the static transport protocol is for broker discovery, it should not be used by client programs. Clients wishing to failover to a static list of broker instances, should use the <a shape="rect" class="external-link" href="http://activemq.apache.org/failover-transport-reference.html">failover://</a> transport instead. </p></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/statisticsplugin.html
==============================================================================
--- websites/production/activemq/content/statisticsplugin.html (original)
+++ websites/production/activemq/content/statisticsplugin.html Wed Jul  1 20:13:48 2015
@@ -61,7 +61,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -82,7 +82,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<p>Beginning in ActiveMQ 5.3, a statistics plugin is included that can be used to retrieve statistics from the broker or its destinations. Note that the message must contain a <code>replyTo</code> header (the <code>jmsReplyTo</code> header if you're using JMS) else the message will be ignored. The <code>replyTo</code> header must contain the name of the destination from which you want to retrieve the stats message(s). The statistics message is a <code>MapMessage</code> populated with statistics for the target (i.e., a broker or a destination).</p><p>To retrieve stats for the broker, just send an empty message to the destination named <code>ActiveMQ.Statistics.Broker</code> along with a <code>replyTo</code> header. To retrieve stats for a destination, just send an empty message to the destination named <code>ActiveMQ.Statistics.Destination.&lt;destination-name&gt;</code> or <code>ActiveMQ.Statistics.Destination.&lt;wildcard-expression&gt;</code> along with a <code>replyTo</code> head
 er. If many destinations match a given wildcard expression, one stats message for each destination will be sent to the <code>replyTo</code> destination.</p><p>To configure ActiveMQ to use the statistics plugin, just add the following to the ActiveMQ XML configuration:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><p>Beginning in ActiveMQ 5.3, a statistics plugin is included that can be used to retrieve statistics from the broker or its destinations. Note that the message must contain a <code>replyTo</code> header (the <code>jmsReplyTo</code> header if you're using JMS) else the message will be ignored. The <code>replyTo</code> header must contain the name of the destination from which you want to retrieve the stats message(s). The statistics message is a <code>MapMessage</code> populated with statistics for the target (i.e., a broker or a destination).</p><p>To retrieve stats for the broker, just send an empty message to the destination named <code>ActiveMQ.Statistics.Broker</code> along with a <code>replyTo</code> header. To retrieve stats for a destination, just send an empty message to the destination named <code>ActiveMQ.Statistics.Destination.&lt;destination-name&gt;</code> or <code>ActiveMQ.Statistics.Destination.&lt;wildcard-expression&gt;</code> 
 along with a <code>replyTo</code> header. If many destinations match a given wildcard expression, one stats message for each destination will be sent to the <code>replyTo</code> destination.</p><p>To configure ActiveMQ to use the statistics plugin, just add the following to the ActiveMQ XML configuration:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;broker ...&gt;
   &lt;plugins&gt;
     &lt;statisticsBrokerPlugin/&gt;
@@ -157,7 +157,7 @@ for (Enumeration e = reply.getMapNames()
 </pre>
 </div></div><p>An example output from the code above is shown below:</p><div class="panel" style="border-width: 1px;"><div class="panelContent">
 <p>selector=null<br clear="none"> dispatchedQueueSize=1<br clear="none"> maximumPendingMessageLimit=0<br clear="none"> exclusive=false<br clear="none"> connectionId=ID:dejan-bosanacs-macbook-pro-2.local-64989-1335528942875-4:1<br clear="none"> destinationName=Test.Queue<br clear="none"> clientId=ID:dejan-bosanacs-macbook-pro-2.local-64989-1335528942875-3:1<br clear="none"> slowConsumer=false<br clear="none"> prefetchSize=1000<br clear="none"> sessionId=1<br clear="none"> dequeueCounter=0<br clear="none"> enqueueCounter=1<br clear="none"> retroactive=false<br clear="none"> dispatchedCounter=1</p>
-</div></div>
+</div></div></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/stomp.html
==============================================================================
--- websites/production/activemq/content/stomp.html (original)
+++ websites/production/activemq/content/stomp.html Wed Jul  1 20:13:48 2015
@@ -61,7 +61,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -82,7 +82,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<p>ActiveMQ supports the <a shape="rect" class="external-link" href="http://stomp.github.com/" rel="nofollow">Stomp</a> protocol and the Stomp - JMS mapping. This makes it easy to write a client in pure <a shape="rect" href="ruby.html">Ruby</a>, <a shape="rect" href="perl.html">Perl</a>, <a shape="rect" href="python.html">Python</a> or <a shape="rect" href="php.html">PHP</a> for working with ActiveMQ.</p><p>Please see the <a shape="rect" class="external-link" href="http://stomp.codehaus.org/" rel="nofollow">Stomp site</a> for more details</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Spec Compliance</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>ActiveMQ v5.6 implements the Stomp v1.1 spec except for allowing spaces at the beginning or end of message header keys, they are preserved in the header values however. In future rele
 ases this will not be the case, clients should be updated and user code checked to ensure that spaces in the headers are there intentionally and not as a accident or a client "feature".</p></div></div><h3 id="Stomp-EnablingtheActiveMQBrokerforStomp">Enabling the ActiveMQ Broker for Stomp</h3><p>Its very easy to enable ActiveMQ for Stomp. Just add a connector to the broker using the stomp URL.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><p>ActiveMQ supports the <a shape="rect" class="external-link" href="http://stomp.github.com/" rel="nofollow">Stomp</a> protocol and the Stomp - JMS mapping. This makes it easy to write a client in pure <a shape="rect" href="ruby.html">Ruby</a>, <a shape="rect" href="perl.html">Perl</a>, <a shape="rect" href="python.html">Python</a> or <a shape="rect" href="php.html">PHP</a> for working with ActiveMQ.</p><p>Please see the <a shape="rect" class="external-link" href="http://stomp.codehaus.org/" rel="nofollow">Stomp site</a> for more details</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Spec Compliance</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>ActiveMQ v5.6 implements the Stomp v1.1 spec except for allowing spaces at the beginning or end of message header keys, they are preserved in the
  header values however. In future releases this will not be the case, clients should be updated and user code checked to ensure that spaces in the headers are there intentionally and not as a accident or a client "feature".</p></div></div><h3 id="Stomp-EnablingtheActiveMQBrokerforStomp">Enabling the ActiveMQ Broker for Stomp</h3><p>Its very easy to enable ActiveMQ for Stomp. Just add a connector to the broker using the stomp URL.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;transportConnectors&gt;
    &lt;transportConnector name="stomp" uri="stomp://localhost:61613"/&gt;
 &lt;/transportConnectors&gt;
@@ -194,7 +194,7 @@ connection.disconnect();
 </div></div><p>This example is distributed with the ActiveMQ distribution. You can run it from the <code>example</code> folder with</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">ant stomp
 </pre>
-</div></div><h3 id="Stomp-StompextensionsforJMSmessagesemantics">Stomp extensions for JMS message semantics</h3><p>Note that Stomp is designed to be as simple as possible - so any scripting language / platform can message any other with minimal effort.</p><p>Stomp allows pluggable headers on each request such as sending &amp; receiving messages. ActiveMQ has several extensions to the Stomp protocol, so that JMS semantics can be supported by Stomp clients. An OpenWire JMS producer can send messages to a Stomp consumer, and a Stomp producer can send messages to an OpenWire JMS consumer. And Stomp to Stomp configurations, can use the richer JMS message control.</p><p>Stomp supports the following standard JMS properties on SENT messages:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Stomp header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>JMS header</p></th><th colspan="1" rowspan="1" class="confl
 uenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>correlation-id</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSCorrelationID</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Good consumers will add this header to any responses they send</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>expires</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSExpiration</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Expiration time of the message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>persistent</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSDeliveryMode</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not the message is persistent</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>priority</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSPriority</p></td><td colspan="1" rowspan="1" clas
 s="confluenceTd"><p>Priority on the message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>reply-to</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSReplyTo</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Destination you should send replies to</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>type</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Type of the message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSXGroupID</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSXGroupID</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the <a shape="rect" href="message-groups.html">Message Groups</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSXGroupSeq</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSXGroupSeq</p></td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p>Optional header that specifies the sequence number in the <a shape="rect" href="message-groups.html">Message Groups</a></p></td></tr></tbody></table></div><h3 id="Stomp-ActiveMQextensionstoStomp">ActiveMQ extensions to Stomp</h3><p>You can add custom headers to Stomp commands to configure the ActiveMQ protocol. Here are some examples:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Verb</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CONNECT</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>client-id</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>string</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the JMS Client ID which i
 s used in combination with the activemq.subcriptionName to denote a durable subscriber.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>selector</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>string</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies a JMS Selector using SQL 92 syntax as specified in the JMS 1.1 specificiation. This allows a filter to be applied to each message as part of the subscription.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.dispatchAsync</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Should messages be dispatched synchronously or asynchronously from the producer thread for non-durable topics in the broker? For fast consumers set this to <strong>false</stro
 ng>. For slow consumers set it to <strong>true</strong> so that dispatching will not block fast consumers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.exclusive</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>I would like to be an <a shape="rect" href="exclusive-consumer.html">Exclusive Consumer</a> on the queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.maximumPendingMessageLimit</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For <a shape="rect" href="slow-consumer-handling.html">Slow Consumer Handling</a> on non-durable topics by dropping old messages - we can set a maximum-pending limit, such that once a slow consumer b
 acks up to this high water mark we begin to discard old messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.noLocal</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies whether or not locally sent messages should be ignored for subscriptions. Set to <strong>true</strong> to filter out locally sent messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.prefetchSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the maximum number of pending messages that will be dispatched to the client. Once this maximum is reached no more messages are dispatched until the client acknowledges a message. Set to a low value &gt
 ; <strong>1</strong> for fair distribution of messages across consumers when processing messages can be slow. STOMP does not support a value of 0.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.priority</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>byte</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the priority of the consumer so that dispatching can be weighted in priority order.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.retroactive</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For non-durable topics make this subscription <a shape="rect" href="retroactive-consumer.html">retroactive</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE<
 /p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.subscriptionName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>string</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For durable topic subscriptions you must specify the same clientId on the connection and subcriptionName on the subscribe <strong>prior to v5.7.0</strong>.<br clear="none" class="atl-forced-newline"> <em><strong>Note the spelling</strong></em>: subcriptionName NOT subscriptionName. This is not intuitive, but it is how it is implemented in ActiveMQ 4.x. For the 5.0 release of ActiveMQ, both subcriptionName and <strong><em>subscriptionName</em></strong> will be supported <strong>(subcriptionName removed as of v5.6.0)</strong></p></td></tr></tbody></table></div>
+</div></div><h3 id="Stomp-StompextensionsforJMSmessagesemantics">Stomp extensions for JMS message semantics</h3><p>Note that Stomp is designed to be as simple as possible - so any scripting language / platform can message any other with minimal effort.</p><p>Stomp allows pluggable headers on each request such as sending &amp; receiving messages. ActiveMQ has several extensions to the Stomp protocol, so that JMS semantics can be supported by Stomp clients. An OpenWire JMS producer can send messages to a Stomp consumer, and a Stomp producer can send messages to an OpenWire JMS consumer. And Stomp to Stomp configurations, can use the richer JMS message control.</p><p>Stomp supports the following standard JMS properties on SENT messages:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Stomp header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>JMS header</p></th><th colspan="1" rowspan="1" class="confl
 uenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>correlation-id</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSCorrelationID</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Good consumers will add this header to any responses they send</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>expires</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSExpiration</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Expiration time of the message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>persistent</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSDeliveryMode</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not the message is persistent</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>priority</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSPriority</p></td><td colspan="1" rowspan="1" clas
 s="confluenceTd"><p>Priority on the message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>reply-to</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSReplyTo</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Destination you should send replies to</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>type</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Type of the message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSXGroupID</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSXGroupID</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the <a shape="rect" href="message-groups.html">Message Groups</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSXGroupSeq</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JMSXGroupSeq</p></td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p>Optional header that specifies the sequence number in the <a shape="rect" href="message-groups.html">Message Groups</a></p></td></tr></tbody></table></div><h3 id="Stomp-ActiveMQextensionstoStomp">ActiveMQ extensions to Stomp</h3><p>You can add custom headers to Stomp commands to configure the ActiveMQ protocol. Here are some examples:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Verb</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CONNECT</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>client-id</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>string</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the JMS Client ID which i
 s used in combination with the activemq.subcriptionName to denote a durable subscriber.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>selector</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>string</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies a JMS Selector using SQL 92 syntax as specified in the JMS 1.1 specificiation. This allows a filter to be applied to each message as part of the subscription.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.dispatchAsync</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Should messages be dispatched synchronously or asynchronously from the producer thread for non-durable topics in the broker? For fast consumers set this to <strong>false</stro
 ng>. For slow consumers set it to <strong>true</strong> so that dispatching will not block fast consumers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.exclusive</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>I would like to be an <a shape="rect" href="exclusive-consumer.html">Exclusive Consumer</a> on the queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.maximumPendingMessageLimit</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For <a shape="rect" href="slow-consumer-handling.html">Slow Consumer Handling</a> on non-durable topics by dropping old messages - we can set a maximum-pending limit, such that once a slow consumer b
 acks up to this high water mark we begin to discard old messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.noLocal</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies whether or not locally sent messages should be ignored for subscriptions. Set to <strong>true</strong> to filter out locally sent messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.prefetchSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the maximum number of pending messages that will be dispatched to the client. Once this maximum is reached no more messages are dispatched until the client acknowledges a message. Set to a low value &gt
 ; <strong>1</strong> for fair distribution of messages across consumers when processing messages can be slow. STOMP does not support a value of 0.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.priority</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>byte</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the priority of the consumer so that dispatching can be weighted in priority order.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.retroactive</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For non-durable topics make this subscription <a shape="rect" href="retroactive-consumer.html">retroactive</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SUBSCRIBE<
 /p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq.subscriptionName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>string</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For durable topic subscriptions you must specify the same clientId on the connection and subcriptionName on the subscribe <strong>prior to v5.7.0</strong>.<br clear="none" class="atl-forced-newline"> <em><strong>Note the spelling</strong></em>: subcriptionName NOT subscriptionName. This is not intuitive, but it is how it is implemented in ActiveMQ 4.x. For the 5.0 release of ActiveMQ, both subcriptionName and <strong><em>subscriptionName</em></strong> will be supported <strong>(subcriptionName removed as of v5.6.0)</strong></p></td></tr></tbody></table></div></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/structured-message-properties-and-mapmessages.html
==============================================================================
--- websites/production/activemq/content/structured-message-properties-and-mapmessages.html (original)
+++ websites/production/activemq/content/structured-message-properties-and-mapmessages.html Wed Jul  1 20:13:48 2015
@@ -51,7 +51,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -72,7 +72,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<h2 id="StructuredMessagePropertiesandMapMessages-StructuredMessagePropertiesandMapMessages">Structured Message Properties and MapMessages</h2>
+<div class="wiki-content maincontent"><h2 id="StructuredMessagePropertiesandMapMessages-StructuredMessagePropertiesandMapMessages">Structured Message Properties and MapMessages</h2>
 
 <p>This JMS extension feature allows you to attach Map and List properties to any JMS Message or to use nested Maps and Lists inside a MapMessage. This allows you to efficiently send typesafe structured information in your messages without requiring the overhead of XML/XSD parsing which are parseable in other languages like C, C++, C# etc.</p>
 
@@ -83,7 +83,7 @@
 
 <p>The value can be an arbitrarily nested structure of Maps, Lists and primitive objects (numbers and strings). To give you an idea of the kinds of things you can do you could try looking at these unit test cases</p>
 
-<ul><li><a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/test/message/NestedMapMessageTest.java">NestedMapMessageTest</a></li><li><a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/test/message/NestedMapAndListPropertyTest.java">NestedMapAndListPropertyTest</a></li></ul>
+<ul><li><a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/test/message/NestedMapMessageTest.java">NestedMapMessageTest</a></li><li><a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/test/message/NestedMapAndListPropertyTest.java">NestedMapAndListPropertyTest</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/subscription-recovery-policy.html
==============================================================================
--- websites/production/activemq/content/subscription-recovery-policy.html (original)
+++ websites/production/activemq/content/subscription-recovery-policy.html Wed Jul  1 20:13:48 2015
@@ -51,7 +51,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -72,7 +72,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<p>The subscription recovery policy allows you to go back in time when you subscribe to a topic.</p><p>For example imagine you are processing a price feed; you're using a federated network and either a network glitch occurs or someone kills the broker you're talking to. If you reconnect to another broker in the cluster you may have lost messages.</p><p>So we support a timed or fixed size recovery buffer so that if you reconnect to another broker within some time period (depending on volume &amp; RAM this could be 30 seconds to 5 minutes), then any messages you missed during the downtime are redelivered before new messages are delivered to you.</p><p>For more information see <a shape="rect" href="retroactive-consumer.html">Retroactive Consumer</a></p><h3 id="SubscriptionRecoveryPolicy-Lastimagecaching">Last image caching</h3><p>Its often common in financial market data type worlds to want to know the latest price of say IBM stock along with get all the future updates to the price. Hi
 storically you often had a request-reply snapshot quote service for the latest price, then you subscribe to a topic for updates. The issue is the client then has 2 APIs / middlewares to deal with - often quite different things - plus you have an ordering issue (race condition) - the update could beat the last price request so you can get out of order (going back in time to an old price, which could be very old).</p><p>One of our <em>subscription recovery policy</em> implementations is called <strong>Last Image Subscription Policy</strong> which will ensure that when you subscribe to a topic (say PRICES.NASDAQ.IBM), you will receive the last image (the last message that was sent on that topic) plus any updates which occur in the future, with ordering to ensure that the last image is always first before any new messages arrive.</p><p>A common problem in market data type situations is that you may have a cache of last image prices, then a feed of new price changes; if you request the l
 ast price from the cache and subscribe to new prices; depending on how you do it you can either, miss an update or receive a newer update before the old last image arrives (so either get out of order messages).</p><p>Note that you can configure the subscription recovery policy, and most other policies on different destinations or wildcards. So you may use last image policy for prices on topics only and use a buffered fixed size policy for other notifications on different topics etc.</p><h3 id="SubscriptionRecoveryPolicy-SummaryofAvailableRecoveryPolicies">Summary of Available Recovery Policies</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Policy Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Sample Configuration</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>FixedSizedSubscriptionRecoveryPolicy</p>
 </td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;fixedSizedSubscriptionRecoveryPolicy maximumSize="1024"/&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Keep a fixed amount of memory in RAM for message history which is evicted in time order.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>FixedCountSubscriptionRecoveryPolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;fixedCountSubscriptionRecoveryPolicy maximumSize="100"/&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Keep a fixed count of last messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>LastImageSubscriptionRecoveryPolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;lastImageSubscriptionRecoveryPolicy/&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Keep only the last message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>NoSubscriptionRecoveryPolicy</p>
 </td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;noSubscriptionRecoveryPolicy/&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables message recovery.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>QueryBasedSubscriptionRecoveryPolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;queryBasedSubscriptionRecoveryPolicy query="JMSType = 'car' AND color = 'blue'"/&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Perform a user specific query mechanism to load any message they may have missed. Details on message selectors are available here:</p><a shape="rect" class="external-link" href="http://java.sun.com/j2ee/1.4/docs/api/javax/jms/Message.html" rel="nofollow">http://java.sun.com/j2ee/1.4/docs/api/javax/jms/Message.html</a><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>TimedSubscriptionRecoveryPolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;timedS
 ubscriptionRecoveryPolicy recoverDuration="60000" /&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Keep a timed buffer of messages around in memory and use that to recover new subscriptions. Recovery time is in milliseconds.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">RetainedMessageSubscriptionRecoveryPolicy</td><td colspan="1" rowspan="1" class="confluenceTd">&lt;r<span>etainedMessageSubscriptionRecoveryPolicy/&gt;</span></td><td colspan="1" rowspan="1" class="confluenceTd">Keep the last message with ActiveMQ.Retain property set to true</td></tr></tbody></table></div>
+<div class="wiki-content maincontent"><p>The subscription recovery policy allows you to go back in time when you subscribe to a topic.</p><p>For example imagine you are processing a price feed; you're using a federated network and either a network glitch occurs or someone kills the broker you're talking to. If you reconnect to another broker in the cluster you may have lost messages.</p><p>So we support a timed or fixed size recovery buffer so that if you reconnect to another broker within some time period (depending on volume &amp; RAM this could be 30 seconds to 5 minutes), then any messages you missed during the downtime are redelivered before new messages are delivered to you.</p><p>For more information see <a shape="rect" href="retroactive-consumer.html">Retroactive Consumer</a></p><h3 id="SubscriptionRecoveryPolicy-Lastimagecaching">Last image caching</h3><p>Its often common in financial market data type worlds to want to know the latest price of say IBM stock along with get a
 ll the future updates to the price. Historically you often had a request-reply snapshot quote service for the latest price, then you subscribe to a topic for updates. The issue is the client then has 2 APIs / middlewares to deal with - often quite different things - plus you have an ordering issue (race condition) - the update could beat the last price request so you can get out of order (going back in time to an old price, which could be very old).</p><p>One of our <em>subscription recovery policy</em> implementations is called <strong>Last Image Subscription Policy</strong> which will ensure that when you subscribe to a topic (say PRICES.NASDAQ.IBM), you will receive the last image (the last message that was sent on that topic) plus any updates which occur in the future, with ordering to ensure that the last image is always first before any new messages arrive.</p><p>A common problem in market data type situations is that you may have a cache of last image prices, then a feed of n
 ew price changes; if you request the last price from the cache and subscribe to new prices; depending on how you do it you can either, miss an update or receive a newer update before the old last image arrives (so either get out of order messages).</p><p>Note that you can configure the subscription recovery policy, and most other policies on different destinations or wildcards. So you may use last image policy for prices on topics only and use a buffered fixed size policy for other notifications on different topics etc.</p><h3 id="SubscriptionRecoveryPolicy-SummaryofAvailableRecoveryPolicies">Summary of Available Recovery Policies</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Policy Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Sample Configuration</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Fi
 xedSizedSubscriptionRecoveryPolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;fixedSizedSubscriptionRecoveryPolicy maximumSize="1024"/&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Keep a fixed amount of memory in RAM for message history which is evicted in time order.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>FixedCountSubscriptionRecoveryPolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;fixedCountSubscriptionRecoveryPolicy maximumSize="100"/&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Keep a fixed count of last messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>LastImageSubscriptionRecoveryPolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;lastImageSubscriptionRecoveryPolicy/&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Keep only the last message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceT
 d"><p>NoSubscriptionRecoveryPolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;noSubscriptionRecoveryPolicy/&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables message recovery.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>QueryBasedSubscriptionRecoveryPolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&lt;queryBasedSubscriptionRecoveryPolicy query="JMSType = 'car' AND color = 'blue'"/&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Perform a user specific query mechanism to load any message they may have missed. Details on message selectors are available here:</p><a shape="rect" class="external-link" href="http://java.sun.com/j2ee/1.4/docs/api/javax/jms/Message.html" rel="nofollow">http://java.sun.com/j2ee/1.4/docs/api/javax/jms/Message.html</a><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>TimedSubscriptionRecoveryPolicy</p></td><td colspan="1" rowspan=
 "1" class="confluenceTd"><p>&lt;timedSubscriptionRecoveryPolicy recoverDuration="60000" /&gt;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Keep a timed buffer of messages around in memory and use that to recover new subscriptions. Recovery time is in milliseconds.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">RetainedMessageSubscriptionRecoveryPolicy</td><td colspan="1" rowspan="1" class="confluenceTd">&lt;r<span>etainedMessageSubscriptionRecoveryPolicy/&gt;</span></td><td colspan="1" rowspan="1" class="confluenceTd">Keep the last message with ActiveMQ.Retain property set to true</td></tr></tbody></table></div></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/sun-jndi.html
==============================================================================
--- websites/production/activemq/content/sun-jndi.html (original)
+++ websites/production/activemq/content/sun-jndi.html Wed Jul  1 20:13:48 2015
@@ -60,7 +60,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -81,6 +81,8 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
+<div class="wiki-content maincontent">
+
 <p>here's an example jndi.properties file:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -185,7 +187,7 @@ QueueConnectionFactory/RefAddr/5/Type=us
 QueueConnectionFactory/RefAddr/5/Content=true
 QueueConnectionFactory/RefAddr/5/Encoding=String
 </pre>
-</div></div>
+</div></div></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/support.html
==============================================================================
--- websites/production/activemq/content/support.html (original)
+++ websites/production/activemq/content/support.html Wed Jul  1 20:13:48 2015
@@ -51,7 +51,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -72,7 +72,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<h2 id="Support-GettingHelp">Getting Help</h2><p>If you are experiencing problems using ActiveMQ then please report your problem to our <a shape="rect" class="external-link" href="http://issues.apache.org/activemq/browse/AMQ">Issue Tracker</a>. You may also find it useful to discuss your issues with the community on the <a shape="rect" href="discussion-forums.html">Discussion Forums</a> or join one of our <a shape="rect" href="mailing-lists.html">Mailing Lists</a>.</p><ul><li><a shape="rect" class="external-link" href="http://issues.apache.org/activemq/browse/AMQ">Issue Tracker</a></li><li><a shape="rect" href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" href="faq.html">FAQ</a></li></ul><h3 id="Support-Howtogethelp">How to get help</h3><p>Before you report a problem you might want to read the <a shape="rect" href="faq.html">FAQ</a>.<br clear="none"> Whenever you are reporting a problem plea
 se be sure to include as much information as possible; the more we know the more chance of a quicker resolution.</p><ul><li>Which <a shape="rect" class="external-link" href="http://activemq.apache.org/download.html">version</a> of ActiveMQ</li><li>What platform of Java (e.g., Java SE 6 with JRE/<a shape="rect" class="unresolved" href="#">JDK</a> 1.6.0 or J2SE 5 with JRE/<a shape="rect" class="unresolved" href="#">JDK</a> 1.5.0)</li><li>Any particular application/web server or container being used - if so what version?</li><li>Stack traces generally really help! If in doubt include the whole thing; often exceptions get wrapped in other exceptions and the exception right near the bottom explains the actual error, not the first few lines at the top. It's very easy for us to skim-read past unnecessary parts of a stack trace.</li><li>Log output (e.g., <code>data/activemq.log</code>) can be useful too; sometimes <a shape="rect" href="how-do-i-change-the-logging.html">enabling DEBUG loggin
 g</a> can help</li><li>Your code &amp; configuration files are often useful</li></ul><h3 id="Support-Howtogethelpfaster">How to get help faster</h3><p>We can help you much quicker if you try the following</p><ul><li>Provide us with a JUnit test case that demonstrates your issue. e.g. if you think you've found a bug, can you create a test case to demonstrate the bug?</li><li><a shape="rect" href="contributing.html">Submit a patch</a> fixing the bug! (We also buy you beer when we meet you if you submit bug fixes <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)"> )</li><li>For memory leaks or performance related issues, if you can run a profiler on your test case and attach the output as a file (or zipped file if it's huge) to the JIRA we can normally fix things much faster. e.g. you could run <a shape="rect" class="external-li
 nk" href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jmap.html" rel="nofollow">jmap</a>/<a shape="rect" class="external-link" href="http://java.sun.com/javase/6/docs/technotes/tools/share/jhat.html" rel="nofollow">jhat</a>, JProfiler or YourKit on your code and send us the output. To find memory leaks it's quicker to resolve if you can tell us what classes are taking up all of the RAM; we can normally figure out what's wrong from that.</li></ul><h2 id="Support-CommercialSupport">Commercial Support</h2><p>This is an open source project, so the amount of time we have available to help resolve your issue is often limited as all help is provided on a volunteer basis. If you want to get priority help, need to get up to speed quickly, require some training or mentoring, or need full 24 x 7 production support you should contact a commercial company specializing in ActiveMQ support such as...</p><ul><li><a shape="rect" class="external-link" href="http://ameliant.com" rel="nofollow">
 Ameliant</a> is a specialist consultancy based in London, UK that focuses on open source integration and messaging using the Apache integration stack (ActiveMQ, Camel, ServiceMix and CXF). The company delivers consulting targeted towards development teams to address their messaging use cases; getting operations teams up to speed on managing ActiveMQ deployments, with a particular focus on security, high availability, and monitoring; and migrations between versions of ActiveMQ, as well as from other JMS providers. Ameliant does not provide production support for ActiveMQ.</li><li><a shape="rect" class="external-link" href="http://www.openlogic.com/" rel="nofollow">Rogue Wave / OpenLogic</a>&#160;<span style="line-height: 1.4285715;">has a dedicated team of OSS experts offering&#160;</span><span style="line-height: 1.4285715;">round-the-clock Production Support with competitive SLAs for&#160;</span><span style="line-height: 1.4285715;">troubleshooting ActiveMQ issues and outages. Rogu
 e&#160;</span><span style="line-height: 1.4285715;">Wave offers a comprehensive week-long instructor-led training program for&#160;</span><span style="line-height: 1.4285715;">developers and admins. Rogue Wave OpenLogic also provides Architecture&#160;</span><span style="line-height: 1.4285715;">and Design Consulting, and a Developer Support contract to assist in the&#160;</span><span style="line-height: 1.4285715;">development of messaging applications.</span></li><li><a shape="rect" class="external-link" href="http://www.redhat.com/products/jbossenterprisemiddleware/amq/" rel="nofollow">Red Hat</a>&#160;offers JBoss A-MQ, a supported distribution of Apache ActiveMQ, that include Enterprise Developer and Production Support, and offer training and consultancy for enterprise deployments.</li><li><a shape="rect" class="external-link" href="http://www.savoirtech.com" rel="nofollow">Savoir Technologies, Inc</a> provides enterprise consulting, training and support for ActiveMQ and a host
  of other Apache service containers. Savoir can provide best practice mentoring for developing with ActiveMQ, as well as architectural/design reviews, troubleshooting and SOA infrastructure implementations. Savoir's staff includes some of the contributors of ActiveMQ who are on the ground consulting and are familiar with real world implementations and issues.</li><li><a shape="rect" class="external-link" href="http://www.ttmsolutions.com/" rel="nofollow">Total Transaction Management (TTM)</a> provides ActiveMQ consulting and support, as well as security and <a shape="rect" class="external-link" href="http://www.ttmsolutions.com/Transactional_Software_Solutions/Active_Monitor_AMon.php/" rel="nofollow">monitoring</a> add-on products and <a shape="rect" class="external-link" href="http://www.ttmsolutions.com/Apache_Software/ActiveMQ_Reference_Guide.php" rel="nofollow">reference guide</a> for ActiveMQ.</li><li><a shape="rect" class="external-link" href="http://tomitribe.com" rel="nofoll
 ow">Tomitribe</a>&#160;are experts in Tomcat and ActiveMQ integration, champions of Open Source and Java EE. &#160;Tomitribe offers consulting, training and support for TomEE, Tomcat, ActiveMQ, CXF and more.</li><li><a shape="rect" class="external-link" href="http://www.tytoease.com/activemq" rel="nofollow">TytoEASE</a> offers support, consulting and training on enterprise ready open source projects including ActiveMQ.&#160; &#160;Support offerings are at three levels with guaranteed SLA's. The company's consulting work is short term to help troubleshoot, fine-tune, do architectural reviews or help with initial design.&#160; TytoEASE's focus is on the Enterprise with how customers integrate open source with their current technologies.</li></ul>
+<div class="wiki-content maincontent"><h2 id="Support-GettingHelp">Getting Help</h2><p>If you are experiencing problems using ActiveMQ then please report your problem to our <a shape="rect" class="external-link" href="http://issues.apache.org/activemq/browse/AMQ">Issue Tracker</a>. You may also find it useful to discuss your issues with the community on the <a shape="rect" href="discussion-forums.html">Discussion Forums</a> or join one of our <a shape="rect" href="mailing-lists.html">Mailing Lists</a>.</p><ul><li><a shape="rect" class="external-link" href="http://issues.apache.org/activemq/browse/AMQ">Issue Tracker</a></li><li><a shape="rect" href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" href="faq.html">FAQ</a></li></ul><h3 id="Support-Howtogethelp">How to get help</h3><p>Before you report a problem you might want to read the <a shape="rect" href="faq.html">FAQ</a>.<br clear="none"> Whe
 never you are reporting a problem please be sure to include as much information as possible; the more we know the more chance of a quicker resolution.</p><ul><li>Which <a shape="rect" class="external-link" href="http://activemq.apache.org/download.html">version</a> of ActiveMQ</li><li>What platform of Java (e.g., Java SE 6 with JRE/<a shape="rect" class="unresolved" href="#">JDK</a> 1.6.0 or J2SE 5 with JRE/<a shape="rect" class="unresolved" href="#">JDK</a> 1.5.0)</li><li>Any particular application/web server or container being used - if so what version?</li><li>Stack traces generally really help! If in doubt include the whole thing; often exceptions get wrapped in other exceptions and the exception right near the bottom explains the actual error, not the first few lines at the top. It's very easy for us to skim-read past unnecessary parts of a stack trace.</li><li>Log output (e.g., <code>data/activemq.log</code>) can be useful too; sometimes <a shape="rect" href="how-do-i-change-t
 he-logging.html">enabling DEBUG logging</a> can help</li><li>Your code &amp; configuration files are often useful</li></ul><h3 id="Support-Howtogethelpfaster">How to get help faster</h3><p>We can help you much quicker if you try the following</p><ul><li>Provide us with a JUnit test case that demonstrates your issue. e.g. if you think you've found a bug, can you create a test case to demonstrate the bug?</li><li><a shape="rect" href="contributing.html">Submit a patch</a> fixing the bug! (We also buy you beer when we meet you if you submit bug fixes <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)"> )</li><li>For memory leaks or performance related issues, if you can run a profiler on your test case and attach the output as a file (or zipped file if it's huge) to the JIRA we can normally fix things much faster. e.g. you could 
 run <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jmap.html" rel="nofollow">jmap</a>/<a shape="rect" class="external-link" href="http://java.sun.com/javase/6/docs/technotes/tools/share/jhat.html" rel="nofollow">jhat</a>, JProfiler or YourKit on your code and send us the output. To find memory leaks it's quicker to resolve if you can tell us what classes are taking up all of the RAM; we can normally figure out what's wrong from that.</li></ul><h2 id="Support-CommercialSupport">Commercial Support</h2><p>This is an open source project, so the amount of time we have available to help resolve your issue is often limited as all help is provided on a volunteer basis. If you want to get priority help, need to get up to speed quickly, require some training or mentoring, or need full 24 x 7 production support you should contact a commercial company specializing in ActiveMQ support such as...</p><ul><li><a shape="rect" class="external-link" href
 ="http://ameliant.com" rel="nofollow">Ameliant</a> is a specialist consultancy based in London, UK that focuses on open source integration and messaging using the Apache integration stack (ActiveMQ, Camel, ServiceMix and CXF). The company delivers consulting targeted towards development teams to address their messaging use cases; getting operations teams up to speed on managing ActiveMQ deployments, with a particular focus on security, high availability, and monitoring; and migrations between versions of ActiveMQ, as well as from other JMS providers. Ameliant does not provide production support for ActiveMQ.</li><li><a shape="rect" class="external-link" href="http://www.openlogic.com/" rel="nofollow">Rogue Wave / OpenLogic</a>&#160;<span style="line-height: 1.4285715;">has a dedicated team of OSS experts offering&#160;</span><span style="line-height: 1.4285715;">round-the-clock Production Support with competitive SLAs for&#160;</span><span style="line-height: 1.4285715;">troubleshoo
 ting ActiveMQ issues and outages. Rogue&#160;</span><span style="line-height: 1.4285715;">Wave offers a comprehensive week-long instructor-led training program for&#160;</span><span style="line-height: 1.4285715;">developers and admins. Rogue Wave OpenLogic also provides Architecture&#160;</span><span style="line-height: 1.4285715;">and Design Consulting, and a Developer Support contract to assist in the&#160;</span><span style="line-height: 1.4285715;">development of messaging applications.</span></li><li><a shape="rect" class="external-link" href="http://www.redhat.com/products/jbossenterprisemiddleware/amq/" rel="nofollow">Red Hat</a>&#160;offers JBoss A-MQ, a supported distribution of Apache ActiveMQ, that include Enterprise Developer and Production Support, and offer training and consultancy for enterprise deployments.</li><li><a shape="rect" class="external-link" href="http://www.savoirtech.com" rel="nofollow">Savoir Technologies, Inc</a> provides enterprise consulting, traini
 ng and support for ActiveMQ and a host of other Apache service containers. Savoir can provide best practice mentoring for developing with ActiveMQ, as well as architectural/design reviews, troubleshooting and SOA infrastructure implementations. Savoir's staff includes some of the contributors of ActiveMQ who are on the ground consulting and are familiar with real world implementations and issues.</li><li><a shape="rect" class="external-link" href="http://www.ttmsolutions.com/" rel="nofollow">Total Transaction Management (TTM)</a> provides ActiveMQ consulting and support, as well as security and <a shape="rect" class="external-link" href="http://www.ttmsolutions.com/Transactional_Software_Solutions/Active_Monitor_AMon.php/" rel="nofollow">monitoring</a> add-on products and <a shape="rect" class="external-link" href="http://www.ttmsolutions.com/Apache_Software/ActiveMQ_Reference_Guide.php" rel="nofollow">reference guide</a> for ActiveMQ.</li><li><a shape="rect" class="external-link" h
 ref="http://tomitribe.com" rel="nofollow">Tomitribe</a>&#160;are experts in Tomcat and ActiveMQ integration, champions of Open Source and Java EE. &#160;Tomitribe offers consulting, training and support for TomEE, Tomcat, ActiveMQ, CXF and more.</li><li><a shape="rect" class="external-link" href="http://www.tytoease.com/activemq" rel="nofollow">TytoEASE</a> offers support, consulting and training on enterprise ready open source projects including ActiveMQ.&#160; &#160;Support offerings are at three levels with guaranteed SLA's. The company's consulting work is short term to help troubleshoot, fine-tune, do architectural reviews or help with initial design.&#160; TytoEASE's focus is on the Enterprise with how customers integrate open source with their current technologies.</li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/supporting-io-streams.html
==============================================================================
--- websites/production/activemq/content/supporting-io-streams.html (original)
+++ websites/production/activemq/content/supporting-io-streams.html Wed Jul  1 20:13:48 2015
@@ -51,7 +51,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -72,6 +72,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
+<div class="wiki-content maincontent">
 <p>It'd be great to offer kick ass support for streaming files over ActiveMQ of any arbitrary size. The basic idea is to fragment the stream into multiple messages and send/receive those over JMS.</p>
 
 <p>There are a few issues to consider...</p>
@@ -105,7 +106,7 @@
 	<ul><li>If messages sent using transactions, major chanages need may need to be made to how we do transaction management and message journaling.  Currently, all messages in a in progress transaction are held in memory until it commits (Synchronization callbacks are holding on the the messages).  The journal currently holds on to all transacted messages in it's journal + memory until commit, it does now allow the journal to rollover messages that are part of transaction that is in progess.</li></ul>
 	</li><li>given that the entire stream must be processed in one go, we can only ACK the entire stream of messages - so we need to disable pre-fetch?
 	<ul><li>Prefetch disabling is not needed as the consumers send back a special kind of ack which only temporarily expands the prefetch window.</li></ul>
-	</li></ul>
+	</li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/svn.html
==============================================================================
--- websites/production/activemq/content/svn.html (original)
+++ websites/production/activemq/content/svn.html Wed Jul  1 20:13:48 2015
@@ -51,7 +51,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -72,6 +72,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
+<div class="wiki-content maincontent">
 <div class="confluence-information-macro confluence-information-macro-warning"><p class="title">Warning</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Apache ActiveMQ code repository was moved to git, The old svn repo will not be updated.</p></div></div><h1 id="SVN-ActiveMQ5">ActiveMQ 5</h1><h2 id="SVN-WebBrowsingofthegitRepo">Web Browsing of the git Repo</h2><p>To browse via the web:</p><div class="panel" style="border-width: 1px;"><div class="panelContent">
 <p><a shape="rect" class="external-link" href="https://git-wip-us.apache.org/repos/asf?p=activemq.git">https://git-wip-us.apache.org/repos/asf?p=activemq.git</a></p>
 </div></div><h2 id="SVN-CheckingoutfromthegitRepo">Checking out from the git Repo</h2><div class="panel" style="border-width: 1px;"><div class="panelContent">
@@ -82,7 +83,7 @@
 <p><a shape="rect" class="external-link" href="https://github.com/apache/activemq-6" rel="nofollow">https://github.com/apache/activemq-6</a></p>
 </div></div><h2 id="SVN-CheckingoutfromthegitRepo.1">Checking out from the git Repo</h2><div class="panel" style="border-width: 1px;"><div class="panelContent">
 <p>git clone <a shape="rect" class="external-link" href="https://github.com/apache/activemq-6" rel="nofollow">https://github.com/apache/activemq-6</a></p>
-</div></div><p><strong>Committers:</strong> Please follow the instructions for properly configuring the&#160;<a shape="rect" class="external-link" href="http://instructions for Core Contributors" rel="nofollow">http://instructions for Core Contributors</a></p><p><strong>Contributors:</strong> Please create a&#160;<a shape="rect" class="external-link" href="https://github.com/apache/activemq-6" rel="nofollow">pull request</a> to contribute changes to the source code.&#160;</p><h2 id="SVN-Buildingthecode.1">Building the code</h2><p>To then build the code, take a look at&#160;<a shape="rect" class="external-link" href="https://github.com/apache/activemq-6#building-the-distribution" rel="nofollow">Building the distribution</a></p>
+</div></div><p><strong>Committers:</strong> Please follow the instructions for properly configuring the&#160;<a shape="rect" class="external-link" href="http://instructions for Core Contributors" rel="nofollow">http://instructions for Core Contributors</a></p><p><strong>Contributors:</strong> Please create a&#160;<a shape="rect" class="external-link" href="https://github.com/apache/activemq-6" rel="nofollow">pull request</a> to contribute changes to the source code.&#160;</p><h2 id="SVN-Buildingthecode.1">Building the code</h2><p>To then build the code, take a look at&#160;<a shape="rect" class="external-link" href="https://github.com/apache/activemq-6#building-the-distribution" rel="nofollow">Building the distribution</a></p></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/activemq/content/sybase.html
==============================================================================
--- websites/production/activemq/content/sybase.html (original)
+++ websites/production/activemq/content/sybase.html Wed Jul  1 20:13:48 2015
@@ -60,7 +60,7 @@
       <div>
 
 <!-- Banner -->
-<p></p><p>
+<p>
 	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &#8482;
@@ -81,7 +81,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<h2 id="Sybase-Sybase">Sybase</h2>
+<div class="wiki-content maincontent"><h2 id="Sybase-Sybase">Sybase</h2>
 
 <p>A dataSource targetting a Sybase ASE database can be configured as follows:</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Sybase Datasource</b></div><div class="codeContent panelContent pdl">
@@ -108,7 +108,7 @@
 <pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;persistenceAdapter&gt;
   &lt;jdbcPersistenceAdapter dataSource="#sybase-ds" lockDataSource="#another-sybase-ds"/&gt;
 &lt;/persistenceAdapter&gt;</pre>
-</div></div>
+</div></div></div>
         </td>
         <td valign="top">
           <div class="navigation">