blob: 21e0cf9f41f0546672c0056061ceb9d21b13c764 [file] [log] [blame]
<div class="wiki-content maincontent"><h2 id="Version5InitialConfiguration-DocumentOrganization">Document Organization</h2><p><style type="text/css">/*<![CDATA[*/
div.rbtoc1513261054496 {padding: 0px;}
div.rbtoc1513261054496 ul {list-style: disc;margin-left: 0px;}
div.rbtoc1513261054496 li {margin-left: 0px;padding-left: 0px;}
/*]]>*/</style></p><div class="toc-macro rbtoc1513261054496">
<ul class="toc-indentation"><li><a shape="rect" href="#Version5InitialConfiguration-RequiredJARs">Required JARs</a></li><li><a shape="rect" href="#Version5InitialConfiguration-OptionalJARS">Optional JARS</a></li><li><a shape="rect" href="#Version5InitialConfiguration-Persistencesupport">Persistence support</a></li><li><a shape="rect" href="#Version5InitialConfiguration-Nextsteps">Next steps</a></li><li><a shape="rect" href="#Version5InitialConfiguration-Additionalresources">Additional resources</a>
<ul class="toc-indentation"><li><a shape="rect" href="#Version5InitialConfiguration-Relatedreading">Related reading</a></li><li><a shape="rect" href="#Version5InitialConfiguration-Specifications">Specifications</a></li><li><a shape="rect" href="#Version5InitialConfiguration-Relatedopensourceprojects">Related open source projects</a></li></ul>
</li></ul>
</div><p>Firstly you need to add the jars to your classpath.</p><h2 id="Version5InitialConfiguration-RequiredJARs">Required JARs</h2><p>To make ActiveMQ easy to use, the default <strong>activemq-all.jar</strong> comes complete with all the libraries required. If you prefer to have explicit control over all the jars used by ActiveMQ here is the full list of individual jars required</p><ul><li>activemq-broker.jar</li><li>activemq-client.jar</li><li>activemq-kahadb-store.jar</li><li>activemq-spring.jar</li><li>hawtbuf-1.11.jar</li><li>slf4j-api.jar</li><li>slf4j-log4j12.jar</li><li>log4j-1.2.17.jar</li><li>J2EE APIs which could be the j2ee.jar from Sun or your J2EE container or you could use Geronimo's freely distributable geronimo-spec-j2ee.jar. If you are inside a servlet container and being dependent on the j2ee.jar causes you troubles, the parts of the J2EE jar we are dependent on are as follows...<ul><li>geronimo-spec-jms.jar</li><li>geronimo-spec-jta.jar</li><li>geronimo-spec-j2ee-management.jar</li></ul></li></ul><p>If you want to grab a J2EE specification jar we recommend the Apache <a shape="rect" class="external-link" href="http://cvs.apache.org/repository/geronimo-spec/jars/">repository</a></p><h2 id="Version5InitialConfiguration-OptionalJARS">Optional JARS</h2><ul><li>spring.jar - if you wish to use the XML configuration file for configuring the Message Broker</li></ul><ul><li>if you wish to use message persistence then you need to add a persistent jar to your classpath (see below). If you just want a lightweight message bus with no durability you can leave this step out but we highly recommend persistence for production deployments.</li></ul><h2 id="Version5InitialConfiguration-Persistencesupport">Persistence support</h2><p>The default persistence is the <a shape="rect" href="amq-message-store.html">AMQ Message Store</a>. We do still support persistence via <a shape="rect" href="persistence.html">JDBC and a high performance journal</a>. For full explict control over configuration check out the <a shape="rect" href="xml-configuration.html">Xml Configuration</a>.</p><p>If you're just doing some testing or in-VM SEDA based messaging you may wish to disable persistence. You can use the <a shape="rect" href="xml-configuration.html">Xml Configuration</a> for this.</p><p>You can do this by setting the usePersistence property to false either in the <a shape="rect" href="xml-configuration.html">Xml Configuration</a> or on the <a shape="rect" href="configuring-transports.html">broker URL</a>.</p><h2 id="Version5InitialConfiguration-Nextsteps">Next steps</h2><p>One of the first things you might want to do is <a shape="rect" href="run-broker.html">start a broker</a>. Once you have a broker running you could try using the <a shape="rect" href="jndi-support.html">JNDI Support</a> which shows how to run an example JMS program. Or there are some other <a shape="rect" href="examples.html">example programs</a></p><p>If you don't want to use JNDI you can just instantiate an <a shape="rect" class="external-link" href="http://activemq.codehaus.org/maven/apidocs/org/apache/activemq/ActiveMQConnectionFactory.html" rel="nofollow">ActiveMQConnectionFactory</a>, configure its properties directly and then you're ready to use the standard JMS API to create Connections, Sessions, MessageProducer and MessageConsumer instances.</p><h2 id="Version5InitialConfiguration-Additionalresources">Additional resources</h2><h3 id="Version5InitialConfiguration-Relatedreading">Related reading</h3><ul><li>Sun's <a shape="rect" class="external-link" href="http://java.sun.com/products/jms/tutorial/" rel="nofollow">JMS Tutorial</a> is a handy place to start looking at how to use the JMS API directly</li><li>The ActiveMQ <a shape="rect" class="external-link" href="http://activemq.org" rel="nofollow">Website</a> for specifics on how to use ActiveMQ</li><li><a shape="rect" href="topologies.html">ActiveMQ Topologies</a></li><li><a shape="rect" href="clustering.html">ActiveMQ Clustering</a></li><li><a shape="rect" href="networks-of-brokers.html">ActiveMQ Network of Brokers</a></li><li><a shape="rect" class="external-link" href="http://www.eecs.harvard.edu/~mdw/proj/seda/" rel="nofollow">Staged Event Driven Architecture (SEDA)</a></li></ul><h3 id="Version5InitialConfiguration-Specifications">Specifications</h3><ul><li><a shape="rect" class="external-link" href="http://java.sun.com/j2ee/connector/" rel="nofollow">Java Connector Architecture 1.5</a></li><li><a shape="rect" class="external-link" href="http://java.sun.com/products/jms/index.jsp" rel="nofollow">Java Messaging Service</a></li><li><a shape="rect" class="external-link" href="http://ws.apache.org/wsif/">WSIF</a></li><li><a shape="rect" class="external-link" href="http://www-128.ibm.com/developerworks/webservices/library/specification/ws-notification/" rel="nofollow">WS-Notification</a></li></ul><h3 id="Version5InitialConfiguration-Relatedopensourceprojects">Related open source projects</h3><ul><li><a shape="rect" class="external-link" href="http://geronimo.apache.org/">Apache Geronimo</a></li><li><a shape="rect" class="external-link" href="http://www.hermesjms.com/" rel="nofollow">Hermes JMS</a></li><li><a shape="rect" class="external-link" href="http://jencks.org/" rel="nofollow">Jencks</a> is a Spring JCA container allowing you to use connection &amp; thread &amp; POJO pooling for consuming JMS in highly concurrent servers</li><li><a shape="rect" class="external-link" href="http://lingo.codehaus.org/" rel="nofollow">Lingo</a> is a Spring/POJO remoting layer for JMS. It allows you to reuse all the power of JMS from your POJOs without using any of the JMS APIs directly</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://stomp.codehaus.org/" rel="nofollow">Stomp</a> is an open wire protocol (similar to HTTP) for communicating with MOMs from different languages. It has clients for languages like C, C#, Python, Perl, Ruby etc.</li><li><a shape="rect" class="external-link" href="http://xbean.org/" rel="nofollow">XBean</a> is used as the default XML configuration mechanism for ActiveMQ</li></ul></div>