blob: 18d83d96302c4085f84450ff24441934387e03e5 [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]-->
<title>
Apache ActiveMQ &#8482; -- TCP Transport Reference
</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>&nbsp;&gt;&nbsp;<a href="activemq-connection-uris.html">ActiveMQ Connection URIs</a>&nbsp;&gt;&nbsp;<a href="tcp-transport-reference.html">TCP Transport Reference</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"><h3 id="TCPTransportReference-TheTCPTransport">The TCP Transport</h3><p>The TCP transport allows clients to connect to a remote ActiveMQ broker using a TCP socket. These configuration options can be used to tune the underlying TCP transport on either the client-side using the JMS client's connection URI string or on a broker's transport connector URI.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Use Correct Prefix!</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The options below should be prefixed with <code><strong>transport.*</strong></code> when used on a broker's transport connector definition. On the client-side, however, the <strong><code>transport.*</code></strong> prefix <em>must</em> be omitted.</p></div></div><h4 id="TCPTransportReference-ConfigurationSyntax">Configuration Syntax</h4><p><code><strong>tcp://hostname:port?key=value</strong></code></p><h5 id="TCPTransportReference-Examples">Examples</h5><p>Broker side (in&#160;<strong><code>TransportConnector</code></strong>):</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>tcp://localhost:61616?transport.threadName&amp;transport.trace=false&amp;transport.soTimeout=60000
</pre>
</div></div><p>Client side (in&#160;<strong><code>brokerURL</code></strong>):</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>tcp://localhost:61616?threadName&amp;trace=false&amp;soTimeout=60000
</pre>
</div></div><h5 id="TCPTransportReference-TransportOptions">Transport Options</h5><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option 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><code>backlog</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>5000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the maximum number of connections waiting to be accepted by the transport server socket.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>closeAsync</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> the socket close call happens asynchronously. This parameter should be set to <strong><code>false</code></strong> for protocols like STOMP, that are commonly used in situations where a new connection is created for each read or write. Doing so ensures the socket close call happens synchronously. A synchronous close prevents the broker from running out of available sockets owing to the rapid cycling of connections.&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>connectionTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>&gt;=1</code></strong> the value sets the connection timeout in milliseconds. A value of <strong><code>0</code></strong> denotes no timeout. Negative values are ignored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>daemon</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 <strong><code>true</code></strong> the transport thread will run in daemon mode. Set this parameter to <strong><code>true</code></strong> when embedding the broker in a Spring container or a web container to allow the container to shut down correctly.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>diffServ</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(Client only) The preferred Differentiated Services traffic class to be set on outgoing packets, as described in RFC 2475. Valid integer values: <strong><code>[0,64]</code></strong>. Valid string values: <strong><code>EF</code>, <code>AF[1-3][1-4]</code></strong> or <strong><code>CS[0-7]</code></strong>.</p><p>With JDK 6, only works when the JVM uses the IPv4 stack. To use the IPv4 stack set the system property <strong><code><a shape="rect" class="external-link" href="http://java.net" rel="nofollow">java.net</a>.preferIPv4Stack=true</code></strong>.</p><p><strong>Note</strong>: it's invalid to specify both <strong><code>diffServ</code></strong> and <strong><code>typeOfService</code></strong> at the same time as they share the same position in the TCP/IP packet headers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>dynamicManagement</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 <strong><code>true</code></strong> the <strong><code>TransportLogger</code></strong> can be managed by JMX.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ioBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>8 * 1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the size of the buffer to be used between the TCP layer and the OpenWire layer where <strong><code>wireFormat</code></strong> based marshaling occurs.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>jmxPort</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1099</code></p></td><td colspan="1" rowspan="1" class="confluenceTd" style="text-align: left;"><p>(Client Only)</p><p>Specifies the port that will be used by the JMX server to manage the <strong><code>TransportLoggers</code></strong>. This should only be set, via URI, by either a client producer or consumer as the broker creates its own JMX server.</p><p>Specifying an alternate JMX port is useful for developers that test a broker and client on the same machine and need to control both via JMX.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keepAlive</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 <strong><code>true</code>, </strong>enables <a shape="rect" class="external-link" href="http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html" rel="nofollow">TCP KeepAlive</a> on the broker connection to prevent connections from timing out at the TCP level.</p><p>This should <em>not</em> be confused with <strong><code>KeepAliveInfo</code></strong> messages as used by the <strong><code>InactivityMonitor</code>.</strong></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>logWriterName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>default</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the name of the <strong><code>org.apache.activemq.transport.LogWriter</code></strong> implementation to use.</p><p>Names are mapped to classes in the <strong><code>resources/META-INF/services/org/apache/activemq/transport/logwriters</code></strong> directory.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maximumConnections</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Integer.MAX_VALUE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of sockets allowed for this broker.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>minmumWireFormatVersion</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The minimum remote <strong><code>wireFormat</code></strong> version that will be accepted (note the misspelling).</p><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>: when the remote <strong><code>wireFormat</code></strong> version is lower than the configured minimum acceptable version an exception will be thrown and the connection attempt will be refused.</p></div></div><p>A value of <code><strong>0</strong></code> denotes no checking of the remote <strong><code>wireFormat</code></strong> version.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>socketBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>64 * 1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the size, in bytes, for the accepted socket's read and write buffers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>soLinger</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Integer.MIN_VALUE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the socket's option <strong><code>soLinger</code></strong> when the value is <strong><code>&gt; -1</code></strong>.</p><p>When set to <strong><code>-1</code></strong> the <strong><code>soLinger</code></strong> socket option is disabled.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>soTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the socket's read timeout in milliseconds.</p><p>A value of <code><strong>0</strong></code> denotes no timeout.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>soWriteTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the socket's write timeout in milliseconds. If the socket write operation does not complete before the specified timeout, the socket will be closed.</p><p>A value of <strong>0</strong> denotes no timeout.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>stackSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Set the stack size of the transport's background reading thread. Must be specified in multiples of <strong><code>128K</code></strong>.</p><p>A value of <code><strong>0</strong></code> indicates that this parameter is ignored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>startLogging</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> the <strong><code>TransportLogger</code></strong> object of the Transport stack&#160;will initially write messages to the log.</p><p>This parameter is ignored unless <strong><code>trace=true</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>tcpNoDelay</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 <strong><code>true</code></strong> the socket's option&#160;<strong><code>TCP_NODELAY</code></strong> is set. This disables Nagle's algorithm for small packet transmission.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>threadName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>N/A</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When this parameter is specified the name of the thread is modified during the invocation of a transport. The remote address is appended so that a call stuck in a transport method will have the destination information in the thread name. This is extremely useful when using thread dumps for degugging.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trace</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Causes all commands that are sent over the transport to be logged.</p><p>To view the logged output define the <strong><code>Log4j</code></strong> logger: <strong><code>log4j.logger.org.apache.activemq.transport.TransportLogger=DEBUG</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trafficClass</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Traffic Class to be set on the socket.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>typeOfService</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(Client only) The preferred Type of Service value to be set on outgoing packets. Valid integer values: <strong><code>[0,256]</code></strong>.</p><p>With JDK 6, only works when the JVM is configured to use the IPv4 stack. To use the IPv4 stack set the system property <strong><code><a shape="rect" class="external-link" href="http://java.net" rel="nofollow">java.net</a>.preferIPv4Stack=true</code></strong>.</p><p><strong>Note</strong>: it's invalid to specify both <strong><code>diffServ</code></strong> and <strong><code>typeOfService</code></strong> at the same time as they share the same position in the TCP/IP packet headers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useInactivityMonitor</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <strong><code>false</code></strong> the <code><strong>InactivityMonitor</strong></code> is disabled and connections will never time out.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useKeepAlive</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <strong><code>true</code> <code> KeepAliveInfo</code></strong> messages are sent on an idle connection to prevent it from timing out.</p><p>If this parameter is <strong><code>false</code></strong> connections will still timeout if no data was received on the connection for the specified amount of time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useLocalHost</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <strong><code>true</code></strong> local connections will be made using the value <strong><code>localhost</code></strong> instead of the actual local host name.</p><p>On some operating systems, such as <strong><code>OS X</code></strong>, it's not possible to connect as the local host name so <strong><code>localhost</code></strong> is better.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useQueueForAccept</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <strong><code>true</code></strong> accepted sockets are placed onto a queue for asynchronous processing using a separate thread.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wireFormat</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>default</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The name of the <strong><code>wireFormat</code></strong> factory to use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wireFormat.*</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>N/A</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Properties with this prefix are used to configure the <strong><code>wireFormat</code></strong>.</p><p>See <a shape="rect" href="configuring-wire-formats.html">Configuring Wire Formats</a> for more information.</p></td></tr></tbody></table></div><p>&#160;</p><h5 id="TCPTransportReference-DifferentiatedServicesorTypesofService">Differentiated Services or Types of Service</h5><p>There is support for setting Differentiated Services - as outlined in <a shape="rect" class="external-link" href="http://tools.ietf.org/html/rfc2475" rel="nofollow">IETF RCF 2475</a>. In order to configure the broker so that all outgoing packets from the broker match the DSCP values set on incoming packets - you will need to apply IP Tables scripts - found <a shape="rect" href="tcp-transport-reference.data/brokerConfig.tar.gz?version=1&amp;modificationDate=1273219000000&amp;api=v2" data-linked-resource-id="20873268" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="brokerConfig.tar.gz" data-linked-resource-content-type="application/x-gzip" data-linked-resource-container-id="35993" data-linked-resource-container-version="57">here</a>.</p></div>
</td>
<td valign="top">
<div class="navigation">
<div class="navigation_top">
<div class="navigation_bottom">
<h3 id="Navigation-Overviewhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=35985"><a shape="rect" href="overview.html">Overview</a></h3><ul class="alternate"><li><a shape="rect" href="index.html">Index</a></li><li><a shape="rect" href="news.html">News</a></li><li><a shape="rect" href="new-features.html">New Features</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="faq.html">FAQ</a></li><li><a shape="rect" href="articles.html">Articles</a></li><li><a shape="rect" href="books.html">Books</a></li><li><a shape="rect" href="download.html">Download</a></li><li><a shape="rect" class="external-link" href="http://www.apache.org/licenses/">License</a></li></ul><h3 id="Navigation-Search">Search</h3><div>
<form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
<input type="hidden" name="ie" value="UTF-8">
<input type="hidden" name="oe" value="UTF-8">
<input maxlength="255" type="text" name="q" size="15" value="value"><br clear="none">
<input type="submit" name="btnG" value="Search">
<input type="hidden" name="domains" value="activemq.apache.org">
<input type="hidden" name="sitesearch" value="activemq.apache.org">
</form>
</div>
<h3 id="Navigation-SubProjects">Sub Projects</h3><ul class="alternate"><li><a shape="rect" class="external-link" href="http://activemq.apache.org/artemis/">Artemis</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/apollo" title="ActiveMQ Apollo">Apollo</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/cms/">CMS</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/nms/" title="NMS is the .Net Messaging API">NMS</a></li></ul><h3 id="Navigation-Communityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=36130"><a shape="rect" href="community.html">Community</a></h3><ul class="alternate"><li><a shape="rect" href="support.html">Support</a></li><li><a shape="rect" href="contributing.html">Contributing</a></li><li><a shape="rect" href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" href="irc.html">IRC</a></li><li><a shape="rect" class="external-link" href="http://javabot.evanchooly.com/logs/%23apache-activemq/today" rel="nofollow">IRC Log</a></li><li><a shape="rect" href="security-advisories.html">Security Advisories</a></li><li><a shape="rect" href="site.html">Site</a></li><li><a shape="rect" class="external-link" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li><li><a shape="rect" href="projects-using-activemq.html">Projects Using ActiveMQ</a></li><li><a shape="rect" href="users.html">Users</a></li><li><a shape="rect" href="team.html">Team</a></li><li><a shape="rect" href="thanks.html">Thanks</a></li></ul><h3 id="Navigation-Featureshttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=35883"><a shape="rect" href="features.html">Features</a></h3><ul class="alternate"><li><a shape="rect" href="advisory-message.html">Advisory Message</a></li><li><a shape="rect" href="clustering.html">Clustering</a></li><li><a shape="rect" href="cross-language-clients.html">Cross Language Clients</a></li><li><a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></li><li><a shape="rect" href="jmx.html">JMX</a></li><li><a shape="rect" href="jms-to-jms-bridge.html">JMS to JMS Bridge</a></li><li><a shape="rect" href="masterslave.html">MasterSlave</a></li><li><a shape="rect" href="message-groups.html">Message Groups</a></li><li><a shape="rect" href="networks-of-brokers.html">Networks of Brokers</a></li><li><a shape="rect" href="performance.html">Performance</a></li><li><a shape="rect" href="persistence.html">Persistence</a></li><li><a shape="rect" href="security.html">Security</a></li><li><a shape="rect" href="virtual-destinations.html">Virtual Destinations</a></li><li><a shape="rect" href="visualisation.html">Visualisation</a></li><li><a shape="rect" href="features.html">More ...</a></li></ul><h3 id="Navigation-Connectivityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=36167"><a shape="rect" href="connectivity.html">Connectivity</a></h3><ul class="alternate"><li><a shape="rect" href="ajax.html">Ajax</a></li><li><a shape="rect" href="amqp.html">AMQP</a></li><li><a shape="rect" href="axis-and-cxf-support.html">Axis and CXF Support</a></li><li><a shape="rect" href="c-integration.html">C Integration</a></li><li><a shape="rect" href="activemq-c-clients.html">C++</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/nms/">C# and .Net Integration</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/cms/">CMS</a></li><li><a shape="rect" href="j2ee.html">J2EE</a></li><li><a shape="rect" href="jboss-integration.html">JBoss Integration</a></li><li><a shape="rect" class="external-link" href="http://docs.codehaus.org/display/JETTY/Integrating+with+ActiveMQ" rel="nofollow">Jetty</a></li><li><a shape="rect" href="jndi-support.html">JNDI Support</a></li><li><a shape="rect" class="external-link" href="http://activemq.apache.org/nms/" title="NMS is the .Net Messaging API">NMS</a></li><li><a shape="rect" href="rest.html">REST</a></li><li><a shape="rect" href="rss-and-atom.html">RSS and Atom</a></li><li><a shape="rect" href="spring-support.html">Spring Support</a></li><li><a shape="rect" href="stomp.html">Stomp</a></li><li><a shape="rect" href="tomcat.html">Tomcat</a></li><li><a shape="rect" href="unix-service.html">Unix Service</a></li><li><a shape="rect" href="weblogic-integration.html">WebLogic Integration</a></li><li><a shape="rect" href="xmpp.html">XMPP</a></li><li><a shape="rect" href="connectivity.html">More ...</a></li></ul><h3 id="Navigation-UsingActiveMQ5https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=71176"><a shape="rect" href="using-activemq-5.html">Using ActiveMQ 5</a></h3><ul class="alternate"><li><a shape="rect" href="version-5-getting-started.html">Getting Started</a></li><li><a shape="rect" href="version-5-initial-configuration.html">Initial Configuration</a></li><li><a shape="rect" href="version-5-run-broker.html">Running a Broker</a></li><li><a shape="rect" href="how-do-i-embed-a-broker-inside-a-connection.html">Embedded Brokers</a></li><li><a shape="rect" href="activemq-command-line-tools-reference.html">Command Line Tools</a></li><li><a shape="rect" href="configuring-version-5-transports.html">Configuring Transports</a></li><li><a shape="rect" href="version-5-examples.html">Examples</a></li><li><a shape="rect" href="version-5-web-samples.html">Web Samples</a></li><li><a shape="rect" href="how-can-i-monitor-activemq.html">Monitoring the Broker</a></li><li><a shape="rect" href="version-5-xml-configuration.html">Xml Configuration</a></li><li><a shape="rect" href="xml-reference.html">Xml Reference</a></li><li><a shape="rect" href="using-activemq-5.html">More ...</a></li></ul><h3 id="Navigation-Toolshttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=35912"><a shape="rect" href="tools.html">Tools</a></h3><ul class="alternate"><li><a shape="rect" href="web-console.html">Web Console</a></li><li><a shape="rect" href="activemq-performance-module-users-manual.html">Maven2 Performance Plugin</a></li></ul><h3 id="Navigation-Supporthttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=35919"><a shape="rect" href="support.html">Support</a></h3><ul class="alternate"><li><a shape="rect" class="external-link" href="http://issues.apache.org/jira/browse/AMQ">Issues</a></li><li><a shape="rect" class="external-link" href="http://issues.apache.org/activemq/browse/AMQ?report=com.atlassian.jira.plugin.system.project:roadmap-panel">Roadmap</a></li><li><a shape="rect" class="external-link" href="http://issues.apache.org/activemq/browse/AMQ?report=com.atlassian.jira.plugin.system.project:changelog-panel">Change log</a></li></ul><h3 id="Navigation-Developershttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=35903"><a shape="rect" href="developers.html">Developers</a></h3><ul class="alternate"><li><a shape="rect" href="source.html">Source</a></li><li><a shape="rect" href="building.html">Building</a></li><li><a shape="rect" href="developer-guide.html">Developer Guide</a></li><li><a shape="rect" href="becoming-a-committer.html">Becoming a committer</a></li><li><a shape="rect" href="code-overview.html">Code Overview</a></li><li><a shape="rect" href="wire-protocol.html">Wire Protocol</a></li><li><a shape="rect" href="release-guide.html">Release Guide</a></li></ul><h3 id="Navigation-Tests">Tests</h3><ul class="alternate"><li><a shape="rect" href="activemq-performance-module-users-manual.html">Maven2 Performance Plugin</a></li><li><a shape="rect" href="benchmark-tests.html">Benchmark Tests</a></li><li><a shape="rect" href="jmeter-system-tests.html">JMeter System Tests</a></li><li><a shape="rect" href="jmeter-performance-tests.html">JMeter Performance Tests</a></li><li><a shape="rect" href="integration-tests.html">Integration Tests</a></li></ul><h3 id="Navigation-ProjectReports">Project Reports</h3><ul class="alternate"><li><a shape="rect" href="junit-reports.html">JUnit Reports</a></li><li><a shape="rect" href="source-xref.html">Source XRef</a></li><li><a shape="rect" href="test-source-xref.html">Test Source XRef</a></li><li><a shape="rect" href="xml-reference.html">Xml Reference</a></li></ul>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="bottom_red_bar"></div>
</div>
</div>
</div>
</div>
<div class="black_box">
<div class="footer">
<div class="footer_l">
<div class="footer_r">
<div>
<a href="http://activemq.apache.org/privacy-policy.html">Privacy Policy</a> -
(<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=35993">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>