<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<html>
<head>
    <link href="http://activemq.apache.org/styles/site.css" rel="stylesheet" type="text/css"/>
    <link href="http://activemq.apache.org/styles/type-settings.css" rel="stylesheet" type="text/css"/>
    <script src="http://activemq.apache.org/styles/prototype.js" type="text/javascript"></script>
    <script src="http://activemq.apache.org/styles/rico.js" type="text/javascript"></script>    
    <script src="http://activemq.apache.org/styles/site.js" type="text/javascript"></script>
    <style type="text/css">
      .maincontent { overflow:hidden; }
    </style>
    <!--[if IE]>
    <style type="text/css">
      .maincontent { width:100%; }
    </style>
    <![endif]-->

          <link href='http://activemq.apache.org/styles/highlighter/styles/shCore.css' rel='stylesheet' type='text/css' /> 
      <link href='http://activemq.apache.org/styles/highlighter/styles/shThemeEclipse.css' rel='stylesheet' type='text/css' /> 
      <script src='http://activemq.apache.org/styles/highlighter/scripts/shCore.js' type='text/javascript'></script> 
              <script src='http://activemq.apache.org/styles/highlighter/scripts/shBrushJava.js' type='text/javascript'></script> 
              <script src='http://activemq.apache.org/styles/highlighter/scripts/shBrushXml.js' type='text/javascript'></script> 
         
      <script type="text/javascript"> 
        SyntaxHighlighter.defaults['toolbar'] = false; 
        SyntaxHighlighter.all(); 
      </script> 
    
    <title>
    Apache ActiveMQ &#8482; -- ActiveMQ Performance Module Users Manual
    </title>
</head>
<body>
<div class="white_box">
<div class="header">
  <div class="header_l">
    <div class="header_r">
    </div>
  </div>
</div>
<div class="content">
  <div class="content_l">
    <div class="content_r">
      <div>

<!-- Banner -->
<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>
            <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org" title="The Apache Software Foundation">ASF</a>
	</div>
</div>

        <div class="top_red_bar">
          <div id="site-breadcrumbs">
<a href="features.html">Features</a>&nbsp;&gt;&nbsp;<a href="performance.html">Performance</a>&nbsp;&gt;&nbsp;<a href="activemq-performance-module-users-manual.html">ActiveMQ Performance Module Users Manual</a>
          </div>
          <div id="site-quicklinks">
<p><a shape="rect" href="download.html">Download</a> | <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/apidocs/index.html">JavaDocs</a> <a shape="rect" href="javadocs.html">More...</a> | <a shape="rect" href="source.html">Source</a> | <a shape="rect" href="discussion-forums.html">Forums</a> | <a shape="rect" href="support.html">Support</a></p>
          </div>
        </div>

  <table border="0">
  <tbody>
        <tr>
        <td valign="top" width="100%">
<div class="wiki-content maincontent"><h2 id="ActiveMQPerformanceModuleUsersManual-RunningMaven2PerformanceTest">Running Maven 2 Performance Test</h2><p>This <a shape="rect" class="external-link" href="http://maven.apache.org">Maven 2</a> plugin allows you to run performance tests easily using the Maven command line or run tests automatically in <a shape="rect" class="external-link" href="http://maven.apache.org/continuum/">Continuum</a></p><h3 id="ActiveMQPerformanceModuleUsersManual-Prerequisites">Prerequisites</h3><p>Starting with ActiveMQ 5.5 and above the plugin can be obtained from maven or if you download the src from SVN you can build it yourself. Start with a complete build of Apache ActiveMQ and then do</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;">cd activemq-tooling
mvn clean install
</pre>
</div></div><p>To run the following Maven goals make sure you are inside a Maven2 project directory where its POM is enabled with the Maven2 plugin.</p><h3 id="ActiveMQPerformanceModuleUsersManual-Gettingstarted">Getting started</h3><p>To get started, switch to the <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/sandbox/activemq-perftest/">activemq-perftest directory from the sandbox repo,</a> or to a directory containing your own Maven POM with the following plugin defined:</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;plugin&gt;
  &lt;groupId&gt;org.apache.activemq.tooling&lt;/groupId&gt;
  &lt;artifactId&gt;activemq-perf-maven-plugin&lt;/artifactId&gt;
  &lt;version&gt;${activemq-version}&lt;/version&gt;
&lt;/plugin&gt;</pre>
</div></div><p>In ActiveMQ versions prior to 5.8, the artifactId was <code>maven-activemq-perf-plugin</code>.</p><p>Type the following commands into separate shells (the broker line here is optional if you have a preconfigured one running):</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;">mvn activemq-perf:broker -Durl=broker:tcp://localhost:61616
mvn activemq-perf:consumer
mvn activemq-perf:producer
</pre>
</div></div><p>If you run the broker on a different machine then change the producer and consumer commands to</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;">mvn activemq-perf:consumer -Dfactory.brokerURL=tcp://host:port
mvn activemq-perf:producer -Dfactory.brokerURL=tcp://host:port
</pre>
</div></div><p>where you switch host:port with the actual values.</p><p>When you run the producer &amp; consumer, it generates an XML performance report in the current directory, so that you can graph and chart the results etc. See the <a shape="rect" href="sample-report.html">sample report</a></p><h3 id="ActiveMQPerformanceModuleUsersManual-Mavengoals">Maven goals</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Goal</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq-perf:broker</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Starts broker using the activemq configuration file located in "src\main\resources\broker-conf" where the default config is activemq.xml. <br clear="none" class="atl-forced-newline"> Parameters: <br clear="none" class="atl-forced-newline"> &#160;1. -DconfigType - specifies the type of configuration to use. Its value must be one of the filename in the "..\broker-config" directory (e.g. -DconfigType=kaha). <br clear="none" class="atl-forced-newline"> &#160;2. -DconfigFile - path to config file other than those in "src\..\broker-config".e.g -DconfigFile=c:\dir\activemq.xml)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq-perf:consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Starts the consumer's performance testing. The generated report file can be found in the directory specified in the parameter "sysTest.reportDir".</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>activemq-perf:producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Starts the producer's performance testing. The generated report file can be found in the directory specified in the parameter "sysTest.reportDir".</p></td></tr></tbody></table></div><p><sup>1</sup> <strong>Note</strong>:The parameters for both consumer and producers are described in the next section. (<a shape="rect" href="sample-report.html">sample report</a>)</p><h3 id="ActiveMQPerformanceModuleUsersManual-ConfigurationforrunningasystemofJMSClients(Producer/Consumer)">Configuration for running a system of JMS Clients (Producer/Consumer)</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Configuration Key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>sysTest.propsConfigFile</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use properties specified externally in a key=value properties file</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>sysTest.clientPrefix</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JmsConsumer or JmsProducer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the client name prefix that will be use for each system. By default it will use JmsConsumer for consumer systems, and JmsProducer for producer systems.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>sysTest.numClients</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the number of JMS Clients to start.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>sysTest.totalDests</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the total number of destinations to use for the whole system test.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>sysTest.destDistro</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>all</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies how to distribute the destinations to the clients. Available values are (Invalid value will result to using the default value 'all')<sup>1</sup>:</p><ul><li>'all' - All clients will send/receive to all destinations. i.e. if there are 2 producers and 5 destinations, each producer will send a message to each individual destination.</li><li>'equal' - Clients will equally divide the destinations among themselves. i.e. if there are 2 producers and 5 destinations, each producer will send messages to 2 destinations. The fifth destination will not be used.</li><li>'divide' - Clients will divide the destinations among themselves regardless of equality. i.e. if there are 2 producers and 5 destinations, producer 1 will send to 3 destinations, while producer 2 will send to 2 destinations.</li></ul></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>sysTest.reportDir</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>./</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The directory where the sampler report will be saved.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>sysTest.reportName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The default filename the sampler report will be saved us. There is usually no need to set this setting as the default value will create either JmsProducer_numClients#<em>numDests#</em>&lt;Dest Distro&gt;.xml and JmsConsumer_numClients#_numDests#_&lt;Dest Distro&gt;.xml, where # represents the number of clients and destinations set for that system, and &lt;Dest Distro&gt; specifies the destination distribution for the system.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>sysTest.reportType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>xml</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the manner of generating the performance report. Available values are:</p><ul><li>'xml' - Write the performance report into an xml file. Specified by reportDirectory and reportName. A verbose summary will also be displayed at the end of the test.</li><li>'verbose' - All information will be written to the standard output, which includes settings, sampler data, and performance summary.</li></ul></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>sysTest.samplers</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>tp,cpu</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the samplers that will be started. To use enable more than one sampler, separate the values by commas without spaces. Available values are:</p><ul><li>'tp' - Throughput sampler</li><li>'cpu' - CPU Usage sampler</li></ul></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>sysTest.spiClass</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>org.apache.activemq.tool.spi.ActiveMQClassLoaderSPI</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The service provider interface class that allows the client to create a generic connection factory. Current available SPI classes include:</p><ol><li>'org.apache.activemq.tool.ActiveMQPojoSPI'</li><li>'org.apache.activemq.tool.ActiveMQClassLoaderSPI'</li></ol></td></tr></tbody></table></div><p><sup>1</sup> <strong>Note</strong>: If the number of destinations is less than the number of clients and the distribution type is either 'equal' or 'divide', each client will send/receive from only one destination, distributing the destinations among the clients. i.e. if there are 5 producers and 2 destinations, 3 producers will send to destination 1, and 2 producers will send to destination 2. Also, a consumer can only receive from a single destination, unless composite destination is supported and specified.</p><h3 id="ActiveMQPerformanceModuleUsersManual-ConfigurationforrunningaJMSProducer">Configuration for running a JMS Producer</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Configuration Key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.sessTransacted</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies if the session created will be transacted or not. See the JMS Specifications for more details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.sessAckMode</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>autoAck</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specified the acknowledge mode of the session. See the JMS Specifications for more details. Available values are:</p><ol><li>'autoAck' - Session.AUTO_ACKNOWLEDGE</li><li>'clientAck' - Session.CLIENT_ACKNOWLEDGE</li><li>'dupsAck' - Session.DUPS_OK_ACKNOWLEDGE</li><li>'transacted' - Session.TRANSACTED</li></ol></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.commitAfterXMsgs</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Commit transaction after the specified amount of messages. Only used in conjunction with a transacted JMS Session (producer.sessTransacted=true and producer.sessAckMode=transacted)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.destName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>TEST.FOO</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The prefix of the destination name to use. To specify a queue, prefix the destination name with 'queue://', for topics, prefix the destination with 'topic://'. If no prefix is specified, a topic will be created.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.destComposite</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If there are more than one destination, and destComposite=true, the destinations will be merged into one. This assumes that the provider supports composite destinations.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.deliveryMode</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>nonpersistent</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The message delivery mode that will be used for each producer. Available values are:</p><ol><li>'nonpersistent' - use non-persistent delivery mode. javax.jms.DeliveryMode.NON_PERSISTENT.</li><li>'persistent' - use persistent delivery mode. javax.jms.DeliveryMode.PERSISTENT.</li></ol></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.messageSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1024 bytes</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The size of each text message to send.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.msgFileName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If you want to send a fixed message from a particular file. The file needs to be a text file. The entire content of the file will be sent as message body. Specifying a file containing the message to be sent makes the producer ignore the property producer.messageSize. Use relative or full path. Example: -Dproducer.msgFileName=../message.xml</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.createNewMsg</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, each send will create a new JMS Message with the specified message size with incrementing text messages (i.e. Text Message 1, Text Message 2, ...). If false, only one message will be created before the send loop, and this message will be sent over and over again.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.sendDelay</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0 ms</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Pause producer for sendDelay milliseconds after each message (allows producer throttling).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.sendType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>time</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send either time-based or message-count-based. Available values are:</p><ol><li>'time' - keep sending messages until a specific interval of time elapses.</li><li>'count' - keep sending messages until N messages has been sent.</li></ol></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.sendCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000000 msgs <br clear="none" class="atl-forced-newline"> (1 million)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If sendType=count, send this number of messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.sendDuration</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>300000 ms <br clear="none" class="atl-forced-newline"> (5 mins)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If sendType=time, send messages for this number of milliseconds.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>producer.header</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>none</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specify message headers to be set on all messages. Headers use name=value syntax and can be separated using ':'. More than one header can be set on a single producer.header line, e.g. producer.header="JMSType=car:MyHeader=MyValue" (no spaces). Only one producer.header line is allowed!</p></td></tr></tbody></table></div><h3 id="ActiveMQPerformanceModuleUsersManual-ConfigurationforrunningaJMSConsumer">Configuration for running a JMS Consumer</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Configuration Key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.sessTransacted</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies if the session created will be transacted or not. See the JMS Specifications for more details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.sessAckMode</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>autoAck</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specified the acknowledge mode of the session. See the JMS Specifications for more details. Available values are:</p><ol><li>'autoAck' - Session.AUTO_ACKNOWLEDGE</li><li>'clientAck' - Session.CLIENT_ACKNOWLEDGE</li><li>'dupsAck' - Session.DUPS_OK_ACKNOWLEDGE</li><li>'transacted' - Session.TRANSACTED</li></ol></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.commitAfterXMsgs</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Commit transaction after the specified amount of messages. Only used in conjunction with a transacted JMS Session (consumer.sessTransacted=true and consumer.sessAckMode=transacted)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.destName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>TEST.FOO</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The prefix of the destination name to use. To specify a queue, prefix the destination name with 'queue://', for topics, prefix the destination with 'topic://'. If no prefix is specified, a topic will be created.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.destComposite</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If there are more than one destination, and destComposite=true, the destinations will be merged into one. This assumes that the provider supports composite destinations.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.durable</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, create a durable subscriber, otherwise create a message consumer. See the JMS Specifications for more details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.asyncRecv</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, asynchronously receive messages using the onMessage() method, otherwise use the receive() method.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.recvDelay</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0 ms</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Pause consumer for recvDelay milliseconds with each message (allows consumer throttling).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.recvType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>time</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Receive either time-based or message-count-based. Available values are:</p><ol><li>'time' - keep receiving messages until a specific time interval has elapsed.</li><li>'count' - keep receiving until N messages has been received.</li></ol></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.recvCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000000 msgs <br clear="none" class="atl-forced-newline"> (1 million)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If recvType=count, receive this much messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.recvDuration</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>300000 ms <br clear="none" class="atl-forced-newline"> (5 mins)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If recvType=time, receive messages for this specific time duration.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consumer.messageSelector</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>none</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specify <a shape="rect" class="external-link" href="http://activemq.apache.org/selectors.html">message selector</a> for all consumers. E.g. consumer.messageSelector="MyHeader = 'MyValue' AND JMSType = 'car'"</p></td></tr></tbody></table></div><p><strong>Note</strong>: If you have more than one consumer receiving from multiple destinations, it is a good idea to change the sysTest.destDistro to 'equal', since by default it uses 'all' and a consumer can only receive from a single destination, hence all consumers will receive from the first destination in the list only.</p><h3 id="ActiveMQPerformanceModuleUsersManual-ConfigurationforSPIConnectionFactory:org.apache.activemq.tool.spi.ActiveMQPojoSPI">Configuration for SPI Connection Factory: org.apache.activemq.tool.spi.ActiveMQPojoSPI</h3><p><strong>Description:</strong> This provides details in configuring the JMS Connection Factory created by ActiveMQPojoSPI. Default values are based from the default values of the service provider org.apache.activemq.ActiveMQConnectionFactory.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Configuration Key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.brokerURL</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>tcp://localhost:61616</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The url of the broker the client will connect to.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.userName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Username on the connection to use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.password</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Password on the connection to use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.clientID</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Client ID the connection will use. If none is specified, it will be automatically generated.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.asyncSend</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, asynchronously send messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.asyncDispatch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, asynchronously dispatch messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.asyncSession</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, session will dispatch messages asynchronously.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.closeTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>15000 ms</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.copyMsgOnSend</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, creates a copy of the message to be sent.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.disableTimestamp</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, disable the setting of the JMSTimestamp.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.deferObjSerial</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, defer the serialization of message objects.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.optimAck</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, optimizes the acknowledgement of messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.optimDispatch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, optimizes the dispatching of messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.prefetchQueue</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000 messages</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Number of messages a queue consumer will cache in RAM before processing it.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.prefetchTopic</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>32766 messages</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Number of messages a topic consumer will cache in RAM before processing it.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.useCompression</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, compress message data.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.useRetroactive</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true, make consumers retroactive.</p></td></tr></tbody></table></div><h3 id="ActiveMQPerformanceModuleUsersManual-ConfigurationforSPIConnectionFactory:org.apache.activemq.tool.spi.ActiveMQClassLoaderSPI">Configuration for SPI Connection Factory: org.apache.activemq.tool.spi.ActiveMQClassLoaderSPI</h3><p><strong>Description:</strong> This provides details in configuring the JMS Connection Factory created by ActiveMQClassLoaderSPI. Default values are based from the default values of the service provider org.apache.activemq.ActiveMQConnectionFactory.</p><p>ActiveMQClassLoaderSPI loads from the classpath "org.apache.activemq.ActiveMQConnectionFactory" and configures it using reflection. Configuration is generally based on the API of the class loaded. General format is factory.YYY or factory.XXX.YYY, where the last variable (YYY) is the property to set and everything in between is the getter of the class to use to set (YYY). For example:</p><ol><li>To set the value for asyncSend in ActiveMQConnectionFactory, use:<br clear="none"> <code>factory.useAsyncSend=true</code>, which is equivalent to calling <code>factory.setUseAsyncSend(true)</code></li></ol><ol><li>To set the queue prefetch for ActiveMQConnectionFactory, use:<br clear="none"> <code>factory.prefetchPolicy.queuePrefetch=1</code>, which is equivalent to calling <code>factory.getPrefetchPolicy().setQueuePrefetch(1)</code></li></ol><p>It should be noted that the loaded class should implement the appropriate getter and setter methods. Nested objects should also be properly instantiated. For more information on configuring this SPI, refer to the specific provider API manual.</p><p>As of ActiveMQ 4.0.1, these are the available fields and default values:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Configuration Key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.prefetchPolicy.optimizeDurableTopicPrefetch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.prefetchPolicy.durableTopicPrefetch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>100</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.password</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.prefetchPolicy.queueBrowserPrefetch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>500</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.useCompression</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.disableTimeStampsByDefault</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.optimizedMessageDispatch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.useRetroactiveConsumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.alwaysSessionAsync</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.copyMessageOnSend</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.prefetchPolicy.topicPrefetch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>32766</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.useAsyncSend</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.redeliveryPolicy.backOffMultiplier</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.prefetchPolicy.inputStreamPrefetch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>100</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.closeTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>15000</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.userName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.optimizeAcknowledge</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.clientID</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.objectMessageSerializationDefered</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.asyncDispatch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.redeliveryPolicy.initialRedeliveryDelay</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.prefetchPolicy.queuePrefetch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.redeliveryPolicy.maximumRedeliveries</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.redeliveryPolicy.useCollisionAvoidance</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.prefetchPolicy.maximumPendingMessageLimit</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>factory.redeliveryPolicy.useExponentialBackOff</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td></tr></tbody></table></div><h3 id="ActiveMQPerformanceModuleUsersManual-Configurationforsamplers">Configuration for samplers</h3><p>There are two samplers built into the perfomance test tool. Both are configured with the same configuration keys, only prefixed with different sampler names.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Sampler</th><th colspan="1" rowspan="1" class="confluenceTh"><em>samplerName</em></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Throughput Sampler</td><td colspan="1" rowspan="1" class="confluenceTd">tpSampler</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">CPU Sampler</td><td colspan="1" rowspan="1" class="confluenceTd">cpuSampler</td></tr></tbody></table></div><p>For example, it is possible to configure the two samplers differently for a single test run, using the prefixes above as follows:</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;">mvn activemq-perf:producer -DtpSampler.duration=10000 -DcpuSampler.duration=15000</pre>
</div></div><p>By default, both samplers are used within a test run. This however, can be overridden through the use of the <code>sysTest.samplers</code> property.</p><h4 id="ActiveMQPerformanceModuleUsersManual-BeforeActiveMQ5.11">Before ActiveMQ 5.11</h4><p>Sampler configurations are not tied in to the test run, so it is possible for the sampler to run for longer than the actual test itself. For short run durations, the sampler may not even have ramped up before the test completes.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Configuration Key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><em>samplerName</em>.duration</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The total duration (in ms) the sampler will run, including ramp up and ramp down time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><em>samplerName</em>.rampUpTime</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>30000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The ramp up time of the sampler, sampling will only start after the ramp up time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><em>samplerName</em>.rampDownTime</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>30000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The ramp down time of the sampler, sampling will stop when the sampler has executed for (duration - rampUpTime - rampDownTime) ms.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><em>samplerName</em>.interval</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The interval (in ms), the sampler will sample for data.</p></td></tr></tbody></table></div><h4 id="ActiveMQPerformanceModuleUsersManual-FromActiveMQ5.11">From ActiveMQ 5.11</h4><p>Sampler run duration is tied directly to the behavior of the client (producer/consumer). Due to the non-deterministic nature of count-based tests (where consumer.recvType or producer.sendType are set to <code>count</code>), duration, ramp up and ramp down times are ignored; the samplers are shut down when the client completes.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Configuration Key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><em>samplerName</em>.duration</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For time-based tests, matches the consumer or producer duration.</p><p><em>Ignored for count-based tests.</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The total duration (in ms) the sampler will run, including ramp up and ramp down time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><em>samplerName</em>.rampUpTime</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null; defers to rampUpPercent.</p><p><em>Ignored for count-based tests.</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The ramp up time of the sampler, sampling will only start after the ramp up time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><em>samplerName</em>.rampDownTime</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null; defers to rampDownPercent.</p><p><em>Ignored for count-based tests.</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The ramp down time of the sampler, sampling will stop when the sampler has executed for (duration - rampUpTime - rampDownTime) ms.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><em>samplerName</em>.rampUpPercent</td><td colspan="1" rowspan="1" class="confluenceTd"><p>0</p><p><em>Ignored for count-based tests.</em></p></td><td colspan="1" rowspan="1" class="confluenceTd">The percentage of the overall run duration that the sampler should use to ramp up (0-100). Overridden by rampUpTime.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><em>samplerName</em>.rampDownPercent</td><td colspan="1" rowspan="1" class="confluenceTd"><p>0</p><p><em>Ignored for count-based tests.</em></p></td><td colspan="1" rowspan="1" class="confluenceTd">The percentage of the overall run duration that the sampler should use to ramp down (0-99). Overridden by rampDownTime.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><em>samplerName</em>.interval</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The interval (in ms), the sampler will sample for data.</p></td></tr></tbody></table></div><p>The time taken to ramp up and ramp down, whether defined through milliseconds or as a percentage cannot exceed the total duration.</p></div>
        </td>
        <td valign="top">
          <div class="navigation">
            <div class="navigation_top">
              <div class="navigation_bottom">
<h3 id="Navigation-Overviewhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=35985"><a shape="rect" href="overview.html">Overview</a></h3><ul class="alternate"><li><a shape="rect" href="index.html">Index</a></li><li><a shape="rect" href="news.html">News</a></li><li><a shape="rect" href="new-features.html">New Features</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="faq.html">FAQ</a></li><li><a shape="rect" href="articles.html">Articles</a></li><li><a shape="rect" href="books.html">Books</a></li><li><a shape="rect" href="download.html">Download</a></li><li><a shape="rect" class="external-link" href="http://www.apache.org/licenses/">License</a></li></ul><h3 id="Navigation-Search">Search</h3><div>
<form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
<input type="hidden" name="ie" value="UTF-8">
<input type="hidden" name="oe" value="UTF-8">
  <input maxlength="255" type="text" name="q" size="15" value="value"><br clear="none">
  <input type="submit" name="btnG" value="Search">
  <input type="hidden" name="domains" value="activemq.apache.org">
  <input type="hidden" name="sitesearch" value="activemq.apache.org">
</form>
</div>
<h3 id="Navigation-SubProjects">Sub Projects</h3><ul class="alternate"><li><a shape="rect" class="external-link" href="http://activemq.apache.org/artemis/">Artemis</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/apollo" title="ActiveMQ Apollo">Apollo</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/cms/">CMS</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/nms/" title="NMS is the .Net Messaging API">NMS</a></li></ul><h3 id="Navigation-Communityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=36130"><a shape="rect" href="community.html">Community</a></h3><ul class="alternate"><li><a shape="rect" href="support.html">Support</a></li><li><a shape="rect" href="contributing.html">Contributing</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="irc.html">IRC</a></li><li><a shape="rect" class="external-link" href="http://javabot.evanchooly.com/logs/%23apache-activemq/today" rel="nofollow">IRC Log</a></li><li><a shape="rect" href="security-advisories.html">Security Advisories</a></li><li><a shape="rect" href="site.html">Site</a></li><li><a shape="rect" class="external-link" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li><li><a shape="rect" href="projects-using-activemq.html">Projects Using ActiveMQ</a></li><li><a shape="rect" href="users.html">Users</a></li><li><a shape="rect" href="team.html">Team</a></li><li><a shape="rect" href="thanks.html">Thanks</a></li></ul><h3 id="Navigation-Featureshttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=35883"><a shape="rect" href="features.html">Features</a></h3><ul class="alternate"><li><a shape="rect" href="advisory-message.html">Advisory Message</a></li><li><a shape="rect" href="clustering.html">Clustering</a></li><li><a shape="rect" href="cross-language-clients.html">Cross Language Clients</a></li><li><a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></li><li><a shape="rect" href="jmx.html">JMX</a></li><li><a shape="rect" href="jms-to-jms-bridge.html">JMS to JMS Bridge</a></li><li><a shape="rect" href="masterslave.html">MasterSlave</a></li><li><a shape="rect" href="message-groups.html">Message Groups</a></li><li><a shape="rect" href="networks-of-brokers.html">Networks of Brokers</a></li><li><a shape="rect" href="performance.html">Performance</a></li><li><a shape="rect" href="persistence.html">Persistence</a></li><li><a shape="rect" href="security.html">Security</a></li><li><a shape="rect" href="virtual-destinations.html">Virtual Destinations</a></li><li><a shape="rect" href="visualisation.html">Visualisation</a></li><li><a shape="rect" href="features.html">More ...</a></li></ul><h3 id="Navigation-Connectivityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=36167"><a shape="rect" href="connectivity.html">Connectivity</a></h3><ul class="alternate"><li><a shape="rect" href="ajax.html">Ajax</a></li><li><a shape="rect" href="amqp.html">AMQP</a></li><li><a shape="rect" href="axis-and-cxf-support.html">Axis and CXF Support</a></li><li><a shape="rect" href="c-integration.html">C Integration</a></li><li><a shape="rect" href="activemq-c-clients.html">C++</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/nms/">C# and .Net Integration</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/cms/">CMS</a></li><li><a shape="rect" href="j2ee.html">J2EE</a></li><li><a shape="rect" href="jboss-integration.html">JBoss Integration</a></li><li><a shape="rect" class="external-link" href="http://docs.codehaus.org/display/JETTY/Integrating+with+ActiveMQ" rel="nofollow">Jetty</a></li><li><a shape="rect" href="jndi-support.html">JNDI Support</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/nms/" title="NMS is the .Net Messaging API">NMS</a></li><li><a shape="rect" href="rest.html">REST</a></li><li><a shape="rect" href="rss-and-atom.html">RSS and Atom</a></li><li><a shape="rect" href="spring-support.html">Spring Support</a></li><li><a shape="rect" href="stomp.html">Stomp</a></li><li><a shape="rect" href="tomcat.html">Tomcat</a></li><li><a shape="rect" href="unix-service.html">Unix Service</a></li><li><a shape="rect" href="weblogic-integration.html">WebLogic Integration</a></li><li><a shape="rect" href="xmpp.html">XMPP</a></li><li><a shape="rect" href="connectivity.html">More ...</a></li></ul><h3 id="Navigation-UsingActiveMQ5https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=71176"><a shape="rect" href="using-activemq-5.html">Using ActiveMQ 5</a></h3><ul class="alternate"><li><a shape="rect" href="version-5-getting-started.html">Getting Started</a></li><li><a shape="rect" href="version-5-initial-configuration.html">Initial Configuration</a></li><li><a shape="rect" href="version-5-run-broker.html">Running a Broker</a></li><li><a shape="rect" href="how-do-i-embed-a-broker-inside-a-connection.html">Embedded Brokers</a></li><li><a shape="rect" href="activemq-command-line-tools-reference.html">Command Line Tools</a></li><li><a shape="rect" href="configuring-version-5-transports.html">Configuring Transports</a></li><li><a shape="rect" href="version-5-examples.html">Examples</a></li><li><a shape="rect" href="version-5-web-samples.html">Web Samples</a></li><li><a shape="rect" href="how-can-i-monitor-activemq.html">Monitoring the Broker</a></li><li><a shape="rect" href="version-5-xml-configuration.html">Xml Configuration</a></li><li><a shape="rect" href="xml-reference.html">Xml Reference</a></li><li><a shape="rect" href="using-activemq-5.html">More ...</a></li></ul><h3 id="Navigation-Toolshttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=35912"><a shape="rect" href="tools.html">Tools</a></h3><ul class="alternate"><li><a shape="rect" href="web-console.html">Web Console</a></li><li><a shape="rect" href="activemq-performance-module-users-manual.html">Maven2 Performance Plugin</a></li></ul><h3 id="Navigation-Supporthttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=35919"><a shape="rect" href="support.html">Support</a></h3><ul class="alternate"><li><a shape="rect" class="external-link" href="http://issues.apache.org/jira/browse/AMQ">Issues</a></li><li><a shape="rect" class="external-link" href="http://issues.apache.org/activemq/browse/AMQ?report=com.atlassian.jira.plugin.system.project:roadmap-panel">Roadmap</a></li><li><a shape="rect" class="external-link" href="http://issues.apache.org/activemq/browse/AMQ?report=com.atlassian.jira.plugin.system.project:changelog-panel">Change log</a></li></ul><h3 id="Navigation-Developershttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=35903"><a shape="rect" href="developers.html">Developers</a></h3><ul class="alternate"><li><a shape="rect" href="source.html">Source</a></li><li><a shape="rect" href="building.html">Building</a></li><li><a shape="rect" href="developer-guide.html">Developer Guide</a></li><li><a shape="rect" href="becoming-a-committer.html">Becoming a committer</a></li><li><a shape="rect" href="code-overview.html">Code Overview</a></li><li><a shape="rect" href="wire-protocol.html">Wire Protocol</a></li><li><a shape="rect" href="release-guide.html">Release Guide</a></li></ul><h3 id="Navigation-Tests">Tests</h3><ul class="alternate"><li><a shape="rect" href="activemq-performance-module-users-manual.html">Maven2 Performance Plugin</a></li><li><a shape="rect" href="benchmark-tests.html">Benchmark Tests</a></li><li><a shape="rect" href="jmeter-system-tests.html">JMeter System Tests</a></li><li><a shape="rect" href="jmeter-performance-tests.html">JMeter Performance Tests</a></li><li><a shape="rect" href="integration-tests.html">Integration Tests</a></li></ul><h3 id="Navigation-ProjectReports">Project Reports</h3><ul class="alternate"><li><a shape="rect" href="junit-reports.html">JUnit Reports</a></li><li><a shape="rect" href="source-xref.html">Source XRef</a></li><li><a shape="rect" href="test-source-xref.html">Test Source XRef</a></li><li><a shape="rect" href="xml-reference.html">Xml Reference</a></li></ul>
              </div>
            </div>
          </div>
        </td>
        </tr>
  </tbody>
        </table>
        <div class="bottom_red_bar"></div>
      </div>
    </div>
  </div>
</div>
<div class="black_box">
<div class="footer">
  <div class="footer_l">
    <div class="footer_r">
      <div>
        <a href="http://activemq.apache.org/privacy-policy.html">Privacy Policy</a> -
        (<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=35928">edit this page</a>)
      </div>
    </div>
  </div>
</div>
</div>
</div>
<div class="design_attribution">
&copy; 2004-2011 The Apache Software Foundation.
<br/>          
Apache ActiveMQ, ActiveMQ, Apache, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation.  All other marks mentioned may be trademarks or registered trademarks of their respective owners.
<br/>
<a href="http://hiramchirino.com">Graphic Design By Hiram</a>
</div>

<!-- delay the loading of large javascript files to the end so that they don't interfere with the loading of page content -->
<span style="display: none">
  <script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  </script>
  <script type="text/javascript">
    var pageTracker = _gat._getTracker("UA-1347593-1");
    pageTracker._initData();
    pageTracker._trackPageview();
  </script>
</span>
</body>
</html>
