blob: 581848185f2f1c7f427c90d1316815210a8eec0d [file] [log] [blame]
<div class="wiki-content maincontent"><h1>Initial Configuration</h1><h2>Document Organization</h2><ul><li><link ac:anchor="Required JARs"><plain-text-link-body>#Required JARs</plain-text-link-body></link></li><li><link ac:anchor="Optional JARS"><plain-text-link-body>#Optional JARS</plain-text-link-body></link></li><li><link ac:anchor="Persistence Support"><plain-text-link-body>#Persistence Support</plain-text-link-body></link></li><li><link ac:anchor="Next steps"><plain-text-link-body>#Next steps</plain-text-link-body></link></li><li><link ac:anchor="Additional Resources"><plain-text-link-body>#Additional Resources</plain-text-link-body></link><ul><li><link ac:anchor="Related Reading"><plain-text-link-body>#Related Reading</plain-text-link-body></link></li><li><link ac:anchor="Specifications"><plain-text-link-body>#Specifications</plain-text-link-body></link></li><li><link ac:anchor="Related open source projects"><plain-text-link-body>#Related open source projects</plain-text-link-body></link></li></ul></li></ul><p>Firstly you need to add the jars to your classpath.</p><h2>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>activeio-core.jar</li><li>activemq-kahadb-store.jar (if you wish to use persistence)</li><li>slf4j-api.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" href="https://dist.apache.org/repos/dist/release/geronimo/">repository</a></p><h2>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>Persistence Support</h2><p>We support persistence via <link><page ri:content-title="Persistence"></page><plain-text-link-body>Specialized KahaDB file system message store or JDBC</plain-text-link-body></link>. For full explict control over configuration check out the <link><page ri:content-title="Xml Configuration"></page></link>. If you wish to use KahaDB, include kahadb.jar in your classpath. In case of JDBC you'll need to include appropriate database driver.</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 <link><page ri:content-title="Xml Configuration"></page></link> for this.</p><p>In 5.x you can do this by setting the <code>persistent=false</code> property to false either in the <link><page ri:content-title="Xml Configuration"></page></link> or on the <link><page ri:content-title="Configuring Transports"></page><plain-text-link-body>broker URL</plain-text-link-body></link>.</p><h2>Next steps</h2><p>One of the first things you might want to do is <link><page ri:content-title="Run Broker"></page><plain-text-link-body>start a broker</plain-text-link-body></link>. Once you have a broker running you could try some <link><page ri:content-title="Examples"></page><plain-text-link-body>example programs</plain-text-link-body></link></p><p>If you want to write your own application, you can just instantiate an <a shape="rect" href="http://activemq.apache.org/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnectionFactory.html">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><p>You can also take a look at our <a shape="rect" href="https://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/">unit tests</a> for more examples on how to use ActiveMQ.</p><h2>Additional Resources</h2><h3>Related Reading</h3><ul><li>Sun's <a shape="rect" href="http://java.sun.com/products/jms/tutorial/">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" href="http://activemq.apache.org/">Website</a> for specifics on how to use ActiveMQ</li><li><link><page ri:content-title="Topologies"></page><plain-text-link-body>ActiveMQ Topologies</plain-text-link-body></link></li><li><link><page ri:content-title="Clustering"></page><plain-text-link-body>ActiveMQ Clustering</plain-text-link-body></link></li><li><link><page ri:content-title="Networks of Brokers"></page><plain-text-link-body>ActiveMQ Network of Brokers</plain-text-link-body></link></li><li><a shape="rect" href="http://www.eecs.harvard.edu/~mdw/proj/seda/">Staged Event Driven Architecture (SEDA)</a></li></ul><h3>Specifications</h3><ul><li><a shape="rect" href="http://java.sun.com/j2ee/connector/">Java Connector Architecture 1.5</a></li><li><a shape="rect" href="http://java.sun.com/products/jms/index.jsp">Java Messaging Service</a></li></ul><h3>Related open source projects</h3><ul><li><a shape="rect" href="http://camel.apache.org">Apache Camel</a></li><li><a shape="rect" href="http://geronimo.apache.org/">Apache Geronimo</a></li><li><a shape="rect" href="http://www.hermesjms.com/">Hermes JMS</a></li><li><a shape="rect" href="http://stomp.github.com/">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" href="http://xbean.org/">XBean</a> is used as the default XML configuration mechanism for ActiveMQ</li></ul></div>