blob: a3c60d82a26daf804c2e3f1305513db731f5cfc1 [file] [log] [blame]
<!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 src='http://activemq.apache.org/styles/highlighter/scripts/shBrushBash.js' type='text/javascript'></script>
<script type="text/javascript">
SyntaxHighlighter.defaults['toolbar'] = false;
SyntaxHighlighter.all();
</script>
<title>
Apache ActiveMQ &#8482; -- JMX
</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="jmx.html">JMX</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="JMX-JMX">JMX</h2><p>Apache ActiveMQ has extensive support for JMX to allow you to monitor and control the behavior of the broker via the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/apidocs/org/apache/activemq/broker/jmx/package-summary.html">JMX MBeans</a>.</p><h3 id="JMX-UsingJMXtomonitorApacheActiveMQ">Using JMX to monitor Apache ActiveMQ</h3><p>You can enable/disable JMX support as follows...</p><p>1. <a shape="rect" href="run-broker.html">Run a broker</a> setting the broker property useJmx to true (enabled by default) i.e.</p><p>For xbean configuration</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">&lt;broker useJmx="true" brokerName="BROKER1"&gt;
...
&lt;/broker&gt;
</pre>
</div></div><p>2. Run a JMX console</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;">$ jconsole </pre>
</div></div><p>3. The ActiveMQ broker should appear in the list of local connections, if you are running JConsole on the same host as ActiveMQ.</p><p><strong style="color: rgb(102,0,51);font-size: 16.0px;"><br clear="none"></strong></p><p><strong style="color: rgb(102,0,51);font-size: 16.0px;">JMX remote access</strong></p><p>Remote connections to JMX are not enabled by default in the activemq.xml for security reasons. Please refer to&#160;<a shape="rect" class="external-link" href="http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html" rel="nofollow">Java Management guide</a>&#160;to configure the broker for remote management.</p><p>&#160;</p><p><span style="line-height: 1.4285715;">Using the Apache ActiveMQ version on OS X it appears as follows:</span></p><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="jmx.data/activemq-jmx.png"></span><br clear="none"> &#160;</p><h3 id="JMX-ActiveMQMBeansReference">ActiveMQ MBeans Reference</h3><p>For additional references provided below is a brief hierarchy of the mbeans and a listing of the properties, attributes, and operations of each mbeans.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>&#160;Mbean Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Properties / ObjectName&#160;</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Attributes&#160;</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Operations&#160;</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;Broker</p></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><strong>type</strong>=Broker</li><li><strong>brokerName</strong>=&lt;broker identifier&gt;</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>BrokerId</li><li>TotalEnqueueCount</li><li>TotalDequeueCount</li><li>TotalConsumerCount</li><li>TotalMessageCount</li><li>TotalConnectionsCount</li><li>TotalConsumerCount</li><li>TotalProducerCount</li><li>MemoryLimit</li><li>MemoryPercentUsage</li><li>StoreLimit</li><li>StorePercentUsage</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>start</li><li>stop</li><li>terminateJVM</li><li>resetStatistics</li><li>gc</li></ul></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;Destination</p></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><strong>type</strong>=Broker</li><li><strong>brokerName</strong>=&lt;name of broker&gt;</li><li><strong>destinationType</strong>=Queue|Topic</li><li><strong>destinationName</strong>=&lt;name&gt;</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>AverageEnqueueTime</li><li><span style="line-height: 1.4285715;">ConsumerCount</span></li><li><span style="line-height: 1.4285715;">DequeueCount</span></li><li>EnqueueCount</li><li>ExpiredCount</li><li>InFlightCount</li><li><span style="line-height: 1.4285715;">MemoryLimit</span></li><li>MemoryPercentUsage</li><li>Name</li><li><span style="line-height: 1.4285715;">QueueSize (queues only)</span></li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>browseMessages</li><li>gc</li><li>purge</li><li>resetStatistics</li></ul></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;NetworkConnector</p></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><strong>type</strong>=Broker</li><li><strong>brokerName</strong>=&lt;name of broker&gt;</li><li><strong>connector</strong>=networkConnectors</li><li><strong>networkConnectorName</strong>=&lt;connector identifier&gt;</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>Name</li><li>Duplex</li><li>DynamicOnly</li><li>BridgeTempDestinations</li><li>ConduitSubscriptions</li><li>DecreaseNetworkConsumerPriority</li><li>DispatchAsync</li><li>DynamicOnly</li><li>NetworkTTL</li><li>Password</li><li>PrefetchSize</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>start</li><li>stop</li></ul></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;Connector</p></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><strong>type</strong>=Broker</li><li><strong>brokerName</strong>=&lt;name of broker&gt;</li><li><strong>connector</strong>=clientConnectors</li><li><strong>ConnectorName</strong>=&lt;connector identifier&gt;</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>StatisticsEnabled</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>start</li><li>stop</li><li>resetStatistics</li><li>enableStatistics</li><li>disableStatistics</li><li>connectionCount</li></ul></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;Connection</p></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><strong>type</strong>=Broker</li><li><strong>brokerName</strong>=&lt;name of broker&gt;</li><li><strong>connectionViewType</strong>=clientId</li><li><strong>connectionName</strong>=&lt;connection identifier&gt;</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>DispatchQueueSize</li><li>Active</li><li>Blocked</li><li>Connected</li><li>Slow</li><li>Consumers</li><li>Producers</li><li>RemoteAddress</li><li>UserName</li><li>ClientId</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>start</li><li>stop</li><li>resetStatistics</li></ul></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160; PersistenceAdapter</p></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><strong>type</strong>=Broker</li><li><strong>brokerName</strong>=&lt;broker name&gt;</li><li><strong>Service</strong>=PersistenceAdapter</li><li><strong>InstanceName</strong>=&lt;adapter identifier&gt;</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>Name</li><li>Size</li><li>Data</li><li>Transactions</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;Health</p></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><strong>type</strong>=Broker</li><li><strong>brokerName</strong>=&lt;broker name&gt;</li><li><strong>Service</strong>=Health</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>CurrentStatus</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>health</li></ul></td></tr></tbody></table></div><p>Command line utilities are also available to let you monitor ActiveMQ. Refer to <a shape="rect" href="activemq-command-line-tools-reference.html">ActiveMQ Command Line Tools Reference</a> for usage information.</p><p>JMX API is also exposed via <a shape="rect" href="rest.html">REST management API </a></p><h3 id="JMX-PasswordProtectingtheJMXConnector">Password Protecting the JMX Connector</h3><p>(For Java 1.5+)</p><p>1. Make sure JMX is enabled, but tell ActiveMQ <strong>not</strong> create its own connector so that it will use the default JVM JMX connector.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">&lt;broker xmlns="http://activemq.org/config/1.0" brokerName="localhost"useJmx="true"&gt;
...
&lt;managementContext&gt;
&lt;managementContext createConnector="false"/&gt;
&lt;/managementContext&gt;
...
&lt;/broker&gt;
</pre>
</div></div><p>2. Create access and password files</p><p>conf/jmx.access:</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;"># The "monitorRole" role has readonly access.
# The "controlRole" role has readwrite access.
monitorRole readonly
controlRole readwrite
</pre>
</div></div><p>conf/jmx.password:</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;"># The "monitorRole" role has password "abc123".
# The "controlRole" role has password "abcd1234".
monitorRole abc123
controlRole abcd1234
</pre>
</div></div><p>(Make sure both files are not world readable - more info can be find <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html#auth" rel="nofollow">here</a> to protect files)</p><p>For more details you can see the <a shape="rect" class="external-link" href="http://tomcat.apache.org/tomcat-5.5-doc/monitoring.html">Monitoring Tomcat Document</a></p><p>3. Modify the "activemq" startup script (in bin) to enable the Java 1.5+ JMX connector</p><p>Find the "ACTIVEMQ_SUNJMX_START=" line and change it too the following: (note that in previous versions of ActiveMQ this property was called SUNJMX in some scripts. &#160;As of v5.12.0 all scripts use ACTIVEMQ_SUNJMX_START):</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;">1. Windows
ACTIVEMQ_SUNJMX_START=-Dcom.sun.management.jmxremote.port=1616 -Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.password.file=%ACTIVEMQ_BASE%/conf/jmx.password \
-Dcom.sun.management.jmxremote.access.file=%ACTIVEMQ_BASE%/conf/jmx.access
2. Unix
ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=1616 -Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_BASE}/conf/jmx.password \
-Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_BASE}/conf/jmx.access"
</pre>
</div></div><p>This could be set in /etc/activemq.conf instead (if you have root access):</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;">1. Windows
ACTIVEMQ_HOME=DRIVE_LETTER:/where/ActiveMQ/is/installed
ACTIVEMQ_BASE=%ACTIVEMQ_HOME%
ACTIVEMQ_SUNJMX_START=-Dcom.sun.management.jmxremote.port=1616 -Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.password.file=%ACTIVEMQ_BASE%/conf/jmx.password \
-Dcom.sun.management.jmxremote.access.file=%ACTIVEMQ_BASE%/conf/jmx.access
2. Unix
ACTIVEMQ_HOME=DRIVE_LETTER:/where/ActiveMQ/is/installed
ACTIVEMQ_BASE=${ACTIVEMQ_HOME}
ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=1616 -Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_BASE}/conf/jmx.password \
-Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_BASE}/conf/jmx.access"
</pre>
</div></div><p>4. Start ActiveMQ</p><p>You should be able to connect to JMX on the JMX URL</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;">service:jmx:rmi:///jndi/rmi://&lt;your hostname&gt;:1616/jmxrmi
</pre>
</div></div><p>And you will be forced to login.</p><h3 id="JMX-SelectiveMBeanregistration">Selective MBean registration</h3><p>In situations where you need to scale your broker to large number of connections, destinations and consumers it can become very expensive to keep JMX MBeans for all those objects. Instead of turning off JMX completely, starting with 5.12.0, you can selectively suppress registration of some types of MBeans and thus help your broker scale, while still having a basic view of the broker state.</p><p>For example, the following configuration will exclude all dynamic producers, consumers, connections and advisory topics from registering their MBeans</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;managementContext&gt;
&lt;managementContext&#160;
suppressMBean="endpoint=dynamicProducer,endpoint=Consumer,connectionName=*,destinationName=ActiveMQ.Advisory.*"
/&gt;
&lt;/managementContext&gt;</pre>
</div></div><p>&#160;</p><h4 id="JMX-ManagementContextPropertiesReference">ManagementContext Properties Reference</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property Name</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>useMBeanServer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If true then it avoids creating a new MBean server if a MBeanServer has already been created in the JVM</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jmxDomainName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>org.apache.activemq</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The jmx domain that all objects names will use</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>createMBeanServer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If we should create the MBeanServer is none is found.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>createConnector</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(119,119,119);"><span style="color: rgb(0,0,0);">Please refer to</span>&#160;</span><a shape="rect" class="external-link" href="http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html" rel="nofollow">Java Management guide</a><span style="color: rgb(119,119,119);">&#160;<span style="color: rgb(0,0,0);">to configure the server for remote management and lock down the endpoint serialisation with an appropriate <a shape="rect" class="external-link" href="http://openjdk.java.net/jeps/290" rel="nofollow"> jdk.serialFilter</a></span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>connectorPort</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1099</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The port that the JMX connector will use</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>connectorHost</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>localhost</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The host that the JMX connector and RMI server (if rmiServerPort&gt;0) will use</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>rmiServerPort</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The RMI server port, handy if port usage needs to be restricted behind a firewall</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>connectorPath</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>/jmxrmi</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The path that JMX connector will be registered under</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>findTigerMBeanServer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Enables/disables the searching for the Java 5 platform MBeanServer</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>suppressMBean</p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">List of MBean name patters to ignore</td></tr></tbody></table></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=35976">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>