<!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; -- 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="pmc-templates.html">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 email templates are for use by the ActiveMQ PMC:&#160;</p><p><style type="text/css">/*<![CDATA[*/
div.rbtoc1506453653365 {padding: 0px;}
div.rbtoc1506453653365 ul {list-style: disc;margin-left: 0px;}
div.rbtoc1506453653365 li {margin-left: 0px;padding-left: 0px;}

/*]]>*/</style></p><div class="toc-macro rbtoc1506453653365">
<ul class="toc-indentation"><li><a shape="rect" href="#PMCTemplates-CommitterDiscussion">Committer Discussion</a></li><li><a shape="rect" href="#PMCTemplates-CommitterVote">Committer Vote</a></li><li><a shape="rect" href="#PMCTemplates-CommitterVoteResult">Committer Vote Result</a></li><li><a shape="rect" href="#PMCTemplates-CommitterInvitation">Committer Invitation</a></li><li><a shape="rect" href="#PMCTemplates-CommitterAnnouncement">Committer Announcement</a></li><li><a shape="rect" href="#PMCTemplates-CommiterOnboarding">Commiter Onboarding</a></li><li><a shape="rect" href="#PMCTemplates-PMCDiscussion">PMC&#160;Discussion</a></li><li><a shape="rect" href="#PMCTemplates-PMCVote">PMC Vote</a></li><li><a shape="rect" href="#PMCTemplates-PMCInvite">PMC Invite</a></li></ul>
</div><h1 id="PMCTemplates-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...</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><p>&#160;</p><h1 id="PMCTemplates-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] Invite &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="PMCTemplates-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] Invite &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="PMCTemplates-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 invites you to become committer on 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 check 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="PMCTemplates-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="PMCTemplates-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-link" 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="PMCTemplates-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="PMCTemplates-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] Invite <span>&lt;CANDIDATE&gt; </span>to join Apache ActiveMQ PMC</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="PMCTemplates-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 PMC</p><p>&lt;INVITEE&gt;,<br clear="none">In recognition of your continued contributions to the project, the Apache ActiveMQ PMC has voted to invite you to join the PMC. I am writing on behalf of the PMC to give you the opportunity to either accept or reject this invitation 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="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=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>
