Author: buildbot
Date: Fri Mar  7 12:22:26 2014
New Revision: 900447

Log:
Production update by buildbot for activemq

Modified:
    websites/production/activemq/content/cache/main.pageCache
    websites/production/activemq/content/stomp.html

Modified: websites/production/activemq/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/activemq/content/stomp.html
==============================================================================
--- websites/production/activemq/content/stomp.html (original)
+++ websites/production/activemq/content/stomp.html Fri Mar  7 12:22:26 2014
@@ -82,161 +82,63 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<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="aui-message hint shadowed information-macro">
+<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="aui-message 
hint shadowed information-macro">
                     <p class="title">Spec Compliance</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
-                            
-<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>
+                            <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">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;transportConnectors&gt;
+<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">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;transportConnectors&gt;
    &lt;transportConnector name=&quot;stomp&quot; 
uri=&quot;stomp://localhost:61613&quot;/&gt;
 &lt;/transportConnectors&gt;
 ]]></script>
-</div></div>
-<p>To see a full example, try <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/activemq/trunk/assembly/src/release/example/conf/activemq.xml";>this
 XML</a>. If you save that XML as foo.xml then you can run stomp via the 
command line as</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-activemq xbean:foo.xml
+</div></div><p>To see a full example, try <a shape="rect" 
class="external-link" 
href="http://svn.apache.org/repos/asf/activemq/trunk/assembly/src/release/example/conf/activemq.xml";>this
 XML</a>. If you save that XML as foo.xml then you can run stomp via the 
command line as</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[activemq xbean:foo.xml
 ]]></script>
-</div></div>
-
-<p>For more help see <a shape="rect" href="run-broker.html">Run Broker</a>.</p>
-
-
-<h3 id="Stomp-Security">Security</h3>
-
-<p>Stomp implementation fully supports an <a shape="rect" 
href="security.html">ActiveMQ security</a> mechanism. This means that the 
<code>CONNECT</code> command will return an <code>ERROR</code> frame on 
unsuccessful authentication. Also, the authorization policies will be applied 
when you try to access (read/write) certain destinations. If you use  
synchronous operations (by using <a shape="rect" class="external-link" 
href="http://stomp.github.com/stomp-specification-1.1.html#RECEIPT"; 
rel="nofollow">receipts</a>), you can expect an <code>ERROR</code> frame in 
case of unauthorized access attempt. In other case, operations will be 
discarded but the client will not be informed of errors. This also stands for 
all other errors that can happen on the broker side.</p>
-
-    <div class="aui-message hint shadowed information-macro">
+</div></div><p>For more help see <a shape="rect" href="run-broker.html">Run 
Broker</a>.</p><h3 id="Stomp-Security">Security</h3><p>Stomp implementation 
fully supports an <a shape="rect" href="security.html">ActiveMQ security</a> 
mechanism. This means that the <code>CONNECT</code> command will return an 
<code>ERROR</code> frame on unsuccessful authentication. Also, the 
authorization policies will be applied when you try to access (read/write) 
certain destinations. If you use synchronous operations (by using <a 
shape="rect" class="external-link" 
href="http://stomp.github.com/stomp-specification-1.1.html#RECEIPT"; 
rel="nofollow">receipts</a>), you can expect an <code>ERROR</code> frame in 
case of unauthorized access attempt. In other case, operations will be 
discarded but the client will not be informed of errors. This also stands for 
all other errors that can happen on the broker side.</p>    <div 
class="aui-message hint shadowed information-macro">
                     <p class="title">Availability</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
-                            
-<p>Stomp security implementation is available from version 5.1 onwards.</p>
+                            <p>Stomp security implementation is available from 
version 5.1 onwards.</p>
                     </div>
     </div>
-
     <div class="aui-message success shadowed information-macro">
                     <p class="title">SSL</p>
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">
-                            
-<p>For additional security, you can use Stomp over SSL as described in the 
following section.</p>
+                            <p>For additional security, you can use Stomp over 
SSL as described in the following section.</p>
                     </div>
     </div>
-
-
-<h3 id="Stomp-EnablingStompoverNIO">Enabling Stomp over NIO</h3>
-
-<p>For better scalability (and performance) you might want to run Stomp 
protocol over NIO transport. To do that just use <code>stomp+nio</code> 
transport prefix instead of <code>stomp</code>. For example, add the following 
transport configuration in your XML file</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-     &lt;transportConnector name=&quot;stomp+nio&quot; 
uri=&quot;stomp+nio://localhost:61612&quot;/&gt;
+<h3 id="Stomp-EnablingStompoverNIO">Enabling Stomp over NIO</h3><p>For better 
scalability (and performance) you might want to run Stomp protocol over NIO 
transport. To do that just use <code>stomp+nio</code> transport prefix instead 
of <code>stomp</code>. For example, add the following transport configuration 
in your XML file</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[     &lt;transportConnector 
name=&quot;stomp+nio&quot; uri=&quot;stomp+nio://localhost:61612&quot;/&gt;
 ]]></script>
-</div></div>
-
-<p>This transport use <a shape="rect" class="external-link" 
href="http://activemq.apache.org/configuring-transports.html#ConfiguringTransports-TheNIOTransport";>NIO
 transport</a> underneath and will generally use much less threads than 
standard connector. This connector can help if you want to use <a shape="rect" 
class="external-link" 
href="http://activemq.apache.org/how-do-i-configure-10s-of-1000s-of-queues-in-a-single-broker-.html";>large
 number of queues</a></p>
-
-    <div class="aui-message hint shadowed information-macro">
+</div></div><p>This transport use <a shape="rect" class="external-link" 
href="http://activemq.apache.org/configuring-transports.html#ConfiguringTransports-TheNIOTransport";>NIO
 transport</a> underneath and will generally use much less threads than 
standard connector. This connector can help if you want to use <a shape="rect" 
class="external-link" 
href="http://activemq.apache.org/how-do-i-configure-10s-of-1000s-of-queues-in-a-single-broker-.html";>large
 number of queues</a></p>    <div class="aui-message hint shadowed 
information-macro">
                     <p class="title">Availability</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
-                            
-<p>Stomp Nio connector implementation is available in version 5.3 and up.</p>
+                            <p>Stomp Nio connector implementation is available 
in version 5.3 and up.</p>
                     </div>
     </div>
-
-
-<h3 id="Stomp-EnablingStompoverSSL">Enabling Stomp over SSL</h3>
-
-<p>It's easy to configure ActiveMQ to use Stomp over SSL connection. All you 
have to do is use <code>stomp+ssl</code> transport prefix instead of 
<code>stomp</code>. For example, add the following transport configuration in 
your XML file</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-     &lt;transportConnector name=&quot;stomp+ssl&quot; 
uri=&quot;stomp+ssl://localhost:61612&quot;/&gt;
+<h3 id="Stomp-EnablingStompoverSSL">Enabling Stomp over SSL</h3><p>It's easy 
to configure ActiveMQ to use Stomp over SSL connection. All you have to do is 
use <code>stomp+ssl</code> transport prefix instead of <code>stomp</code>. For 
example, add the following transport configuration in your XML file</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[     &lt;transportConnector 
name=&quot;stomp+ssl&quot; uri=&quot;stomp+ssl://localhost:61612&quot;/&gt;
 ]]></script>
-</div></div>
-
-<ul><li>For more details on using SSL with ActiveMQ see the following article 
(<a shape="rect" class="external-link" 
href="http://activemq.apache.org/how-do-i-use-ssl.html";>How do I use 
SSL</a>).</li><li>Example of using Stomp over SSL on the client side could be 
found in the <a shape="rect" class="external-link" 
href="http://stomp.fusesource.org/documentation/php/book.html#SSL"; 
rel="nofollow">PHP Stomp client example </a>.</li></ul>
-
-
-<h3 id="Stomp-Heart-beatgraceperiods">Heart-beat grace periods</h3>
-
-<p>The STOMP protocol (version 1.1 or greater) <a shape="rect" 
class="external-link" 
href="http://stomp.github.io/stomp-specification-1.2.html#Heart-beating"; 
rel="nofollow">defines the concept of heart beats</a> as a method by which a 
client and broker can determine the health of the underlying TCP connection 
between them.</p>
-
-<p>ActiveMQ offers support for STOMP defined heart beating provided the client 
is using version 1.1 (or greater) of the protocol.  Prior to ActiveMQ 5.9.0, 
however, the enforcement of the 'read' heart-beat timeout (that is, a 
heart-beat sent from the client to the broker) was strict. In other words, the 
broker was intolerant of late arriving read heart-beats from the client. This 
resulted in the broker concluding that the client was no longer present causing 
it to close its side of the client's connection when the client failed to honor 
it's configured heart-beat settings.  </p>
-
-<p>As of version 5.9.0 the timeout enforcement for read heart-beats is now 
configurable via a new transport option,<br clear="none">
-<strong>transport.hbGracePeriodMultiplier</strong>:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;transportConnectors&gt;
+</div></div><ul><li>For more details on using SSL with ActiveMQ see the 
following article (<a shape="rect" class="external-link" 
href="http://activemq.apache.org/how-do-i-use-ssl.html";>How do I use 
SSL</a>).</li><li>Example of using Stomp over SSL on the client side could be 
found in the <a shape="rect" class="external-link" 
href="http://stomp.fusesource.org/documentation/php/book.html#SSL"; 
rel="nofollow">PHP Stomp client example </a>.</li></ul><h3 
id="Stomp-Heart-beatgraceperiods">Heart-beat grace periods</h3><p>The STOMP 
protocol (version 1.1 or greater) <a shape="rect" class="external-link" 
href="http://stomp.github.io/stomp-specification-1.2.html#Heart-beating"; 
rel="nofollow">defines the concept of heart beats</a> as a method by which a 
client and broker can determine the health of the underlying TCP connection 
between them.</p><p>ActiveMQ offers support for STOMP defined heart beating 
provided the client is using version 1.1 (or greater) of the protocol. Prior to 
ActiveMQ 5.9.0
 , however, the enforcement of the 'read' heart-beat timeout (that is, a 
heart-beat sent from the client to the broker) was strict. In other words, the 
broker was intolerant of late arriving read heart-beats from the client. This 
resulted in the broker concluding that the client was no longer present causing 
it to close its side of the client's connection when the client failed to honor 
it's configured heart-beat settings.</p><p>As of version 5.9.0 the timeout 
enforcement for read heart-beats is now configurable via a new transport 
option,<br clear="none"> 
<strong>transport.hbGracePeriodMultiplier</strong>:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;transportConnectors&gt;
    &lt;transportConnector name=&quot;stomp&quot;
 
uri=&quot;stomp://localhost:61613?transport.hbGracePeriodMultiplier=1.5&quot;/&gt;
 &lt;/transportConnectors&gt;
 ]]></script>
-</div></div>
-
-<p>This multiplier is used to calculate the effective read heart-beat timeout 
the broker will enforce for each client's connection. The multiplier is applied 
to the read-timeout interval the client specifies in its CONNECT frame:</p>
-
-<p>&lt;client specified read heart-beat interval&gt; * &lt;grace 
periodmultiplier&gt; == &lt;broker enforced read heart-beat timeout 
interval&gt;</p>
-
-<p>For backward compatibility, if the grace period multiplier is not 
configured the default enforcement mode remains strict, e.g., 
transport.hbGracePeriodMultiplier=1.0. Attempts to configure the grace period 
multiplier to a value less than, or equal to 1.0 will be silently ignored.</p>
-
-<p>STOMP clients that wish to be tolerant of late arriving heart-beats from 
the broker must implement their own solution for doing so.</p>
-
-<ul><li>Please check the <a shape="rect" class="external-link" 
href="http://stomp.github.io/stomp-specification-1.2.html#Heart-beating"; 
rel="nofollow">STOMP specification</a> for the details on 
heart-beating</li><li>The JIRA that implemented this: <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/AMQ-4674";>ActiveMQ 5.x does not 
support the notion of a grace-period for heart beats as supported by the STOMP 
protocol</a></li></ul>
-
-
-<h3 id="Stomp-WorkingwithDestinationswithStomp">Working with Destinations with 
Stomp</h3>
-
-<p>Note that the prefix in stomp <strong>/queue/</strong> or 
<strong>/topic/</strong> is removed from the string before passing it to 
ActiveMQ as a JMS destination. Also note that the default separator in MOM 
systems is . (DOT). So <strong>FOO.BAR</strong> is the normal syntax of a MOM 
queue - the Stomp equivalent would be <strong>/queue/FOO.BAR</strong></p>
-    <div class="aui-message problem shadowed information-macro">
+</div></div><p>This multiplier is used to calculate the effective read 
heart-beat timeout the broker will enforce for each client's connection. The 
multiplier is applied to the read-timeout interval the client specifies in its 
CONNECT frame:</p><p>&lt;client specified read heart-beat interval&gt; * 
&lt;grace periodmultiplier&gt; == &lt;broker enforced read heart-beat timeout 
interval&gt;</p><p>For backward compatibility, if the grace period multiplier 
is not configured the default enforcement mode remains strict, e.g., 
transport.hbGracePeriodMultiplier=1.0. Attempts to configure the grace period 
multiplier to a value less than, or equal to 1.0 will be silently 
ignored.</p><p>STOMP clients that wish to be tolerant of late arriving 
heart-beats from the broker must implement their own solution for doing 
so.</p><ul><li>Please check the <a shape="rect" class="external-link" 
href="http://stomp.github.io/stomp-specification-1.2.html#Heart-beating"; 
rel="nofollow">STOMP specification</a> for
  the details on heart-beating</li><li>The JIRA that implemented this: <a 
shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/AMQ-4674";>ActiveMQ 5.x does not 
support the notion of a grace-period for heart beats as supported by the STOMP 
protocol</a></li></ul><h3 id="Stomp-WorkingwithDestinationswithStomp">Working 
with Destinations with Stomp</h3><p>Note that the prefix in stomp 
<strong>/queue/</strong> or <strong>/topic/</strong> is removed from the string 
before passing it to ActiveMQ as a JMS destination. Also note that the default 
separator in MOM systems is . (DOT). So <strong>FOO.BAR</strong> is the normal 
syntax of a MOM queue - the Stomp equivalent would be 
<strong>/queue/FOO.BAR</strong></p>    <div class="aui-message problem shadowed 
information-macro">
                     <p class="title">Be careful about starting destinations 
with /</p>
                             <span class="aui-icon icon-problem">Icon</span>
                 <div class="message-content">
-                            
-<p>If in Stomp world you use <strong>/queue/foo/bar</strong> then in a JMS 
world the queue would be called <strong>foo/bar</strong> not 
<strong>/foo/bar</strong>.</p>
+                            <p>If in Stomp world you use 
<strong>/queue/foo/bar</strong> then in a JMS world the queue would be called 
<strong>foo/bar</strong> not <strong>/foo/bar</strong>.</p>
                     </div>
     </div>
-
-
-<h3 id="Stomp-PersistenceofStompmessages">Persistence of Stomp messages</h3>
-
-<p>By default, Stomp produced messages are set to non-persistent.  You have to 
explicitly tell your Stomp library to add "persistent:true" to all SEND 
requests, for any messages that you want to persist across ActiveMQ restarts.  
This is the opposite of the default for JMS submitted messages.</p>
-
-<h3 id="Stomp-WorkingwithJMSText/BytesMessagesandStomp">Working with JMS 
Text/Bytes Messages and Stomp</h3>
-
-<p>Stomp is a very simple protocol - that's part of the beauty of it! As such, 
it does not have knowledge of JMS messages such as TextMessages or 
BytesMessages. The protocol does however support a content-length header. To 
provide more robust interaction between Stomp and JMS clients, ActiveMQ keys 
off of the inclusion of this header to determine what message type to create 
when sending from Stomp to JMS. The logic is simple:</p>
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Inclusion of content-length 
header </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Resulting 
Message </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
yes </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> BytesMessage 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> no 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> TextMessage 
</p></td></tr></tbody></table></div>
-
-<p>This same logic can be followed when going from JMS to Stomp, as well. A 
Stomp client could be written to key off of the inclusion of the content-length 
header to determine what type of message structure to provide to the user.</p>
-
-<h3 id="Stomp-Messagetransformations">Message transformations</h3>
-
-<p>The <code>transformation</code> message header on <code>SEND</code> and 
<code>SUBSCRIBE</code> messages could be used to instruct ActiveMQ to transform 
messages from text to the format of your desire. Currently, ActiveMQ comes with 
a transformer that can transform XML/JSON text to Java objects, but you can add 
your own transformers as well.</p>
-
-<p>Here's a quick example of how to use built-in transformer (taken from test 
cases)</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-
-    private String xmlObject = &quot;&lt;pojo&gt;\n&quot; 
+<h3 id="Stomp-PersistenceofStompmessages">Persistence of Stomp 
messages</h3><p>By default, Stomp produced messages are set to non-persistent. 
You have to explicitly tell your Stomp library to add "persistent:true" to all 
SEND requests, for any messages that you want to persist across ActiveMQ 
restarts. This is the opposite of the default for JMS submitted 
messages.</p><h3 id="Stomp-WorkingwithJMSText/BytesMessagesandStomp">Working 
with JMS Text/Bytes Messages and Stomp</h3><p>Stomp is a very simple protocol - 
that's part of the beauty of it! As such, it does not have knowledge of JMS 
messages such as TextMessages or BytesMessages. The protocol does however 
support a content-length header. To provide more robust interaction between 
Stomp and JMS clients, ActiveMQ keys off of the inclusion of this header to 
determine what message type to create when sending from Stomp to JMS. The logic 
is simple:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rows
 pan="1" class="confluenceTh"><p>Inclusion of content-length header</p></th><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Resulting 
Message</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>yes</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>BytesMessage</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>no</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>TextMessage</p></td></tr></tbody></table></div><p>This 
same logic can be followed when going from JMS to Stomp, as well. A Stomp 
client could be written to key off of the inclusion of the content-length 
header to determine what type of message structure to provide to the 
user.</p><h3 id="Stomp-Messagetransformations">Message 
transformations</h3><p>The <code>transformation</code> message header on 
<code>SEND</code> and <code>SUBSCRIBE</code> messages could be used to instruct 
ActiveMQ to transform messages from text to the format of your desire. 
Currently, ActiveMQ com
 es with a transformer that can transform XML/JSON text to Java objects, but 
you can add your own transformers as well.</p><p>Here's a quick example of how 
to use built-in transformer (taken from test cases)</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[    private String xmlObject = 
&quot;&lt;pojo&gt;\n&quot; 
             + &quot;  &lt;name&gt;Dejan&lt;/name&gt;\n&quot;
             + &quot;  &lt;city&gt;Belgrade&lt;/city&gt;\n&quot; 
             + &quot;&lt;/pojo&gt;&quot;;
@@ -264,67 +166,25 @@ uri=&quot;stomp://localhost:61613?transp
         stompConnection.sendFrame(frame);
     }     
 ]]></script>
-</div></div>
-
-    <div class="aui-message hint shadowed information-macro">
+</div></div>    <div class="aui-message hint shadowed information-macro">
                     <p class="title">Dependencies</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
-                            
-<p>ActiveMQ uses <a shape="rect" class="external-link" 
href="http://xstream.codehaus.org"; rel="nofollow">XStream</a> for its 
transformation needs. Since it's the optional dependency you have to add it to 
broker's classpath by putting the appropriate JAR into the <code>lib/</code> 
folder. Additionally, if you plan to use JSON transformations you have to add 
<a shape="rect" class="external-link" href="http://jettison.codehaus.org/"; 
rel="nofollow">Jettison</a> JSON parser to the classpath. </p>
+                            <p>ActiveMQ uses <a shape="rect" 
class="external-link" href="http://xstream.codehaus.org"; 
rel="nofollow">XStream</a> for its transformation needs. Since it's the 
optional dependency you have to add it to broker's classpath by putting the 
appropriate JAR into the <code>lib/</code> folder. Additionally, if you plan to 
use JSON transformations you have to add <a shape="rect" class="external-link" 
href="http://jettison.codehaus.org/"; rel="nofollow">Jettison</a> JSON parser to 
the classpath.</p>
                     </div>
     </div>
-
-
-<p>In order to create your own transformer, you have to do the following:</p>
-
-<ol><li>Build your transformer by implementing a <a shape="rect" 
class="external-link" 
href="http://activemq.apache.org/maven/activemq-core/apidocs/org/apache/activemq/transport/stomp/FrameTranslator.html";>FrameTranslator</a>
 interface</li><li>Associate it with the appropriate header value by creating a 
file named as a value you want to use in the 
<code>META-INF/services/org/apache/activemq/transport/frametranslator/</code> 
folder of your JAR which will contain the value <code>class=<em>full classname 
of your transformer</em></code></li></ol>
-
-
-<p>For example the built-in transformer contains the following value</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<p>In order to create your own transformer, you have to do the 
following:</p><ol><li>Build your transformer by implementing a <a shape="rect" 
class="external-link" 
href="http://activemq.apache.org/maven/activemq-core/apidocs/org/apache/activemq/transport/stomp/FrameTranslator.html";>FrameTranslator</a>
 interface</li><li>Associate it with the appropriate header value by creating a 
file named as a value you want to use in the 
<code>META-INF/services/org/apache/activemq/transport/frametranslator/</code> 
folder of your JAR which will contain the value <code>class=<em>full classname 
of your transformer</em></code></li></ol><p>For example the built-in 
transformer contains the following value</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[class=org.apache.activemq.transport.stomp.XStreamFrameTranslator]]></script>
-</div></div>
-
-<p>in the 
<code>META-INF/services/org/apache/activemq/transport/frametranslator/jms-xml</code>
 file.</p>
-
-<h3 id="Stomp-MessageOrdering">Message Ordering</h3>
-
-<p>When delivering messages the broker uses the message-id to order them. This 
is based on the producer-id which, in the case of STOMP connections, is 
generated at the point that the producer connects to the broker.</p>
-
-<p>Therefore out-of-order messages may occur from a stomp application 
perspective. To give an example:</p>
-
-<ol><li>Producer p1 connects</li><li>Producer p2 connects</li><li>Producer p2 
sends Message 1 to /queue/test</li><li>Producer p1 sends Message 2 to 
/queue/test several seconds later</li><li>Consumer c1 connects and subscribes 
to /queue/test and receives Message 2 followed by Message 1.</li></ol>
-
-
-<h3 id="Stomp-Debugging">Debugging</h3>
-
-<p>In case you want to debug Stomp communication between broker and clients 
you should configure the Stomp connector with the <code>trace</code> parameter, 
like this:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;transportConnectors&gt;
+</div></div><p>in the 
<code>META-INF/services/org/apache/activemq/transport/frametranslator/jms-xml</code>
 file.</p><h3 id="Stomp-Debugging"><span style="line-height: 
1.5625;">Debugging</span></h3><p>In case you want to debug Stomp communication 
between broker and clients you should configure the Stomp connector with the 
<code>trace</code> parameter, like this:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;transportConnectors&gt;
    &lt;transportConnector name=&quot;stomp&quot; 
uri=&quot;stomp://localhost:61613?trace=true&quot;/&gt;
 &lt;/transportConnectors&gt;
 ]]></script>
-</div></div>
-
-<p>This will instruct the broker to trace all packets it sends and 
receives.</p>
-
-<p>Furthermore, you have to enable tracing for the appropriate log. You can 
achieve that by adding the following to your 
<code>conf/log4j.properties</code></p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-log4j.logger.org.apache.activemq.transport.stomp=TRACE
+</div></div><p>This will instruct the broker to trace all packets it sends and 
receives.</p><p>Furthermore, you have to enable tracing for the appropriate 
log. You can achieve that by adding the following to your 
<code>conf/log4j.properties</code></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[log4j.logger.org.apache.activemq.transport.stomp=TRACE
 ]]></script>
-</div></div>
-
-<p>Finally, you will probably want to keep these messages in the separate file 
instead of polluting the standard broker's log. You can achieve that with the 
following log4j configuration:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-log4j.appender.stomp=org.apache.log4j.RollingFileAppender
+</div></div><p>Finally, you will probably want to keep these messages in the 
separate file instead of polluting the standard broker's log. You can achieve 
that with the following log4j configuration:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[log4j.appender.stomp=org.apache.log4j.RollingFileAppender
 log4j.appender.stomp.file=${activemq.base}/data/stomp.log
 log4j.appender.stomp.maxFileSize=1024KB
 log4j.appender.stomp.maxBackupIndex=5
@@ -340,17 +200,8 @@ frame IO ONLY (e.g., no heart beat messa
 #log4j.logger.org.apache.activemq.transport.stomp.StompIO=TRACE, stomp
 #log4j.additivity.org.apache.activemq.transport.stomp.StompIO=false
 ]]></script>
-</div></div>
-
-<p>After this, all your Stomp packets will be logged to the 
<code>data/stomp.log</code></p>
-
-<h3 id="Stomp-JavaAPI">Java API</h3>
-
-<p>Since version 5.2, there is a simple Java Stomp API distributed with 
ActiveMQ. Note that this API is provided purely for testing purposes and you 
should always consider using standard JMS API from Java instead of this one. 
The following code snippet provides a simple example of using this API:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-StompConnection connection = new StompConnection();
+</div></div><p>After this, all your Stomp packets will be logged to the 
<code>data/stomp.log</code></p><h3 id="Stomp-JavaAPI">Java API</h3><p>Since 
version 5.2, there is a simple Java Stomp API distributed with ActiveMQ. Note 
that this API is provided purely for testing purposes and you should always 
consider using standard JMS API from Java instead of this one. The following 
code snippet provides a simple example of using this API:</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[StompConnection connection = new 
StompConnection();
 connection.open(&quot;localhost&quot;, 61613);
                
 connection.connect(&quot;system&quot;, &quot;manager&quot;);
@@ -380,31 +231,10 @@ connection.commit(&quot;tx2&quot;);
                
 connection.disconnect();
 ]]></script>
-</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">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-ant stomp
+</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">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[ant stomp
 ]]></script>
-</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="confluenceTh"><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" 
class="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" class="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 is 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</strong>. 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 backs 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 colsp
 an="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 
<strong>1</strong> for very fair distribution of messages across consumers 
where processing messages can be slow. </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" c
 lass="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 t
 he subscribe.<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></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 <strong>1</stro
 ng> for very fair distribution of messages across consumers where processing 
messages can be slow.</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="confl
 uenceTd"><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.<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">


Reply via email to