<!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; -- Configuring Transports
    </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="using-activemq.html">Using ActiveMQ</a>&nbsp;&gt;&nbsp;<a href="configuring-transports.html">Configuring Transports</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="ConfiguringTransports-Transportconfigurationoptions">Transport configuration options</h2><p>One of the first kinds of URI you are likely to use is a transport URI to connect to a broker using a kind of transport. Generally TCP or VM are the first transports you'll use.</p><div class="confluence-information-macro confluence-information-macro-warning"><p class="title">Be careful about whitespace</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>All of the following URI configurations are based on the java.net.URI class which does not allow whitespace to be used. So if you are using <strong><code>failover:</code></strong> or&#160;<strong><code>static:</code></strong> URIs, do not put any whitespace around the <strong><code>','</code> </strong>symbol.</p></div></div><h3 id="ConfiguringTransports-TheAUTOTransport">The AUTO Transport</h3><p>Starting with 5.13.0 ActiveMQ has support for automatic wire protocol detection over TCP, SSL, NIO, and NIO SSL. &#160;OpenWire, STOMP, AMQP, and MQTT are supported. &#160;For details see the <a shape="rect" href="auto.html">AUTO </a>Transport Reference.</p><h3 id="ConfiguringTransports-TheVMTransport">The VM Transport</h3><p>The VM transport allows clients to connect to each other inside the VM without the overhead of the network communication. The connection used is not that of a socket connection but instead uses direct method invocations to enable a high performance embedded messaging system.</p><p>The first client to use the VM connection will boot an embedded broker. Subsequent connections will attach that the same broker. Once all VM connections to the broker have been closed, the embedded broker will automatically shutdown.</p><p>For more information see the <a shape="rect" href="vm-transport-reference.html">VM Transport Reference</a></p><h3 id="ConfiguringTransports-TheAMQPTransport">The AMQP Transport</h3><p>As of 5.8.0 ActiveMQ has support for AMQP. For details see the <a shape="rect" href="amqp.html">AMQP</a> Transport Reference.</p><h3 id="ConfiguringTransports-TheMQTTTransport">The MQTT Transport</h3><p>Starting with 5.6.0 ActiveMQ also supports <a shape="rect" class="external-link" href="http://mqtt.org/" rel="nofollow">MQTT</a>. Its a light weight publish/subscribe messaging transport. See the <a shape="rect" href="mqtt.html">MQTT</a> Transport Reference for details.</p><h3 id="ConfiguringTransports-TheTCPTransport">The TCP Transport</h3><p>The TCP transport allows clients to connect a remote ActiveMQ using a a TCP socket.</p><p>For more information see the <a shape="rect" href="tcp-transport-reference.html">TCP Transport Reference</a></p><h3 id="ConfiguringTransports-TheNIOTransport">The NIO Transport</h3><p>Same as the TCP transport, except that the <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/New_I/O" rel="nofollow">New I/O (NIO)</a> package is used, which may provide better performance. The Java NIO package should not be confused with IBM's <a shape="rect" class="external-link" href="http://java.sys-con.com/read/46658.htm" rel="nofollow">AIO4J </a> package.</p><p>To switch from TCP to NIO, simply change the scheme portion of the URI. Here's an example as defined within a broker's XML configuration file.</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&gt;
  ...
  &lt;transportConnectors&gt;
    &lt;transportConnector name="nio" uri="nio://0.0.0.0:61616"/&gt;  
  &lt;/&lt;transportConnectors&gt;
  ...
&lt;/broker&gt;
</pre>
</div></div><p>Trying to use nio transport url on the client side will instantiate the regular TCP transport. For more information see the <a shape="rect" href="nio-transport-reference.html">NIO Transport Reference</a></p><h3 id="ConfiguringTransports-TheSSLTransport">The SSL Transport</h3><p>This allows you to talk over TCP using SSL. For more information see the <a shape="rect" href="ssl-transport-reference.html">SSL Transport Reference</a></p><h3 id="ConfiguringTransports-TheNIOSSLTransport">The NIO SSL Transport</h3><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Availability</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Available since 5.6</p></div></div><p>Implementing SSL transport over NIO. This allows you to connect large number of SSL clients to a single broker instance. It's server side transport-option only</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&gt;
  ...
  &lt;transportConnectors&gt;
    &lt;transportConnector name="nio+ssl" uri="nio+ssl://0.0.0.0:61616"/&gt;  
  &lt;/&lt;transportConnectors&gt;
  ...
&lt;/broker&gt;
</pre>
</div></div><p>Trying to use <code>nio+ssl</code> transport url on the client side will instantiate the regular SSL transport.</p><h3 id="ConfiguringTransports-ThePeerTransport">The Peer Transport</h3><p>The Peer transport provides a peer-to-peer network with ActiveMQ. What actually happens is the peer transport uses the VM transport to create and connect to a local embedded broker but which configures the embedded broker to establish network connections to other peer embedded brokers.</p><p>For more information see the <a shape="rect" href="peer-transport-reference.html">Peer Transport Reference</a></p><h3 id="ConfiguringTransports-TheUDPTransport">The UDP Transport</h3><p>This allows you to talk over UDP.</p><p>For more information see the <a shape="rect" href="udp-transport-reference.html">UDP Transport Reference</a></p><h3 id="ConfiguringTransports-TheMulticastTransport">The Multicast Transport</h3><p>This allows you to talk over Multicast.</p><p>For more information see the <a shape="rect" href="multicast-transport-reference.html">Multicast Transport Reference</a></p><h3 id="ConfiguringTransports-TheHTTPandHTTPSTransport">The HTTP and HTTPS Transport</h3><p>This allows the ActiveMQ client and broker to tunnel over HTTP. If the client is not JMS you might want to look at <a shape="rect" href="rest.html">REST</a> or <a shape="rect" href="ajax.html">Ajax</a> support instead.</p><p>For more information see the <a shape="rect" href="http-and-https-transports-reference.html">HTTP and HTTPs Transports Reference</a></p><h3 id="ConfiguringTransports-TheWebSocketsTransport">The WebSockets Transport</h3><p>This transport uses the new HTML5 WebSockets to exchange messages with the broker. For more information see the <a shape="rect" href="websockets.html">WebSockets</a> Transport Reference</p><h3 id="ConfiguringTransports-TheStompTransport">The Stomp Transport</h3><p>A plain text transport that can be used with many languages. See&#160;<a shape="rect" href="stomp.html">Stomp</a> for more details.</p><h2 id="ConfiguringTransports-GeneralPurposeURIs">General Purpose URIs</h2><p>You can configure other features via the URI syntax as follows...</p><h3 id="ConfiguringTransports-ConnectionConfigurationURI">Connection Configuration URI</h3><p>Any Apache ActiveMQ JMS connection can be configured using the URL or explicitly setting properties on the <a shape="rect" class="external-link" href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnection.html">ActiveMQConnection</a> or <a shape="rect" class="external-link" href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnectionFactory.html">ActiveMQConnectionFactory</a> objects themselves.</p><p>For more information see <a shape="rect" href="connection-configuration-uri.html">Connection Configuration URI</a></p><h3 id="ConfiguringTransports-DestinationOptions">Destination Options</h3><p>You can configure various consumer related options using <a shape="rect" href="destination-options.html">Destination Options</a> which allow you to configure destinations using URI syntax.</p><h3 id="ConfiguringTransports-BrokerConfigurationURI">Broker Configuration URI</h3><p>You can use a <a shape="rect" href="broker-configuration-uri.html">Broker Configuration URI</a> to configure an embedded broker, either using the BrokerFactory helper class from Java or using the activemq shell script. For more details see <a shape="rect" href="run-broker.html">How to Run a Broker</a></p><h3 id="ConfiguringTransports-ConfiguringWireFormats">Configuring Wire Formats</h3><p>Any transport which involves marshalling messages onto some kind of network transport like TCP or UDP will typically use the <a shape="rect" href="openwire.html">OpenWire</a> format. This is configurable to customize how things appear on the wire.</p><p>For more information see <a shape="rect" href="configuring-wire-formats.html">Configuring Wire Formats</a></p><h2 id="ConfiguringTransports-HighLevelProtocolURIs">High Level Protocol URIs</h2><p>The following higher level protocols can be configured via URI</p><h3 id="ConfiguringTransports-TheFailoverTransport">The Failover Transport</h3><p>The Failover transport layers reconnect logic on top of any of the other transports. This is what used to be the Reliable transport in ActiveMQ 3. Its configuration syntax allows you to specify any number of composite URIs. The Failover transport randomly chooses one of the composite URIs and attempts to establish a connection to it. If it does not succeed or if it subsequently fails, a new connection is established to one of the other URIs in the list.</p><p>For more information see the <a shape="rect" href="failover-transport-reference.html">Failover Transport Reference</a></p><h3 id="ConfiguringTransports-TheFanoutTransport">The Fanout Transport</h3><p>The Fanout transport layers reconnect and replicate logic on top of any of the other transports. It is used replicate commands to multiple brokers.</p><p>For more information see the <a shape="rect" href="fanout-transport-reference.html">Fanout Transport Reference</a></p><h2 id="ConfiguringTransports-UsingDiscovery">Using Discovery</h2><p>Often when using transports like TCP you want to use <a shape="rect" href="discovery.html">Discovery</a> to locate the available brokers. This is different from using, say, <a shape="rect" href="multicast-transport-reference.html">Multicast</a> - as the actual main communication is over TCP but multicast is purely used to discover the location of brokers.</p><h3 id="ConfiguringTransports-TheDiscoveryTransport">The Discovery Transport</h3><p>The Discovery transport works just like the reliable transport, except that it uses a discovery agent to locate the list of URIs to connect to.</p><p>For more information see the <a shape="rect" href="discovery-transport-reference.html">Discovery Transport Reference</a></p><h3 id="ConfiguringTransports-TheZeroConfTransport">The ZeroConf Transport</h3><p>The ZeroConf transport provides <a shape="rect" href="discovery.html">Discovery</a> and it works like the <a shape="rect" href="discovery-transport-reference.html">Discovery Transport</a> but rather than using our own multicast based discovery mechanism (which allows you to configure the exact multicast address and port, etc.), the <a shape="rect" href="zeroconf.html">ZeroConf</a> transport is used instead.</p><p>For more information see the <a shape="rect" href="zeroconf-transport-reference.html">ZeroConf Transport Reference</a></p><h3 id="ConfiguringTransports-Serversideoptions">Server side options</h3><p>There are a number of options that can be used for changing behavior on the server for the&#160;<strong><code>TransportConnector</code></strong> in the ActiveMQ broker configuration. These are:</p><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</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: red;"> <code>allowLinkStealing</code><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This is enabled for default for MQTT transport.</p><p>Link Stealing is where the last of two or more connections with the same id (clientID for JMS) is deemed the valid connection and the older one is closed by the broker.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>discoveryURI</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If set, the multicast discovery address for client connections to find the broker.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>enableStatusMonitor</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Will monitor connections to determine if they are blocked.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>name</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The name of the&#160;<strong><code>TransportConnector</code></strong> instance.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rebalanceClusterClients</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Will automatically re-balance clients across the cluster on changes of topology.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>updateClusterClients</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will update client connections (if they use the&#160;<strong><code>failover://</code></strong> transport) of changes to the broker cluster.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>updateClusterClientsOnRemove</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Will update clients if a broker is removed from the cluster.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>updateClusterFilter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Comma separated list of regular expressions. Brokers with a name matching the pattern will be included for client updates.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>uri</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The bind address for the transport.</p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p><strong>Note</strong>: properties in <span style="color: rgb(255,0,0);">red</span> are version 5.10 (and higher) options only.</p></div></div><p>Example configuration:</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;broker&gt;
&#160;&#160; &lt;!-- ... --&gt;

&#160;&#160; &lt;transportConnectors&gt;
&#160;&#160;&#160;&#160; &lt;transportConnector name="openwire" uri="tcp://0.0.0.0:61616" enableStatusMonitor="true"/&gt; 
&#160;&#160; &lt;/&lt;transportConnectors&gt;

&#160;&#160; &lt;!-- ... --&gt;
&lt;/broker&gt;</pre>
</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=36080">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>
