blob: f1b6dcb790aea677fe8fdb8086638751ae5792d4 [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 type="text/javascript">
SyntaxHighlighter.defaults['toolbar'] = false;
SyntaxHighlighter.all();
</script>
<title>
Apache ActiveMQ &#8482; -- KahaDB Master Slave
</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 -->
<p>
</p><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> &#8482;
<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="clustering.html">Clustering</a>&nbsp;&gt;&nbsp;<a href="masterslave.html">MasterSlave</a>&nbsp;&gt;&nbsp;<a href="kahadb-master-slave.html">KahaDB Master Slave</a>
</div>
<div id="site-quicklinks">
<p><a shape="rect" href="download.html" title="Download">Download</a> | <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.8.0/apidocs/index.html">JavaDocs</a> <a shape="rect" href="javadocs.html" title="JavaDocs">More...</a> | <a shape="rect" href="source.html" title="Source">Source</a> | <a shape="rect" href="discussion-forums.html" title="Discussion Forums">Forums</a> | <a shape="rect" href="support.html" title="Support">Support</a></p>
</div>
</div>
<table border="0">
<tbody>
<tr>
<td valign="top" width="100%">
<div class="wiki-content maincontent">
<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Note</b><br clear="none">This is under review - and not currently supported.</td></tr></table></div>
<h2><a shape="rect" name="KahaDBMasterSlave-Overview"></a>Overview</h2>
<p>The new KahaDB store supports a very fast and flexible replication system. It features:</p>
<ul><li>Journal level replication (The translates into lower overhead to the master to replicate records).</li><li>Support for multiple slaves.</li><li>Support to dynamically add slaves at runtime.</li><li>Uses multiple concurrent data transfer sessions to do an initial slave synchronization.</li><li>Big slave synchronizations can be resumed so synchronization progress is not lost if a slave is restarted.</li><li>A configurable minimum number of replicas allows you to pause processing until the data has been guaranteed to be replicated enough times.</li></ul>
<h2><a shape="rect" name="KahaDBMasterSlave-MasterElection"></a>Master Election</h2>
<p>KahaDB supports a pluggable Master Election algorithm but the only current implementation is one based on <a shape="rect" class="external-link" href="http://hadoop.apache.org/zookeeper">ZooKeeper</a>. </p>
<p>ZooKeeper is used to implement the master election algorithm. ZooKeeper is a very fast, replicated, in memory database with features that make it easy to implement cluster control algorithms. It is an Apache project which you can <a shape="rect" class="external-link" href="http://hadoop.apache.org/zookeeper/releases.html">freely download</a>. You must installed and have at least one ZooKeeper server running before setting up a KahaDB Master Slave configuration.</p>
<h2><a shape="rect" name="KahaDBMasterSlave-ConfiguringaBroker%3A"></a>Configuring a Broker:</h2>
<p>The ActiveMQ binary distribution includes a KahaDB HA broker configuration at <b>$ACTIVEMQ_HOME/conf/ha.xml</b>. </p>
<p>It it setup to look for a ZooKeeper 3.0.0 server on localhost at port 2181. Edit the configuration if this is not where you are running your ZooKeeper server.</p>
<p>Start the configuation up by running:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
prompt&gt; $ACTIVEMQ_HOME/bin/activemq xbean:ha.xml
]]></script>
</div></div>
<p>The actual contents of the configuration file follows:</p>
<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
<h2><a shape="rect" name="KahaDBMasterSlave-UnderstandingthekahadbReplicationXMLelement"></a>Understanding the kahadbReplication XML element</h2>
<h3><a shape="rect" name="KahaDBMasterSlave-ThebrokerURIAttribute"></a>The brokerURI Attribute</h3>
<p>Notice that the the brokerURI attribute points at another broker configuration file. The ha-broker.xml contains the actual broker configuration that the broker uses when the node take over as master. The ha-broker.xml configuration file is a standard broker configuration except in these aspects:</p>
<ul><li>It MUST set the start="false" attribute on the broker element.</li><li>It MUST not configure a persistenceAdapter.</li></ul>
<p>The above rules allows the replication system to inject the replicated KahaDB store into the Master when it's starting up.</p>
<h3><a shape="rect" name="KahaDBMasterSlave-TheminimumReplicasAttribute"></a>The minimumReplicas Attribute</h3>
<p>The minimumReplicas specifies how many copies of the database are required before synchronous update operations are deemed successful. Setting this to 0 allows a broker to continue operating even if there are no slaves attached. If the value is set to 1 or greater, and there are no slaves attached, the brokers persistent message processing will be suspended until the minimum number of slaves are attached and the data synchronized.</p>
<h3><a shape="rect" name="KahaDBMasterSlave-TheuriAttribute"></a>The uri Attribute</h3>
<p>The uri attribute should always be configured with a <b>kdbr://</b> based URI. KDBR stands for 'KahaDB Replication' and this is the replication protocol used between the masters and the slaves. The master binds the specified port with slaves subsequently connect to and establish replication sessions. The host name in the uri MUST get updated to the actual machine's host name since this is also used to identify the nodes in the cluster. </p>
<h3><a shape="rect" name="KahaDBMasterSlave-ThedirectoryAttribute"></a>The directory Attribute</h3>
<p>This is the data directory where the KahaDB will store it's persistence files.</p>
</div>
</td>
<td valign="top">
<div class="navigation">
<div class="navigation_top">
<div class="navigation_bottom">
<h3><a shape="rect" name="Navigation-Overview"></a><a shape="rect" href="overview.html" title="Overview">Overview</a></h3>
<ul class="alternate" type="square"><li><a shape="rect" href="index.html" title="Index">Index</a></li><li><a shape="rect" href="news.html" title="News">News</a></li><li><a shape="rect" href="new-features.html" title="New Features">New Features</a></li><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li><li><a shape="rect" href="faq.html" title="FAQ">FAQ</a></li><li><a shape="rect" href="articles.html" title="Articles">Articles</a></li><li><a shape="rect" href="books.html" title="Books">Books</a></li><li><a shape="rect" href="download.html" title="Download">Download</a></li><li><a shape="rect" class="external-link" href="http://www.apache.org/licenses/">License</a></li></ul>
<h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
<p>
</p><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><a shape="rect" name="Navigation-SubProjects"></a>Sub Projects</h3>
<ul class="alternate" type="square"><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/" title="The C++ API for Messaging">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><li><a shape="rect" class="external-link" href="http://camel.apache.org/" title="POJO based Enterprise Integration Patterns with a typesafe Java DSL">Camel</a></li></ul>
<h3><a shape="rect" name="Navigation-Community"></a><a shape="rect" href="community.html" title="Community">Community</a></h3>
<ul class="alternate" type="square"><li><a shape="rect" href="support.html" title="Support">Support</a></li><li><a shape="rect" href="contributing.html" title="Contributing">Contributing</a></li><li><a shape="rect" href="discussion-forums.html" title="Discussion Forums">Discussion Forums</a></li><li><a shape="rect" href="mailing-lists.html" title="Mailing Lists">Mailing Lists</a></li><li><a shape="rect" class="external-link" href="irc://irc.codehaus.org/activemq" rel="nofollow">IRC</a></li><li><a shape="rect" class="external-link" href="http://servlet.uwyn.com/drone/log/hausbot/activemq" rel="nofollow">IRC Log</a></li><li><a shape="rect" href="site.html" title="Site">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" title="Projects Using ActiveMQ">Projects Using ActiveMQ</a></li><li><a shape="rect" href="users.html" title="Users">Users</a></li><li><a shape="rect" href="team.html" title="Team">Team</a></li><li><a shape="rect" class="external-link" href="http://www.apache.org/foundation/thanks.html">Thanks</a></li></ul>
<h3><a shape="rect" name="Navigation-Features"></a><a shape="rect" href="features.html" title="Features">Features</a></h3>
<ul class="alternate" type="square"><li><a shape="rect" href="advisory-message.html" title="Advisory Message">Advisory Message</a></li><li><a shape="rect" href="clustering.html" title="Clustering">Clustering</a></li><li><a shape="rect" href="cross-language-clients.html" title="Cross Language Clients">Cross Language Clients</a></li><li><a shape="rect" href="enterprise-integration-patterns.html" title="Enterprise Integration Patterns">Enterprise Integration Patterns</a></li><li><a shape="rect" href="jmx.html" title="JMX">JMX</a></li><li><a shape="rect" href="jms-to-jms-bridge.html" title="JMS to JMS Bridge">JMS to JMS Bridge</a></li><li><a shape="rect" href="masterslave.html" title="MasterSlave">MasterSlave</a></li><li><a shape="rect" href="message-groups.html" title="Message Groups">Message Groups</a></li><li><a shape="rect" href="networks-of-brokers.html" title="Networks of Brokers">Networks of Brokers</a></li><li><a shape="rect" href="performance.html" title="Performance">Performance</a></li><li><a shape="rect" href="persistence.html" title="Persistence">Persistence</a></li><li><a shape="rect" href="security.html" title="Security">Security</a></li><li><a shape="rect" href="virtual-destinations.html" title="Virtual Destinations">Virtual Destinations</a></li><li><a shape="rect" href="visualisation.html" title="Visualisation">Visualisation</a></li><li><a shape="rect" href="features.html" title="Features">More ...</a></li></ul>
<h3><a shape="rect" name="Navigation-Connectivity"></a><a shape="rect" href="connectivity.html" title="Connectivity">Connectivity</a></h3>
<ul class="alternate" type="square"><li><a shape="rect" href="ajax.html" title="Ajax">Ajax</a></li><li><a shape="rect" href="amqp.html" title="AMQP">AMQP</a></li><li><a shape="rect" href="axis-and-cxf-support.html" title="Axis and CXF Support">Axis and CXF Support</a></li><li><a shape="rect" href="c-integration.html" title="C Integration">C Integration</a></li><li><a shape="rect" href="activemq-c-clients.html" title="ActiveMQ C++ Clients">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" title="J2EE">J2EE</a></li><li><a shape="rect" href="jboss-integration.html" title="JBoss Integration">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" title="JNDI Support">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" title="REST">REST</a></li><li><a shape="rect" href="rss-and-atom.html" title="RSS and Atom">RSS and Atom</a></li><li><a shape="rect" href="spring-support.html" title="Spring Support">Spring Support</a></li><li><a shape="rect" href="stomp.html" title="Stomp">Stomp</a></li><li><a shape="rect" href="tomcat.html" title="Tomcat">Tomcat</a></li><li><a shape="rect" href="unix-service.html" title="Unix Service">Unix Service</a></li><li><a shape="rect" href="weblogic-integration.html" title="WebLogic Integration">WebLogic Integration</a></li><li><a shape="rect" href="xmpp.html" title="XMPP">XMPP</a></li><li><a shape="rect" href="connectivity.html" title="Connectivity">More ...</a></li></ul>
<h3><a shape="rect" name="Navigation-UsingActiveMQ5UsingActiveMQ5"></a><a shape="rect" href="using-activemq-5.html" title="Using ActiveMQ 5">Using ActiveMQ 5</a></h3>
<ul class="alternate" type="square"><li><a shape="rect" href="version-5-getting-started.html" title="Version 5 Getting Started">Getting Started</a></li><li><a shape="rect" href="version-5-initial-configuration.html" title="Version 5 Initial Configuration">Initial Configuration</a></li><li><a shape="rect" href="version-5-run-broker.html" title="Version 5 Run Broker">Running a Broker</a></li><li><a shape="rect" href="how-do-i-embed-a-broker-inside-a-connection.html" title="How do I embed a Broker inside a Connection">Embedded Brokers</a></li><li><a shape="rect" href="activemq-command-line-tools-reference.html" title="ActiveMQ Command Line Tools Reference">Command Line Tools</a></li><li><a shape="rect" href="configuring-version-5-transports.html" title="Configuring Version 5 Transports">Configuring Transports</a></li><li><a shape="rect" href="version-5-examples.html" title="Version 5 Examples">Examples</a></li><li><a shape="rect" href="version-5-web-samples.html" title="Version 5 Web Samples">Web Samples</a></li><li><a shape="rect" href="how-can-i-monitor-activemq.html" title="How can I monitor ActiveMQ">Monitoring the Broker</a></li><li><a shape="rect" href="version-5-xml-configuration.html" title="Version 5 XML Configuration">Xml Configuration</a></li><li><a shape="rect" href="xml-reference.html" title="Xml Reference">Xml Reference</a></li><li><a shape="rect" href="using-activemq-5.html" title="Using ActiveMQ 5">More ...</a></li></ul>
<h3><a shape="rect" name="Navigation-UsingActiveMQ4UsingActiveMQ"></a><a shape="rect" href="using-activemq.html" title="Using ActiveMQ">Using ActiveMQ 4</a></h3>
<ul class="alternate" type="square"><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li><li><a shape="rect" href="initial-configuration.html" title="Initial Configuration">Initial Configuration</a></li><li><a shape="rect" href="run-broker.html" title="Run Broker">Running a Broker</a></li><li><a shape="rect" href="how-do-i-embed-a-broker-inside-a-connection.html" title="How do I embed a Broker inside a Connection">Embedded Brokers</a></li><li><a shape="rect" href="activemq-command-line-tools-reference.html" title="ActiveMQ Command Line Tools Reference">Command Line Tools</a></li><li><a shape="rect" href="configuring-transports.html" title="Configuring Transports">Configuring Transports</a></li><li><a shape="rect" href="examples.html" title="Examples">Examples</a></li><li><a shape="rect" href="web-samples.html" title="Web Samples">Web Samples</a></li><li><a shape="rect" href="how-can-i-monitor-activemq.html" title="How can I monitor ActiveMQ">Monitoring the Broker</a></li><li><a shape="rect" href="xml-configuration.html" title="Xml Configuration">Xml Configuration</a></li><li><a shape="rect" href="xml-reference.html" title="Xml Reference">Xml Reference</a></li><li><a shape="rect" href="using-activemq.html" title="Using ActiveMQ">More ...</a></li></ul>
<h3><a shape="rect" name="Navigation-Tools"></a><a shape="rect" href="tools.html" title="Tools">Tools</a></h3>
<ul class="alternate" type="square"><li><a shape="rect" href="web-console.html" title="Web Console">Web Console</a></li><li><a shape="rect" href="activemq-performance-module-users-manual.html" title="ActiveMQ Performance Module Users Manual">Maven2 Performance Plugin</a></li></ul>
<h3><a shape="rect" name="Navigation-ExternalToolsTools"></a><a shape="rect" href="tools.html" title="Tools">External Tools</a></h3>
<ul class="alternate" type="square"><li><a shape="rect" class="external-link" href="http://hawt.io" title="HTML5 console for monitoring Apache ActiveMQ and Apache Camel" rel="nofollow">hawtio</a></li><li><a shape="rect" href="hermes-jms.html" title="Hermes Jms">Hermes Jms</a></li><li><a shape="rect" class="external-link" href="http://jakarta.apache.org/jmeter">JMeter</a></li></ul>
<h3><a shape="rect" name="Navigation-Support"></a><a shape="rect" href="support.html" title="Support">Support</a></h3>
<ul class="alternate" type="square"><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><a shape="rect" name="Navigation-RelatedProjects"></a>Related Projects</h3>
<ul class="alternate" type="square"><li><a shape="rect" class="external-link" href="http://incubator.apache.org/servicemix/" title="Distributed Enterprise Service Bus based on JBI">Apache ServiceMix</a></li><li><a shape="rect" class="external-link" href="http://lingo.codehaus.org/" title="POJO Remoting using JMS" rel="nofollow">Lingo</a></li><li><a shape="rect" class="external-link" href="http://jencks.codehaus.org/" title="Message Driven POJOs and pooling for JMS and JDBC" rel="nofollow">Jencks</a></li><li><a shape="rect" class="external-link" href="http://stomp.codehaus.org/" title="A simple protocol for messaging middleware interop and the easy development of custom clients" rel="nofollow">Stomp</a></li><li><a shape="rect" class="external-link" href="http://www.springframework.org/" rel="nofollow">Spring</a></li><li><a shape="rect" class="external-link" href="http://openejb.apache.org">OpenEJB</a></li><li><a shape="rect" class="external-link" href="http://geronimo.apache.org/">Geronimo</a></li></ul>
<h3><a shape="rect" name="Navigation-Developers"></a><a shape="rect" href="developers.html" title="Developers">Developers</a></h3>
<ul class="alternate" type="square"><li><a shape="rect" href="source.html" title="Source">Source</a></li><li><a shape="rect" href="building.html" title="Building">Building</a></li><li><a shape="rect" href="developer-guide.html" title="Developer Guide">Developer Guide</a></li><li><a shape="rect" href="becoming-a-committer.html" title="Becoming a committer">Becoming a committer</a></li><li><a shape="rect" href="code-overview.html" title="Code Overview">Code Overview</a></li><li><a shape="rect" href="wire-protocol.html" title="Wire Protocol">Wire Protocol</a></li><li><a shape="rect" href="release-guide.html" title="Release Guide">Release Guide</a></li></ul>
<h3><a shape="rect" name="Navigation-Tests"></a>Tests</h3>
<ul class="alternate" type="square"><li><a shape="rect" href="activemq-performance-module-users-manual.html" title="ActiveMQ Performance Module Users Manual">Maven2 Performance Plugin</a></li><li><a shape="rect" href="benchmark-tests.html" title="Benchmark Tests">Benchmark Tests</a></li><li><a shape="rect" href="jmeter-system-tests.html" title="JMeter System Tests">JMeter System Tests</a></li><li><a shape="rect" href="jmeter-performance-tests.html" title="JMeter Performance Tests">JMeter Performance Tests</a></li><li><a shape="rect" href="integration-tests.html" title="Integration Tests">Integration Tests</a></li></ul>
<h3><a shape="rect" name="Navigation-ProjectReports"></a>Project Reports</h3>
<ul class="alternate" type="square"><li><a shape="rect" href="junit-reports.html" title="JUnit Reports">JUnit Reports</a></li><li><a shape="rect" href="source-xref.html" title="Source XRef">Source XRef</a></li><li><a shape="rect" href="test-source-xref.html" title="Test Source XRef">Test Source XRef</a></li><li><a shape="rect" href="xml-reference.html" title="Xml Reference">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=103076">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>