You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by bs...@apache.org on 2017/12/13 19:16:32 UTC

[02/51] [partial] activemq-web git commit: Initial commit

http://git-wip-us.apache.org/repos/asf/activemq-web/blob/c5128cb5/activemq-performance-module-users-manual.html
----------------------------------------------------------------------
diff --git a/activemq-performance-module-users-manual.html b/activemq-performance-module-users-manual.html
new file mode 100644
index 0000000..82ecf2d
--- /dev/null
+++ b/activemq-performance-module-users-manual.html
@@ -0,0 +1,168 @@
+<!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 ty
 pe 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 cons
 umer 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" cla
 ss="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 col
 span="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 perfo
 rmance 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="con
 fluenceTd"><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>produc
 er.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.he
 ader="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="confl
 uenceTd"><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="confluenc
 eTd"><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 rece
 ived.</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">mes
 sage 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="confluenceTabl
 e"><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 u
 se.</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="conflu
 enceTd"><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 co
 lspan="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:</st
 rong> 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 cols
 pan="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 co
 lspan="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="confluenceT
 d"><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="bor
 der-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 dur
 ation.</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 - ra
 mpDownTime) 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>Th
 e 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="cros
 s-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=3616
 7"><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://a
 ctivemq.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="altern
 ate"><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">Pro
 ject 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>

http://git-wip-us.apache.org/repos/asf/activemq-web/blob/c5128cb5/activemq-pmc-templates.html
----------------------------------------------------------------------
diff --git a/activemq-pmc-templates.html b/activemq-pmc-templates.html
new file mode 100644
index 0000000..a8047b3
--- /dev/null
+++ b/activemq-pmc-templates.html
@@ -0,0 +1,171 @@
+<!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]-->
+
+    
+    <title>
+    Apache ActiveMQ &#8482; -- ActiveMQ PMC Templates
+    </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="community.html">Community</a>&nbsp;&gt;&nbsp;<a href="activemq-pmc-templates.html">ActiveMQ PMC Templates</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"><p>The following templates are for use by the ActiveMQ PMC:</p><p><style type="text/css">/*<![CDATA[*/
+div.rbtoc1506381664654 {padding: 0px;}
+div.rbtoc1506381664654 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1506381664654 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1506381664654">
+<ul class="toc-indentation"><li><a shape="rect" href="#ActiveMQPMCTemplates-CommitterDiscussion">Committer Discussion</a></li><li><a shape="rect" href="#ActiveMQPMCTemplates-CommitterVote">Committer Vote</a></li><li><a shape="rect" href="#ActiveMQPMCTemplates-CommitterVoteResult">Committer Vote Result</a></li><li><a shape="rect" href="#ActiveMQPMCTemplates-CommitterInvitation">Committer Invitation</a></li><li><a shape="rect" href="#ActiveMQPMCTemplates-CommitterAnnouncement">Committer Announcement</a></li><li><a shape="rect" href="#ActiveMQPMCTemplates-CommiterOnboarding">Commiter Onboarding</a></li><li><a shape="rect" href="#ActiveMQPMCTemplates-PMCDiscussion">PMC&#160;Discussion</a></li><li><a shape="rect" href="#ActiveMQPMCTemplates-PMCVote">PMC Vote</a></li><li><a shape="rect" href="#ActiveMQPMCTemplates-PMCInvite">PMC Invite</a></li></ul>
+</div><h1 id="ActiveMQPMCTemplates-CommitterDiscussion">Committer Discussion</h1><div class="panel" style="border-width: 1px;"><div class="panelContent">
+<p>To:&#160;<a shape="rect" class="external-link" href="mailto:private@activemq.apache.org" rel="nofollow">private@activemq.apache.org<br clear="none"></a>Subject: [DISCUSS] Invite &lt;CANDIDATE&gt; to become an ActiveMQ committer</p><p>Considering &lt;CANDIDATE&gt;&#8217;s contributions to the ActiveMQ project...&lt;INSERT EVIDENCE HERE&gt;</p><p>Based on this person's contributions above, I think we should invite &lt;CANDIDATE&gt; to become a committer.</p><p>Please remember that this is not a vote for this person to become a committer, at this point it is only a discussion.</p>
+</div></div><p>&#160;</p><h1 id="ActiveMQPMCTemplates-CommitterVote">Committer Vote</h1><div class="panel" style="border-width: 1px;"><div class="panelContent">
+<p>To: <a shape="rect" class="external-link" href="mailto:private@activemq.apache.org" rel="nofollow">private@activemq.apache.org<br clear="none"></a>Subject: [VOTE] Offer &lt;CANDIDATE&gt; to become an ActiveMQ committer</p><p>After positive discussion about &lt;CANDIDATE&gt;&#8217;s contributions to the project, I would like to initiate a formal vote.</p><p>Considering &lt;INSERT EVIDENCE HERE&gt; as raised in the discussion thread...</p><p>This vote will follow the ASF process for committer votes and consensus approval (at least three binding +1 votes and no vetoes)The vote will be open for 72 hours.</p><p>[ ] +1 Accept &lt;CANDIDATE&gt; as a committer of Apache ActiveMQ<br clear="none">[ ] +0<br clear="none">[ ] -1 Do not accept at this time because...</p>
+</div></div><p>&#160;</p><h1 id="ActiveMQPMCTemplates-CommitterVoteResult">Committer Vote Result</h1><div class="panel" style="border-width: 1px;"><div class="panelContent">
+<p>To: <a shape="rect" class="external-link" href="mailto:private@activemq.apache.org" rel="nofollow">private@activemq.apache.org<br clear="none"></a>Subject: [RESULT][VOTE] Offer &lt;CANDIDATE&gt; to become an ActiveMQ committer.</p><p>This vote has been open for &lt;X&gt; days and is now closed with the following results:</p><p>* Number of +1s<br clear="none">* Number of 0s<br clear="none">* Number of -1s</p><p>The vote &lt;passes|does not pass&gt;.</p>
+</div></div><p>&#160;</p><h1 id="ActiveMQPMCTemplates-CommitterInvitation">Committer Invitation</h1><div class="panel" style="border-width: 1px;"><div class="panelContent">
+<p>To: &lt;INVITEE EMAIL&gt;<br clear="none">Cc: <a shape="rect" class="external-link" href="mailto:private@activemq.apache.org" rel="nofollow">private@activemq.apache.org<br clear="none"></a>Subject: Invitation to become Apache Active committer</p><p>Hello &lt;INVITEE&gt;,</p><p>The Apache ActiveMQ Project Management Committee (PMC) hereby offers you committer privileges to the project. These privileges are offered on the understanding that you'll use them reasonably and with common sense. We like to work on trust rather than unnecessary constraints.</p><p>Being a committer enables you to more easily make changes without needing to go through the patch submission process. Although you will be granted commit access to project repositories, you will be expected to adhere to project best practices when committing. The following URL some good resources regarding expectations and processes:</p><p><a shape="rect" class="external-link" href="http://www.apache.org/dev/new-committers-guide.
 html">http://www.apache.org/dev/new-committers-guide.html</a></p><p>This is a personal invitation for you to accept or decline in private. Please reply to the <a shape="rect" class="external-link" href="mailto:private@activemq.apache.org" rel="nofollow">private@activemq.apache.org</a> address only.</p><p>If you accept the invitation, the next step is to register an Individual Contributor License Agreement (ICLA) with the Apache Software Foundation if you have not already. Details of the ICLA and the forma can be found at the following URL:</p><p><a shape="rect" class="external-link" href="http://www.apache.org/licenses/#clas">http://www.apache.org/licenses/#clas</a></p><p>The form provides instructions for its completion and submittal to the Secretary of the ASF.</p><p>When you submit the completed ICLA, please request to notify the Apache ActiveMQ project upon official receipt.Once your ICLA has been acknowledged by the Secretary, you will need to choose a unique ASF ID. You can ch
 eck to see if your preferred id is already taken by browsing the following list of ASF committers:</p><p><a shape="rect" class="external-link" href="http://people.apache.org/committer-index.html">http://people.apache.org/committer-index.html</a></p><p>When your ICLA is recognized by the Secretary, you will receive a follow-up message with the next steps for establishing you as a committer.</p><p>We look forward to your response!</p>
+</div></div>    
+<div class="aui-message contentf-msgbox shadowed aui-message-hint">
+    <p class="title">
+                                
+                <span class="aui-icon icon-hint"></span>
+                                        <strong>IMPORTANT</strong>
+            </p>
+    <p></p><p>Once the prospective committer has accepted the invitation and the ICLA has been acknowledged (check the following URL to be sure it has been submitted: <a shape="rect" class="external-link" href="https://people.apache.org/unlistedclas.html">https://people.apache.org/unlistedclas.html</a>), locate the vote result thread permalink from the private@activemq list can be found using:&#160;<a shape="rect" class="external-link" href="https://mail-search.apache.org/">https://mail-search.apache.org/</a> or <a shape="rect" class="external-link" href="https://lists.apache.org/">https://lists.apache.org/</a> (authentication required).</p><p>Upon locating the permalink, use the account request form to request the new ASF user id:&#160;<a shape="rect" class="external-link" href="https://id.apache.org/acreq/pmc-chairs">https://id.apache.org/acreq/pmc-chairs</a>&#160; If the name isn't in the list be sure to click the link on the bottom right.</p>
+</div>
+<h1 id="ActiveMQPMCTemplates-CommitterAnnouncement">Committer Announcement</h1><div class="panel" style="border-width: 1px;"><div class="panelContent">
+<p>To: <a shape="rect" class="external-link" href="mailto:dev@activemq.apache.org" rel="nofollow">dev@activemq.apache.org</a><br clear="none">Subject: [ANNOUNCE] New Apache ActiveMQ Committer &lt;INVITEE&gt;</p><p>On behalf of the Apache ActiveMQ PMC, I am very pleased to announce that &lt;INVITEE&gt; has accepted an invitation to become a committer. We greatly appreciate all of &lt;INVITEE&gt;'s hard work and generous contributions to the project. We look forward to &lt;her/his&gt; continued involvement in the project.</p><p>Welcome &lt;INVITEE&gt; and congratulations!</p>
+</div></div><p>&#160;</p><h1 id="ActiveMQPMCTemplates-CommiterOnboarding">Commiter Onboarding</h1><div class="panel" style="border-width: 1px;"><div class="panelContent">
+<p>To: <a shape="rect" class="external-link" href="mailto:private@acctivemq.apache.org" rel="nofollow">private@acctivemq.apache.org</a>, &lt;NEW COMMITTER&gt;<br clear="none">Subject: [committer]: What to do now that you're a committer?</p><p>&lt;COMMITTER&gt;, the ASF Infrastructure has set up your user account as the '&lt;ASF USER ID&gt;'.</p><p>To learn more about how the ASF works, please visit the following URL and read the items in the 'Committers and Contributors' section:</p><p><a shape="rect" class="external-link" href="https://www.apache.org/dev/#committers">https://www.apache.org/dev/#committers</a></p><p>It is especially important to read through the New Committers Guide at the following URL:</p><p><a shape="rect" class="external-link" href="https://www.apache.org/dev/new-committers-guide.html">https://www.apache.org/dev/new-committers-guide.html</a></p><p>Please ensure that you subscribed to the Apache ActiveMQ Developers mailing list <a shape="rect" class="external-lin
 k" href="mailto:dev@activemq.apache.org" rel="nofollow">dev@activemq.apache.org</a>. We also recommend subscribing to the users@ and commits@ mailing lists at <a shape="rect" class="external-link" href="mailto:users@activemq.apache.org" rel="nofollow">users@activemq.apache.org</a> and <a shape="rect" class="external-link" href="mailto:commits@activemq.apache.org" rel="nofollow">commits@activemq.apache.org</a>. Please see the following page for more info about the mailing lists:</p><p><a shape="rect" class="external-link" href="http://activemq.apache.org/mailing-lists.html">http://activemq.apache.org/mailing-lists.html</a><br clear="none"> <br clear="none">To push commits, ensure that you use HTTPS or SSH in your git remotes, or if you've been pulling from a mirror like Github, you'll need to add a remote such as:</p><p><br clear="none"> $ git remote add apache <a shape="rect" class="external-link" href="https://git-wip-us.apache.org/repos/asf/activemq.git">https://git-wip-us.apache.
 org/repos/asf/activemq.git</a></p><p><br clear="none">If you have any questions please ask on the dev@activemq list.</p>
+</div></div><p>&#160;</p><h1 id="ActiveMQPMCTemplates-PMCDiscussion">PMC&#160;Discussion</h1><div class="panel" style="border-width: 1px;"><div class="panelContent">
+<p>To:&#160;<a shape="rect" class="external-link" href="mailto:private@activemq.apache.org" rel="nofollow">private@activemq.apache.org<br clear="none"></a>Subject: [DISCUSS] Invite &lt;CANDIDATE&gt; to join ActiveMQ PMC</p><p>Considering &lt;CANDIDATE&gt;&#8217;s contributions to the ActiveMQ project as a committer...</p><p>&lt;INSERT EVIDENCE HERE&gt;</p><p>Based on this person's contributions above, I think we should invite &lt;CANDIDATE&gt; to become a committer.</p><p>Please remember that this is not a vote for this person to become a committer, at this point it is only a discussion.</p>
+</div></div><h1 id="ActiveMQPMCTemplates-PMCVote">PMC Vote</h1><div class="panel" style="border-width: 1px;"><div class="panelContent">
+<p>To: <a shape="rect" class="external-link" href="mailto:private@activemq.apache.org" rel="nofollow">private@activemq.apache.org</a><br clear="none">Subject: [VOTE] Offer Apache ActiveMQ PMC Membership to &lt;CANDIDATE&gt;</p><p>After positive discussion considering &lt;CANDIDATE&gt;&#8217;s contributions as a committer, I would like to initiate a formal vote.</p><p>&lt;INSERT EVIDENCE HERE&gt;</p><p>This vote will follow the ASF process for committer votes and consensus approval (at least three binding +1 votes and no vetoes)</p><p>The vote will be open for 72 hours.</p><p>[ ] +1 Accept &lt;CANDIDATE&gt; as a PMC member of Apache ActiveMQ<br clear="none">[ ] +0<br clear="none">[ ] -1 Do not accept at this time because...</p>
+</div></div><p>&#160;</p><h1 id="ActiveMQPMCTemplates-PMCInvite">PMC Invite</h1><div class="panel" style="border-width: 1px;"><div class="panelContent">
+<p>To: &lt;INVITEE EMAIL&gt;<br clear="none">Cc: <a shape="rect" class="external-link" href="mailto:private@activemq.apache.org" rel="nofollow">private@activemq.apache.org</a><br clear="none">Subject: Invitation to join the Apache ActiveMQ Project Management Committee</p><p>&lt;INVITEE&gt;,<br clear="none">In recognition of your continued contributions to the project, the Apache ActiveMQ PMC has voted to offer you membership to the PMC. I am writing on behalf of the PMC to give you the opportunity to either accept or reject this offer by replying to <a shape="rect" class="external-link" href="mailto:private@activemq.apache.org" rel="nofollow">private@activemq.apache.org</a>.</p><p>In making your decision, please see the following URL for more information on PMCs:</p><p><a shape="rect" class="external-link" href="https://www.apache.org/dev/pmc.html">https://www.apache.org/dev/pmc.html</a></p><p>If you have questions before making a decision, please let us know.</p>
+</div></div></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="cros
 s-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=3616
 7"><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://a
 ctivemq.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="altern
 ate"><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">Pro
 ject 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=73640067">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>

http://git-wip-us.apache.org/repos/asf/activemq-web/blob/c5128cb5/activemq-policy.xml
----------------------------------------------------------------------
diff --git a/activemq-policy.xml b/activemq-policy.xml
new file mode 100644
index 0000000..1188734
--- /dev/null
+++ b/activemq-policy.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+
+<!-- this file can only be parsed using the xbean-spring library -->
+<!-- START SNIPPET: xbean -->
+<beans 
+  xmlns="http://www.springframework.org/schema/beans" 
+  xmlns:amq="http://activemq.apache.org/schema/core"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
+
+  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+
+  <broker persistent="false" brokerName="${brokername}" xmlns="http://activemq.apache.org/schema/core">
+
+    <!--  lets define the dispatch policy -->
+    <destinationPolicy>
+      <policyMap>
+        <policyEntries>
+          <policyEntry topic="FOO.>">
+            <dispatchPolicy>
+              <roundRobinDispatchPolicy />
+            </dispatchPolicy>
+            <subscriptionRecoveryPolicy>
+              <lastImageSubscriptionRecoveryPolicy />
+            </subscriptionRecoveryPolicy>
+          </policyEntry>
+
+          <policyEntry topic="ORDERS.>">
+            <dispatchPolicy>
+              <strictOrderDispatchPolicy />
+            </dispatchPolicy>
+            <!--  1 minutes worth -->
+            <subscriptionRecoveryPolicy>
+              <timedSubscriptionRecoveryPolicy recoverDuration="60000" />
+            </subscriptionRecoveryPolicy>
+          </policyEntry>
+
+          <policyEntry topic="PRICES.>">
+
+            <!-- lets force old messages to be discarded for slow consumers -->
+            <pendingMessageLimitStrategy>
+              <constantPendingMessageLimitStrategy limit="10"/>
+            </pendingMessageLimitStrategy>
+
+            <!--  10 seconds worth -->
+            <subscriptionRecoveryPolicy>
+              <timedSubscriptionRecoveryPolicy recoverDuration="10000" />
+            </subscriptionRecoveryPolicy>
+            
+          </policyEntry>
+          <policyEntry tempTopic="true" advisoryForConsumed="true" />
+
+          <policyEntry tempQueue="true" advisoryForConsumed="true" />
+        </policyEntries>
+      </policyMap>
+    </destinationPolicy>
+  </broker>
+
+</beans>
+<!-- END SNIPPET: xbean -->