<div class="wiki-content maincontent"><h1>Integrating Apache ActiveMQ with JBoss</h1>

<p>Integration with application servers is a common scenario in the enterprise Java world, especially when it comes to messaging. <a shape="rect" href="http://activemq.org/">ActiveMQ</a> is a JMS 1.1 compliant, open source, Apache Licensed, message oriented middleware (MOM) with <a shape="rect" href="http://activemq.org/site/changes-in-40.html">many</a>, <a shape="rect" href="http://activemq.org/site/new-features-in-41.html">many</a> features far beyond the JMS specification. ActiveMQ offers many different <a shape="rect" href="http://activemq.org/site/connectivity.html">points of connectivity</a>, many <a shape="rect" href="http://activemq.org/site/cross-language-clients.html">cross language clients</a> and many <a shape="rect" href="http://activemq.org/site/protocols.html">pluggable transport protocols</a> including integration with any J2EE 1.4 application server.</p>

<p>One of the application servers in the open source world is JBoss. A very common requirement is to configure ActiveMQ as the messaging infrastructure within JBoss. Although there is <a shape="rect" href="http://www.activemq.org/site/jboss-integration.html">a bit of documentation</a> on this integration, this article seeks to provide much more detail and explanation. So if you have a need to integrate ActiveMQ with JBoss, this article is for you.</p>

<p>This article explains how to configure JBoss to start up ActiveMQ as part of its lifecycle and how to configure the ActiveMQ resource adapter to handle the messaging and transactionality between ActiveMQ and JBoss.</p>

<h2>Requirements</h2>

<p>Below are the software requirements for this article with links to download each:</p>
<ul><li><a shape="rect" href="http://activemq.org/site/download.html">Apache ActiveMQ 4.0.1+</a></li><li><a shape="rect" href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;package_id=16942&amp;release_id=416591">JBoss 4.0.4+</a></li><li><a shape="rect" href="http://www.java.com/en/download/index.jsp">Sun Java 1.5+</a></li><li><a shape="rect" href="http://ant.apache.org/bindownload.cgi">Apache Ant 1.6+</a></li></ul>


<p>Though this article is using Unix, the installation and integration will work on any platform running Sun Java. It is recommended that each piece of software be downloaded before working through the steps is this article. Once each piece of software has been downloaded, proceed to the first step.</p>

<h2>Install the J2SE 1.5</h2>

<p>The first step in this process is to install Java 1.5 and verify that it runs correctly. Using the link above, find, download and install the correct version of Java for your platform. Once Java is installed and in the PATH, test it to see that it runs correctly using the following command:</p>
<structured-macro ac:macro-id="9bc24ef3-40ca-44c4-8184-3dc2558516dc" ac:name="code" ac:schema-version="1"><plain-text-body>
$ java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-112)
Java HotSpot(TM) Client VM (build 1.5.0_06-64, mixed mode, sharing)
</plain-text-body></structured-macro>
<p>Depending upon your platform and the exact build number of Java 1.5, your output may vary slightly. As long as it's Java 1.5 and the version information is output, you should be ready to proceed to the next step.</p>

<h2>Install Apache Ant</h2>

<p>The second step is to install Apache Ant. Simply download it using the link above, expand somewhere on your hard drive and place the <code>bin</code> directory in the PATH. This will allow you to test it quickly using the commands below:</p>
<structured-macro ac:macro-id="0b584001-7c6f-4418-a373-2baeaa6b5c3b" ac:name="code" ac:schema-version="1"><plain-text-body>
$ ant -version
Apache Ant version 1.6.2 compiled on July 16 2004
</plain-text-body></structured-macro>
<p>As long as you see the version output above, Ant should be usable. If you did not see the version output or received an error, consult the Ant documentation or mailing list archives to work out the issue. Please note that Ant is not used until the end of this whole exercise to test the integration.</p>

<h2>Install the JBoss Application Server</h2>

<p>The third step in this process is to install JBoss and make sure it runs correctly before installing and configuring ActiveMQ. Upon downloading JBoss-4.0.4, expand it in a place where it can create a directory. Next, run the server using the following commands:</p>
<structured-macro ac:macro-id="ecdb3355-5bad-42a4-a5ee-0ba25b1d0b45" ac:name="code" ac:schema-version="1"><plain-text-body>
$ cd jboss-4.0.4.GA
$ ./bin/run.sh -c default
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /opt/jboss-4.0.4.GA

  JAVA: java

  JAVA_OPTS: -server -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 
-Dsun.rmi.dgc.server.gcInterval=3600000 -Dprogram.name=run.sh

  CLASSPATH: /opt/jboss-4.0.4.GA/bin/run.jar:/lib/tools.jar

=========================================================================

15:34:47,999 INFO  [Server] Starting JBoss (MX MicroKernel)...
15:34:48,001 INFO  [Server] Release ID: JBoss [Zion] 4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)
15:34:48,004 INFO  [Server] Home Dir: /opt/jboss-4.0.4.GA
15:34:48,005 INFO  [Server] Home URL: file:/opt/jboss-4.0.4.GA/
15:34:48,007 INFO  [Server] Patch URL: null
15:34:48,007 INFO  [Server] Server Name: default
15:34:48,007 INFO  [Server] Server Home Dir: /opt/jboss-4.0.4.GA/server/default
15:34:48,011 INFO  [Server] Server Home URL: file:/opt/jboss-4.0.4.GA/server/default/
15:34:48,012 INFO  [Server] Server Log Dir: /opt/jboss-4.0.4.GA/server/default/log
15:34:48,017 INFO  [Server] Server Temp Dir: /opt/jboss-4.0.4.GA/server/default/tmp
15:34:48,022 INFO  [Server] Root Deployment Filename: jboss-service.xml
...
15:35:17,360 INFO  [Server] JBoss (MX MicroKernel) [4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)] 
Started in 22s:238ms
</plain-text-body></structured-macro>
<p>The first few lines of output from the JBoss startup indicates the configuration being used but the last line is the most important one. It tells you that JBoss has been started successfully on your system. For an extra measure of assurance, visit <a shape="rect" href="http://localhost:8080/web-console/">http://localhost:8080/web-console/</a> in a web browser to make sure you are able to see the JBoss web console. If you can see this console, everything should be ready to go.</p>

<p>As a side note, the left-hand side of the web-console requires that the <a shape="rect" href="http://java.sun.com/products/plugin/">Java plugin</a> be properly installed. This is supposed to take place when installing the J2SE, so if it did not work correctly for you, I suggest that you consult some documentation about any errors you may be seeing. The Java plugin is not required for JBoss or ActiveMQ to function properly, it is simply for the JBoss web-console.</p>

<p>Once JBoss is installed properly, shut it down using either the shutdown script or by simply typing ctrl-c to activate the shutdown hook. Once it is shut down, proceed to the next step.</p>

<h2>Prepare for Integrating Apache ActiveMQ with the JBoss Application Server</h2>

<p>The fourth step is to prepare your environment for integrating ActiveMQ with JBoss. If you haven't done so already, download Apache ActiveMQ using the link above. As of the writing of this article, the latest released version is 4.0.2-RC4. Upon downloading this archive, expand it in a place where it can create a directory, preferably in the same location where JBoss was expanded. Verify that the ActiveMQ RAR file is included using the following commands:</p>
<structured-macro ac:macro-id="3a69cbcd-8308-4e16-806b-e40caeb29677" ac:name="code" ac:schema-version="1"><plain-text-body>
$ cd ./incubator-activemq-4.0.2.tar.gz
$ jar tvf /opt/incubator-activemq-4.0.2/lib/optional/activemq-ra-4.0.2.rar
     0 Mon Sep 25 19:00:50 MDT 2006 META-INF/
   399 Mon Sep 25 19:00:48 MDT 2006 META-INF/MANIFEST.MF
   523 Mon Sep 25 13:07:40 MDT 2006 META-INF/DISCLAIMER.txt
 11359 Mon Sep 25 13:07:40 MDT 2006 META-INF/LICENSE.txt
 20305 Mon Sep 25 13:07:40 MDT 2006 META-INF/ra.xml
  2334 Mon Sep 25 13:07:40 MDT 2006 broker-config.xml
 70023 Mon Sep 25 19:00:48 MDT 2006 activemq-ra-4.0.2.jar
1351744 Mon Sep 25 19:00:14 MDT 2006 activemq-core-4.0.2.jar
232107 Mon Sep 25 18:22:48 MDT 2006 activeio-core-3.0-beta4.jar
2143211 Tue Aug 01 11:44:50 MDT 2006 derby-10.1.1.0.jar
1901653 Tue Aug 01 11:47:08 MDT 2006 spring-1.2.6.jar
 94713 Tue Aug 01 11:47:22 MDT 2006 xbean-spring-2.2.jar
 52915 Tue Aug 01 12:22:16 MDT 2006 commons-logging-1.1.jar
 16030 Tue Aug 01 12:22:32 MDT 2006 geronimo-j2ee-management_1.0_spec-1.0.jar
329586 Tue Aug 01 12:22:54 MDT 2006 backport-util-concurrent-2.1.jar
358085 Tue Aug 01 12:23:26 MDT 2006 log4j-1.2.12.jar
   523 Mon Sep 25 19:00:50 MDT 2006 META-INF/DISCLAIMER.txt
 11359 Mon Sep 25 19:00:50 MDT 2006 META-INF/LICENSE.txt
</plain-text-body></structured-macro>
<p>This is simply a table of contents of the RAR file. There should only be one reason that this will fail - an incomplete download of the ActiveMQ tarball or zip file. Beyond that, depending on the version you download, some of the library versions may be slightly different.</p>

<p>Now go back to the JBoss installation and create a directory for ActiveMQ in the JBoss deploy directory for the default JBoss context. Below are the commands to achieve this task:</p>
<structured-macro ac:macro-id="dfbdd1ea-39da-4687-ad6a-a42d8947ab30" ac:name="code" ac:schema-version="1"><plain-text-body>
$ mkdir /opt/jboss-4.0.4.GA/server/default/deploy/activemq-ra.rar
$ cd /opt/jboss-4.0.4.GA/server/default/deploy/activemq-ra.rar
$ pwd
/opt/jboss-4.0.4.GA/server/default/deploy/activemq-ra.rar
</plain-text-body></structured-macro>
<structured-macro ac:macro-id="8b393505-f091-411a-ae01-7fa559ed289b" ac:name="panel" ac:schema-version="1"><parameter ac:name="bgColor">#ccccff</parameter><rich-text-body>
<p><strong><em>NOTE:</em></strong> The creation of a directory is not required but is the easiest way to set up the ActiveMQ RAR when you're just getting started. This is due to the flexibility it affords during the development phase for the configuration to be changed very easily. The alternative is to JAR up the directory as a RAR file once the configuration is solid enough that it no longer needs to be changed. But leaving everything in a directory during development is the easiest path.</p></rich-text-body></structured-macro>
<p>Now expand the activemq-ra-4.0.2.rar into the current working directory:</p>
<structured-macro ac:macro-id="b59168c6-1886-46c9-8b3b-c33ae6953b52" ac:name="code" ac:schema-version="1"><plain-text-body>
jar xvf /opt/incubator-activemq-4.0.2/lib/optional/activemq-ra-4.0.2.rar
  created: META-INF/
 inflated: META-INF/MANIFEST.MF
 inflated: META-INF/DISCLAIMER.txt
 inflated: META-INF/LICENSE.txt
 inflated: META-INF/ra.xml
 inflated: broker-config.xml
 inflated: activemq-ra-4.0.2.jar
 inflated: activemq-core-4.0.2.jar
 inflated: activeio-core-3.0-beta4.jar
 inflated: derby-10.1.1.0.jar
 inflated: spring-1.2.6.jar
 inflated: xbean-spring-2.2.jar
 inflated: commons-logging-1.1.jar
 inflated: geronimo-j2ee-management_1.0_spec-1.0.jar
 inflated: backport-util-concurrent-2.1.jar
 inflated: log4j-1.2.12.jar
 inflated: META-INF/DISCLAIMER.txt
 inflated: META-INF/LICENSE.txt
</plain-text-body></structured-macro>
<p>Below is a quick listing of the contents of that directory:</p>
<structured-macro ac:macro-id="cd5b60d0-b463-4799-862a-2e6bef89f317" ac:name="code" ac:schema-version="1"><plain-text-body>
$ ls -l
total 12848
drwxr-xr-x   6 bsnyder  bsnyder      204 Oct 16 16:27 META-INF
-rw-r--r--   1 bsnyder  bsnyder   232107 Oct 16 16:27 activeio-core-3.0-beta4.jar
-rw-r--r--   1 bsnyder  bsnyder  1351744 Oct 16 16:27 activemq-core-4.0.2.jar
-rw-r--r--   1 bsnyder  bsnyder    70023 Oct 16 16:27 activemq-ra-4.0.2.jar
-rw-r--r--   1 bsnyder  bsnyder   329586 Oct 16 16:27 backport-util-concurrent-2.1.jar
-rw-r--r--   1 bsnyder  bsnyder     2334 Oct 16 16:27 broker-config.xml
-rw-r--r--   1 bsnyder  bsnyder    52915 Oct 16 16:27 commons-logging-1.1.jar
-rw-r--r--   1 bsnyder  bsnyder  2143211 Oct 16 16:27 derby-10.1.1.0.jar
-rw-r--r--   1 bsnyder  bsnyder    16030 Oct 16 16:27 geronimo-j2ee-management_1.0_spec-1.0.jar
-rw-r--r--   1 bsnyder  bsnyder   358085 Oct 16 16:27 log4j-1.2.12.jar
-rw-r--r--   1 bsnyder  bsnyder  1901653 Oct 16 16:27 spring-1.2.6.jar
-rw-r--r--   1 bsnyder  bsnyder    94713 Oct 16 16:27 xbean-spring-2.2.jar
</plain-text-body></structured-macro>
<p>Now it's time to configure ActiveMQ.</p>

<h2>Configuring Apache ActiveMQ</h2>

<p>The fifth step is to actually configure ActiveMQ for integration with JBoss. Remember that you should be sitting in the following directory:</p>
<structured-macro ac:macro-id="ec3c4d38-41bf-40f1-9deb-3767135411c9" ac:name="code" ac:schema-version="1"><plain-text-body>
/opt/jboss-4.0.4.GA/server/default/deploy/activemq-ra.rar
</plain-text-body></structured-macro>
<p>You may or may not have installed JBoss in <code>/opt</code>, that doesn't particularly matter. What does matter is that you're sitting in the directory that was created above to hold the contents of the expanded ActiveMQ RAR file.</p>
<structured-macro ac:macro-id="c0800a73-554e-4dc9-9f81-d0fe7bd1cdfc" ac:name="panel" ac:schema-version="1"><parameter ac:name="bgColor">#ccccff</parameter><rich-text-body>
<p><strong><em>NOTE:</em></strong> A RAR file is a Resource adapter ARchive (RAR). Resource adapters are a concept from the <a shape="rect" href="http://java.sun.com/j2ee/connector/">J2EE Connector Architecture (JCA)</a> and are used to interface with Enterprise Information Systems (EIS), i.e., systems external to the application server (e.g., relational databases, mainframes, MOMs, accounting systems, etc.). Resource adapters are often referred to as J2EE connectors and are very similar to the concept of a device driver for, say, a printer in that they contain information specific to connecting to a particular system. The difference with JCA is that that connection has been formalized in specification for Java. So the overall concepts of JCA is for connection to any EIS, but what does that mean? JCA 1.5 provides connectivity and more via the following contracts:</p>

<p>Version 1.0 Contracts</p>

<p>In version 1.0 of the Connector Architecture, three contracts are defined to address the functions mentioned above:</p>
<ul><li>Connection Management Contract: Lets applications connect to an EIS through the resource adapter. It also allows the application server to pool connection requests to the EIS.</li><li>Transaction Management Contract: Allows an application to manage and perform transactional access across one-to-many EIS resource managers.</li><li>Security Contract: Provides support for secure access to the EIS.</li></ul>


<p>New Contracts in Version 1.5</p>

<p>In version 1.5 of the J2EE Connector Architecture, there are more contracts that a resource adapter must support, as new functionality and features made their way into the specification. A resource adapter can support these four new contracts by implementing the required interfaces defined in the specification for each contract.</p>
<ul><li>Lifecycle Management Contract: Lets the application server manage the lifecycle &#8211; that is, the startup and shutdown functionality &#8211; of the resource adapter.</li><li>Work Management Contract: Allows the resource adapter to do work by submitting it to an application server for execution. Since the application server does the work for the resource adapter, the resource adapter needn't worry about thread management. Instead, the application server manages this aspect efficiently and can use thread pooling if necessary. Although the work management contract is not required (the resource adapter can choose to manage its own thread for work), it is definitely recommended.</li><li>Transaction Inflow Contract: Allows a resource adapter to propagate an imported transaction to an application server, as well as flow-in transaction completion and crash recovery initiated by an EIS.</li><li>Message Inflow Contract: Allows the resource adapter to synchronously or asynchronously deliver messages to endpoints in the application server, irrespective of message style, semantics, and infrastructure.</li></ul>


<p><sub>Quoted from</sub> <sub><a shape="rect" href="http://java.sun.com/developer/technicalArticles/J2EE/connectorarch1_5/"><sub>What's New in the J2EE Connector Architecture 1.5</sub></a></sub></p>

<p>For more information about JCA, please consult the <a shape="rect" href="http://java.sun.com/j2ee/connector/index.jsp">J2EE Connector Architecture documentation</a>.</p></rich-text-body></structured-macro>
<p>Open the <code>META-INF/ra.xml</code> file and look for the following section:</p>
<structured-macro ac:macro-id="60f6b9af-051c-4c7d-9266-2ceb2c9a4bbd" ac:name="code" ac:schema-version="1"><parameter ac:name="title">META-INF/ra.xml</parameter><plain-text-body>
&lt;config-property&gt;
    &lt;description&gt;
      The URL to the ActiveMQ server that you want this connection to connect to.  If using
      an embedded broker, this value should be 'vm://localhost'.
    &lt;/description&gt;
    &lt;config-property-name&gt;ServerUrl&lt;/config-property-name&gt;
    &lt;config-property-type&gt;java.lang.String&lt;/config-property-type&gt;
    &lt;config-property-value&gt;tcp://localhost:61616&lt;/config-property-value&gt;
&lt;!-- &lt;config-property-value&gt;vm://localhost&lt;/config-property-value&gt; --&gt;
  &lt;/config-property&gt;
</plain-text-body></structured-macro>
<p>The section above is used to tell the ActiveMQ RAR where ActiveMQ is located. By default, the in-VM protocol is commented out in favor of the tcp protocol. This will find ActiveMQ running on any interface on the localhost on port 61616. It's ok to just leave this alone if you don't mind the inefficiency of communicating within the JVM via TCP. However, it is recommended that <code>vm://</code> transport be used for an embedded broker, so comment out the <code>tcp://</code> transport and uncomment the <code>vm://</code> transport. Below is an example of this:</p>
<structured-macro ac:macro-id="fdda2ef7-5c59-424b-bb81-8fe635e3e14f" ac:name="code" ac:schema-version="1"><parameter ac:name="title">META-INF/ra.xml</parameter><plain-text-body>
&lt;config-property&gt;
    &lt;description&gt;
      The URL to the ActiveMQ server that you want this connection to connect to.  If using
      an embedded broker, this value should be 'vm://localhost'.
    &lt;/description&gt;
    &lt;config-property-name&gt;ServerUrl&lt;/config-property-name&gt;
    &lt;config-property-type&gt;java.lang.String&lt;/config-property-type&gt;
    &lt;!-- &lt;config-property-value&gt;tcp://localhost:61616&lt;/config-property-value&gt; --&gt;
    &lt;config-property-value&gt;vm://localhost&lt;/config-property-value&gt;
  &lt;/config-property&gt;
</plain-text-body></structured-macro>
<p>Because we're embedding ActiveMQ inside of JBoss, it is more efficient to use the <code>vm://</code> transport, rather than to perform messaging over the <code>tcp://</code> transport.</p>

<p>Now look further down the <code>META-INF/ra.xml</code> file and locate the following section:</p>
<structured-macro ac:macro-id="b727474f-93c3-4537-8228-296b250ffc14" ac:name="code" ac:schema-version="1"><parameter ac:name="title">META-INF/ra.xml</parameter><plain-text-body>
&lt;config-property&gt;
    &lt;description&gt;
      Sets the XML configuration file used to configure the embedded ActiveMQ broker via
      Spring if using embedded mode.

      BrokerXmlConfig is the filename which is assumed to be on the classpath unless
      a URL is specified. So a value of foo/bar.xml would be assumed to be on the
      classpath whereas file:dir/file.xml would use the file system.
      Any valid URL string is supported.
    &lt;/description&gt;
    &lt;config-property-name&gt;BrokerXmlConfig&lt;/config-property-name&gt;
    &lt;config-property-type&gt;java.lang.String&lt;/config-property-type&gt;
    &lt;config-property-value&gt;&lt;/config-property-value&gt;
    &lt;!--
    &lt;config-property-value&gt;xbean:broker-config.xml&lt;/config-property-value&gt;
    --&gt;
  &lt;/config-property&gt;
</plain-text-body></structured-macro>
<p>The section above needs to be changed to uncomment the second to last line and remove/replace the empty element that is above it. Below is an example of how this should be changed:</p>
<structured-macro ac:macro-id="cc4ec3ed-0668-4861-b33c-d5be8a95225c" ac:name="code" ac:schema-version="1"><parameter ac:name="title">META-INF/ra.xml</parameter><plain-text-body>
&lt;config-property&gt;
    &lt;description&gt;
      Sets the XML configuration file used to configure the embedded ActiveMQ broker via
      Spring if using embedded mode.

      BrokerXmlConfig is the filename which is assumed to be on the classpath unless
      a URL is specified. So a value of foo/bar.xml would be assumed to be on the
      classpath whereas file:dir/file.xml would use the file system.
      Any valid URL string is supported.
    &lt;/description&gt;
    &lt;config-property-name&gt;BrokerXmlConfig&lt;/config-property-name&gt;
    &lt;config-property-type&gt;java.lang.String&lt;/config-property-type&gt;
    &lt;config-property-value&gt;xbean:broker-config.xml&lt;/config-property-value&gt;
  &lt;/config-property&gt;
</plain-text-body></structured-macro>
<p>This change tells the ActiveMQ RAR to read a configuration file named <code>broker-config.xml</code> (the <code>xbean:</code> that proceeds the filename is simply a hint to class doing the reading of the configuration file) which is located on the CLASSPATH. In this case, the <code>broker-config.xml</code> file is located in the <code>activemq-ra.rar</code> directory. Save the changes to that file and then open the <code>broker-config.xml</code> file.</p>

<p>The <code>broker-config.xml</code> file <em>is</em> the ActiveMQ configuration file. This is the file used to configure ActiveMQ. The default contents of this file are usable, but should be customized to suit your environment. There are several items of note about this configuration. The most prominent sections to note in this file are the <code>&lt;persistenceAdapter&gt;</code> element and the <code>&lt;transportConnectors&gt;</code> and <code>&lt;networkConnectors&gt;</code> elements as seen below:</p>
<structured-macro ac:macro-id="af48af35-393f-417b-906d-f17f34eabda8" ac:name="code" ac:schema-version="1"><parameter ac:name="title">broker-config.xml</parameter><plain-text-body>
&lt;beans xmlns="http://activemq.org/config/1.0"&gt;

  &lt;broker useJmx="true"&gt;
  ...
    &lt;persistenceAdapter&gt;
      &lt;journaledJDBC journalLogFiles="5" dataDirectory="activemq-data"/&gt;
      &lt;!-- To use a different datasource, use th following syntax : --&gt;
      &lt;!--
      &lt;journaledJDBC journalLogFiles="5" dataDirectory="../data" dataSource="#postgres-ds"/&gt;
       --&gt;
    &lt;/persistenceAdapter&gt;

    &lt;transportConnectors&gt;
      &lt;!-- prefixing a connector with discovery: causes the connector to be advertiesed over rendezvous --&gt;
      &lt;transportConnector uri="tcp://localhost:61616" discoveryUri="multicast://default"/&gt;
    &lt;/transportConnectors&gt;

    &lt;networkConnectors&gt;
      &lt;!-- by default just auto discover the other brokers --&gt;
      &lt;networkConnector uri="multicast://default"/&gt;
      &lt;!--
      &lt;networkConnector uri="static://(tcp://host1:61616,tcp://host2:61616)"/&gt;
      --&gt;
    &lt;/networkConnectors&gt;

  &lt;/broker&gt;

&lt;/beans&gt;
</plain-text-body></structured-macro>
<p>The first change to this file is to add the brokerName attribute to the broker element and provide a name:</p>
<structured-macro ac:macro-id="03cf582d-73c3-45a2-bd0d-9b0ea96e191a" ac:name="code" ac:schema-version="1"><plain-text-body>
&lt;broker useJmx="true" brokerName="bruce.broker1"&gt;
</plain-text-body></structured-macro>
<p>In addition, this same name is used further down the configuration to provide a name for the <code>&lt;transportConnector&gt;</code> element:</p>
<structured-macro ac:macro-id="34a54822-38c1-464d-9596-05153a1be414" ac:name="code" ac:schema-version="1"><plain-text-body>
&lt;transportConnector name="bruce.broker1" uri="tcp://localhost:61616" discoveryUri="multicast://default"/&gt;
</plain-text-body></structured-macro>
<p>Now we'll tell ActiveMQ not to initialize JMX because we'll use the existing one that JBoss has:</p>
<structured-macro ac:macro-id="6722ef5d-9c32-4fba-89a9-405bf8678a2c" ac:name="code" ac:schema-version="1"><parameter ac:name="">xml</parameter><plain-text-body>
&lt;!-- put the following as the first child of the broker tag --&gt;
&lt;managementContext&gt;&lt;!-- we'll use an existing one (JBoss) instead of creating one --&gt;
  &lt;managementContext createConnector="false"/&gt;
&lt;/managementContext&gt;
</plain-text-body></structured-macro>
<p>The <code>&lt;persistenceAdapter&gt;</code> element should be reconfigured to store its data in an appropriate place.  On JBoss, that's most likely within the "data" directory of the server configuration you're using.  We're going to set this dynamically using an XBean and Spring feature that allows us to inject system properties values into the configuration. First this needs to be enabled:</p>
<structured-macro ac:macro-id="808a9522-c308-4270-9e82-4374dd0ecebb" ac:name="code" ac:schema-version="1"><parameter ac:name="">xml</parameter><plain-text-body>
&lt;!-- put the following as the first child of the beans element --&gt;
&lt;bean xmlns="" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/&gt;
</plain-text-body></structured-macro>
<p>Now, modify the <code>dataDirectory</code> attribute of the <code>journaledJDBC</code> element to be the following: <code>${jboss.server.data.dir}/activemq</code>.</p>

<p>The <code>&lt;transportConnectors&gt;</code> element is used to advertise the ActiveMQ broker for client-to-broker communications and the <code>&lt;networkConnectors&gt;</code> element advertises the ActiveMQ broker for broker-to-broker communications. The default configuration is to use the ActiveMQ <a shape="rect" href="http://www.activemq.org/site/multicast-transport-reference.html">multicast transport</a> for both. This is simply an easy configuration under which to get ActiveMQ up and running, so we'll just leave it at that for the time being.</p>
<structured-macro ac:macro-id="b2fd7dca-0195-45f9-beaa-a35e3502a0e4" ac:name="panel" ac:schema-version="1"><parameter ac:name="bgColor">#ccccff</parameter><rich-text-body>
<p><strong><em>NOTE:</em></strong> There are far more configuration options available for ActiveMQ than are noted here. The configuration above is only enough to just get ActiveMQ up and running, nothing more. For more information on the ActiveMQ configuration, see the <a shape="rect" href="http://www.activemq.org/site/xbean-xml-reference-41.html">ActiveMQ 4.1 XML Reference</a>.</p></rich-text-body></structured-macro>
<p>Now we just need to start up JBoss to assure that it comes up correctly without error using the same commands we used previously to start JBoss:</p>
<structured-macro ac:macro-id="99275948-d5a3-4e82-9827-5827c1f58ed4" ac:name="code" ac:schema-version="1"><plain-text-body>
$ cd jboss-4.0.4.GA
$ ./bin/run.sh -c default
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /opt/jboss-4.0.4.GA

  JAVA: java

  JAVA_OPTS: -server -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 
-Dsun.rmi.dgc.server.gcInterval=3600000 -Dprogram.name=run.sh

  CLASSPATH: /opt/jboss-4.0.4.GA/bin/run.jar:/lib/tools.jar

=========================================================================

15:34:47,999 INFO  [Server] Starting JBoss (MX MicroKernel)...
15:34:48,001 INFO  [Server] Release ID: JBoss [Zion] 4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)
15:34:48,004 INFO  [Server] Home Dir: /opt/jboss-4.0.4.GA
15:34:48,005 INFO  [Server] Home URL: file:/opt/jboss-4.0.4.GA/
15:34:48,007 INFO  [Server] Patch URL: null
15:34:48,007 INFO  [Server] Server Name: default
15:34:48,007 INFO  [Server] Server Home Dir: /opt/jboss-4.0.4.GA/server/default
15:34:48,011 INFO  [Server] Server Home URL: file:/opt/jboss-4.0.4.GA/server/default/
15:34:48,012 INFO  [Server] Server Log Dir: /opt/jboss-4.0.4.GA/server/default/log
15:34:48,017 INFO  [Server] Server Temp Dir: /opt/jboss-4.0.4.GA/server/default/tmp
15:34:48,022 INFO  [Server] Root Deployment Filename: jboss-service.xml
...
15:35:17,360 INFO  [Server] JBoss (MX MicroKernel) [4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)] 
Started in 28s:576ms
</plain-text-body></structured-macro>
<p>As long as JBoss comes up without error, you're ready to move on to the next step.</p>

<h2>Configuring JBoss</h2>

<p>The sixth step is to configure JBoss to initialize and start ActiveMQ whenever JBoss starts up. This is accomplished using an XML file that abides by the <a shape="rect" href="http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">JBoss JCA DTD</a> for data sources. Like most other Java application servers on the market, the JBoss architecture uses the J2EE Connector Architecture to manage connections of any kind including JDBC, JMS, etc. and the JBoss JCA DTD denotes the allowed contents for creating an XML data source instance to configure JBoss JCA. Below is an example XML data source instance for use with JBoss:</p>
<structured-macro ac:macro-id="71943892-d21f-4db7-bcaf-463eb91e23d2" ac:name="code" ac:schema-version="1"><parameter ac:name="title">activemq-jms-ds.xml</parameter><plain-text-body>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;

&lt;!DOCTYPE connection-factories
    PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
    "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd"&gt;

&lt;connection-factories&gt;

   &lt;tx-connection-factory&gt;
      &lt;jndi-name&gt;activemq/QueueConnectionFactory&lt;/jndi-name&gt;
      &lt;xa-transaction/&gt;
      &lt;track-connection-by-tx/&gt;
      &lt;rar-name&gt;activemq-ra.rar&lt;/rar-name&gt;
      &lt;connection-definition&gt;javax.jms.QueueConnectionFactory&lt;/connection-definition&gt;
      &lt;ServerUrl&gt;vm://localhost&lt;/ServerUrl&gt;
      &lt;!--
      &lt;UserName&gt;sa&lt;/UserName&gt;
      &lt;Password&gt;&lt;/Password&gt;
      --&gt;
      &lt;min-pool-size&gt;1&lt;/min-pool-size&gt;
      &lt;max-pool-size&gt;200&lt;/max-pool-size&gt;
      &lt;blocking-timeout-millis&gt;30000&lt;/blocking-timeout-millis&gt;
      &lt;idle-timeout-minutes&gt;3&lt;/idle-timeout-minutes&gt;
   &lt;/tx-connection-factory&gt;

   &lt;tx-connection-factory&gt;
      &lt;jndi-name&gt;activemq/TopicConnectionFactory&lt;/jndi-name&gt;
      &lt;xa-transaction/&gt;
      &lt;track-connection-by-tx/&gt;
      &lt;rar-name&gt;activemq-ra.rar&lt;/rar-name&gt;
      &lt;connection-definition&gt;javax.jms.TopicConnectionFactory&lt;/connection-definition&gt;
      &lt;ServerUrl&gt;vm://localhost&lt;/ServerUrl&gt;
      &lt;!--
      &lt;UserName&gt;sa&lt;/UserName&gt;
      &lt;Password&gt;&lt;/Password&gt;
      --&gt;
      &lt;min-pool-size&gt;1&lt;/min-pool-size&gt;
      &lt;max-pool-size&gt;200&lt;/max-pool-size&gt;
      &lt;blocking-timeout-millis&gt;30000&lt;/blocking-timeout-millis&gt;
      &lt;idle-timeout-minutes&gt;3&lt;/idle-timeout-minutes&gt;
   &lt;/tx-connection-factory&gt;

   &lt;mbean code="org.jboss.resource.deployment.AdminObject" name="activemq.queue:name=outboundQueue"&gt;
      &lt;attribute name="JNDIName"&gt;activemq/queue/outbound&lt;/attribute&gt;
      &lt;depends optional-attribute-name="RARName"&gt;jboss.jca:service=RARDeployment,name='activemq-ra.rar'&lt;/depends&gt;
      &lt;attribute name="Type"&gt;javax.jms.Queue&lt;/attribute&gt;
      &lt;attribute name="Properties"&gt;PhysicalName=queue.outbound&lt;/attribute&gt;
   &lt;/mbean&gt;

   &lt;mbean code="org.jboss.resource.deployment.AdminObject" name="activemq.topic:name=inboundTopic"&gt;
      &lt;attribute name="JNDIName"&gt;activemq/topic/inbound&lt;/attribute&gt;
      &lt;depends optional-attribute-name="RARName"&gt;jboss.jca:service=RARDeployment,name='activemq-ra.rar'&lt;/depends&gt;
      &lt;attribute name="Type"&gt;javax.jms.Topic&lt;/attribute&gt;
      &lt;attribute name="Properties"&gt;PhysicalName=topic.inbound&lt;/attribute&gt;
   &lt;/mbean&gt;

&lt;/connection-factories&gt;
</plain-text-body></structured-macro>
<p>This XML instance configures a JMS <code>QueueConnectionFactory</code> and a JMS <code>TopicConnectionFactory</code> and makes them available via JNDI. Also defined in this file are some {{AdminObject}}s which are used to specify a topic and a queue. This file should be dropped into the JBoss deploy directory. Its name (*-ds.xml) will cause it to be picked up by the JBoss deployer upon startup. Speaking of which, once this file is in place, a quick smoke test can be performed by simply starting up the JBoss server. Below is an example of the output that should be seen:</p>
<structured-macro ac:macro-id="4a3ffbcf-5e58-42dd-8c5f-1d77b501c805" ac:name="code" ac:schema-version="1"><plain-text-body>
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /opt/jboss

  JAVA: java

  JAVA_OPTS: -server -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 
-Dsun.rmi.dgc.server.gcInterval=3600000 -Dprogram.name=run.sh

  CLASSPATH: /opt/jboss/bin/run.jar:/lib/tools.jar

=========================================================================

22:55:48,686 INFO  [Server] Starting JBoss (MX MicroKernel)...
22:55:48,688 INFO  [Server] Release ID: JBoss [Zion] 4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)
22:55:48,690 INFO  [Server] Home Dir: /opt/jboss-4.0.4.GA
22:55:48,692 INFO  [Server] Home URL: file:/opt/jboss-4.0.4.GA/
22:55:48,695 INFO  [Server] Patch URL: null
22:55:48,697 INFO  [Server] Server Name: default
22:55:48,698 INFO  [Server] Server Home Dir: /opt/jboss-4.0.4.GA/server/default
22:55:48,701 INFO  [Server] Server Home URL: file:/opt/jboss-4.0.4.GA/server/default/
22:55:48,702 INFO  [Server] Server Log Dir: /opt/jboss-4.0.4.GA/server/default/log
22:55:48,704 INFO  [Server] Server Temp Dir: /opt/jboss-4.0.4.GA/server/default/tmp
22:55:48,706 INFO  [Server] Root Deployment Filename: jboss-service.xml
22:55:49,092 INFO  [ServerInfo] Java version: 1.5.0_06,Apple Computer, Inc.
22:55:49,101 INFO  [ServerInfo] Java VM: Java HotSpot(TM) Server VM 1.5.0_06-64,"Apple Computer, Inc."
22:55:49,102 INFO  [ServerInfo] OS-System: Mac OS X 10.4.8,i386
22:55:49,803 INFO  [Server] Core system initialized
22:55:53,379 INFO  [WebService] Using RMI server codebase: http://rattlesnake:8083/
22:55:53,400 INFO  [Log4jService$URLWatchTimerTask] Configuring from URL: resource:log4j.xml
22:55:54,034 INFO  [NamingService] JNDI bootstrap JNP=/0.0.0.0:1099, RMI=/0.0.0.0:1098, backlog=50, 
no client SocketFactory, Server SocketFactory=class
org.jboss.net.sockets.DefaultSocketFactory
22:55:58,475 INFO  [Embedded] Catalina naming disabled
22:55:58,566 INFO  [ClusterRuleSetFactory] Unable to find a cluster rule set in the classpath. 
Will load the default rule set.
22:55:58,569 INFO  [ClusterRuleSetFactory] Unable to find a cluster rule set in the classpath. 
Will load the default rule set.
22:55:59,110 INFO  [Http11BaseProtocol] Initializing Coyote HTTP/1.1 on http-0.0.0.0-8080
22:55:59,114 INFO  [Catalina] Initialization processed in 545 ms
22:55:59,116 INFO  [StandardService] Starting service jboss.web
22:55:59,121 INFO  [StandardEngine] Starting Servlet Engine: Apache Tomcat/5.5.17
22:55:59,179 INFO  [StandardHost] XML validation disabled
22:55:59,221 INFO  [Catalina] Server startup in 105 ms
22:55:59,600 INFO  [TomcatDeployer] deploy, ctxPath=/invoker, warUrl=.../deploy/http-invoker.sar/invoker.war/
22:55:59,874 INFO  [WebappLoader] Dual registration of jndi stream handler: factory already defined
22:56:00,899 INFO  [TomcatDeployer] deploy, ctxPath=/, warUrl=.../deploy/jbossweb-tomcat55.sar/ROOT.war/
22:56:01,700 INFO  [TomcatDeployer] deploy, ctxPath=/jbossws, warUrl=.../tmp/deploy/tmp60528jbossws-exp.war/
22:56:01,891 INFO  [SubscriptionManager] Bound event dispatcher to java:/EventDispatcher
22:56:02,203 INFO  [TomcatDeployer] deploy, ctxPath=/jbossmq-httpil, 
warUrl=.../deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/
22:56:04,546 INFO  [TomcatDeployer] deploy, ctxPath=/web-console, 
warUrl=.../deploy/management/console-mgr.sar/web-console.war/
22:56:05,690 INFO  [MailService] Mail Service bound to java:/Mail
22:56:07,215 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in 
.../deploy/activemq-ra.rar/
22:56:07,452 INFO  [XBeanXmlBeanDefinitionReader] Loading XML bean definitions from class 
path resource [broker-config.xml]
22:56:07,750 INFO  [ClassPathXmlApplicationContext] Bean factory for application context 
[org.apache.xbean.spring.context.ClassPathXmlApplicationContext;hashCode=13887543]:
org.springframework.beans.factory.support.DefaultListableBeanFactory defining
beans [org.apache.activemq.xbean.XBeanBrokerService]; root of BeanFactory hierarchy
22:56:07,765 INFO  [ClassPathXmlApplicationContext] 1 beans defined in application context
[org.apache.xbean.spring.context.ClassPathXmlApplicationContext;hashCode=13887543]
22:56:07,773 INFO  [CollectionFactory] JDK 1.4+ collections available
22:56:07,778 INFO  [ClassPathXmlApplicationContext] Unable to locate MessageSource with name 
'messageSource': using default
[org.springframework.context.support.DelegatingMessageSource@5fee96]
22:56:07,781 INFO  [ClassPathXmlApplicationContext] Unable to locate ApplicationEventMulticaster 
with name 'applicationEventMulticaster': using default
[org.springframework.context.event.SimpleApplicationEventMulticaster@78c714]
22:56:07,783 INFO  [DefaultListableBeanFactory] Pre-instantiating singletons in factory
 [org.springframework.beans.factory.support.DefaultListableBeanFactory
defining beans [org.apache.activemq.xbean.XBeanBrokerService]; root of BeanFactory hierarchy]
22:56:08,181 INFO  [BrokerService] ActiveMQ 4.0.2 JMS Message Broker (bruce.broker1) is starting
22:56:08,181 INFO  [BrokerService] For help or more information please see: 
http://incubator.apache.org/activemq/
22:56:09,989 INFO  [JDBCPersistenceAdapter] Database driver recognized: 
[apache_derby_embedded_jdbc_driver]
22:56:11,026 INFO  [JournalPersistenceAdapter] Journal Recovery Started from: Active Journal: 
using 5 x 20.0 Megs at: /opt/jboss-4.0.4.GA/activemq-data/journal
22:56:11,169 INFO  [JournalPersistenceAdapter] Journal Recovered: 0 message(s) in transactions recovered.
22:56:11,489 INFO  [TransportServerThreadSupport] Listening for connections at: tcp://rattlesnake:61616
22:56:11,491 WARN  [MulticastDiscoveryAgent] brokerName not set
22:56:11,519 INFO  [TransportConnector] Connector bruce.broker1 Started
22:56:11,522 INFO  [NetworkConnector] Network Connector bridge Started
22:56:11,522 INFO  [BrokerService] ActiveMQ JMS Message Broker 
(bruce.broker1, ID:rattlesnake-59052-1161060967859-1:0) started
22:56:11,556 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in 
.../deploy/jboss-ha-local-jdbc.rar
22:56:11,599 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in 
.../deploy/jboss-ha-xa-jdbc.rar
22:56:11,623 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in 
.../deploy/jboss-local-jdbc.rar
22:56:11,647 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in 
.../deploy/jboss-xa-jdbc.rar
22:56:11,737 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in 
.../deploy/jms/jms-ra.rar
22:56:11,847 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in 
.../deploy/mail-ra.rar
22:56:12,251 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 
'jboss.jca:service=ConnectionFactoryBinding,name=activemq/QueueConnectionFactory' to
JNDI name 'java:activemq/QueueConnectionFactory'
22:56:12,258 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 
'jboss.jca:service=ConnectionFactoryBinding,name=activemq/TopicConnectionFactory' to
JNDI name 'java:activemq/TopicConnectionFactory'
22:56:12,265 INFO  [AdminObject] Bound admin object 'org.apache.activemq.command.ActiveMQQueue' 
at 'activemq/queue/outbound'
22:56:12,330 INFO  [AdminObject] Bound admin object 'org.apache.activemq.command.ActiveMQTopic' 
at 'activemq/topic/inbound'
22:56:13,246 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 
'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
22:56:13,842 INFO  [A] Bound to JNDI name: queue/A
22:56:13,845 INFO  [B] Bound to JNDI name: queue/B
22:56:13,846 INFO  [C] Bound to JNDI name: queue/C
22:56:13,848 INFO  [D] Bound to JNDI name: queue/D
22:56:13,850 INFO  [ex] Bound to JNDI name: queue/ex
22:56:13,876 INFO  [testTopic] Bound to JNDI name: topic/testTopic
22:56:13,879 INFO  [securedTopic] Bound to JNDI name: topic/securedTopic
22:56:13,880 INFO  [testDurableTopic] Bound to JNDI name: topic/testDurableTopic
22:56:13,883 INFO  [testQueue] Bound to JNDI name: queue/testQueue
22:56:13,994 INFO  [UILServerILService] JBossMQ UIL service available at : /0.0.0.0:8093
22:56:14,055 INFO  [DLQ] Bound to JNDI name: queue/DLQ
22:56:14,375 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 
'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
22:56:14,525 INFO  [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
22:56:14,991 INFO  [Http11BaseProtocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080
22:56:15,071 INFO  [ChannelSocket] JK: ajp13 listening on /0.0.0.0:8009
22:56:15,082 INFO  [JkMain] Jk running ID=0 time=0/25  config=null
22:56:15,108 INFO  [Server] JBoss (MX MicroKernel) [4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)] 
Started in 26s:398ms
</plain-text-body></structured-macro>
<p>Note the startup messages from both ActiveMQ and from the <code>AdminObject}}s creating an {{ActiveMQQueue</code> and an <code>ActiveMQTopic</code>. These are good indications that the configuration is correct, but needs to be verified a bit further. This is covered in the next section.</p>

<h2>Testing the Integration</h2>

<p>The seventh and final step is to perform a slightly more comprehensive smoke test of the integration. This can be accomplished using Apache Ant via the examples that come with the ActiveMQ binary distribution. An Ant build.xml file is included which provides easy access to a simple consumer and a simple producer. The producer will be used to send messages that are received by the consumer. To proceed with this testing, just follow the steps below:</p>
<ol><li>In the first terminal, start up JBoss. The same startup script can be used here as was used above.</li><li>In the second terminal, use the commands below to run the ActiveMQ consumer:
<structured-macro ac:macro-id="83da24fc-8569-41f8-98e1-80cd0847b639" ac:name="code" ac:schema-version="1"><plain-text-body>
$ cd /opt/incubator-activemq-4.0.2/examples    #note in activemq v5 the directory is just "example" not "examples"
$ ant consumer
Buildfile: build.xml

init:
    [mkdir] Created dir: /opt/incubator-activemq-4.0.2/example/target/classes
    [mkdir] Created dir: /opt/incubator-activemq-4.0.2/example/src/ddl

compile:
    [javac] Compiling 6 source files to /opt/incubator-activemq-4.0.2/example/target/classes

consumer:
     [echo] Running consumer against server at $url = tcp://localhost:61616 for subject $subject = TEST.FOO
     [java] Connecting to URL: tcp://localhost:61616
     [java] Consuming queue: TEST.FOO
     [java] Using non-durable subscription
     [java] We are about to wait until we consume: 10 message(s) then we will shutdown
</plain-text-body></structured-macro></li><li>In the third terminal, use the commands below to run the ActiveMQ producer:
<structured-macro ac:macro-id="b1fdb2dd-302a-4340-9223-be539c22f866" ac:name="code" ac:schema-version="1"><plain-text-body>
$ cd /opt/incubator-activemq-4.0.2/examples
$ ant producer
Buildfile: build.xml

init:

compile:

producer:
     [echo] Running producer against server at $url = tcp://localhost:61616 for subject $subject = TEST.FOO
     [java] Connecting to URL: tcp://localhost:61616
     [java] Publishing a Message with size 1000 to queue: TEST.FOO
     [java] Using non-durable publishing
     [java] Sleeping between publish 0 ms
     [java] Sending message: Message: 0 sent at: Mon Oct 16 23:21:08 MDT 2006  ...
     [java] Sending message: Message: 1 sent at: Mon Oct 16 23:21:08 MDT 2006  ...
     [java] Sending message: Message: 2 sent at: Mon Oct 16 23:21:08 MDT 2006  ...
     [java] Sending message: Message: 3 sent at: Mon Oct 16 23:21:08 MDT 2006  ...
     [java] Sending message: Message: 4 sent at: Mon Oct 16 23:21:08 MDT 2006  ...
     [java] Sending message: Message: 5 sent at: Mon Oct 16 23:21:08 MDT 2006  ...
     [java] Sending message: Message: 6 sent at: Mon Oct 16 23:21:08 MDT 2006  ...
     [java] Sending message: Message: 7 sent at: Mon Oct 16 23:21:08 MDT 2006  ...
     [java] Sending message: Message: 8 sent at: Mon Oct 16 23:21:08 MDT 2006  ...
     [java] Sending message: Message: 9 sent at: Mon Oct 16 23:21:08 MDT 2006  ...
     [java] Done.
     [java] connection {
     [java]   session {
     [java]     messageCount{ count: 10 unit: count startTime: 1161062468001 lastSampleTime: 
1161062468340 description: Number of messages exchanged }
     [java]     messageRateTime{ count: 10 maxTime: 142 minTime: 1 totalTime: 315 averageTime: 31.5 
averageTimeExMinMax: 21.5 averagePerSecond: 31.746031746031747
averagePerSecondExMinMax: 46.51162790697674 unit: millis startTime: 1161062468002 lastSampleTime: 
1161062468340 description: Time taken to process a message (thoughtput rate) }
     [java]     pendingMessageCount{ count: 0 unit: count startTime: 1161062468001 lastSampleTime: 
1161062468001 description: Number of pending messages }
     [java]     expiredMessageCount{ count: 0 unit: count startTime: 1161062468001 lastSampleTime: 
1161062468001 description: Number of expired messages }
     [java]     messageWaitTime{ count: 0 maxTime: 0 minTime: 0 totalTime: 0 averageTime: 0.0 
averageTimeExMinMax: 0.0 averagePerSecond: 0.0
averagePerSecondExMinMax: 0.0 unit: millis startTime: 1161062468002 lastSampleTime: 1161062468002 
description: Time spent by a message before being delivered }
     [java]     durableSubscriptionCount{ count: 0 unit: count startTime: 1161062468002 lastSampleTime: 
1161062468002 description: The number of durable
subscriptions }

     [java]     producers {
     [java]       producer queue://TEST.FOO {
     [java]         messageCount{ count: 10 unit: count startTime: 1161062468025 lastSampleTime: 
1161062468340 description: Number of messages processed }
     [java]         messageRateTime{ count: 10 maxTime: 142 minTime: 1 totalTime: 315 averageTime: 
31.5 averageTimeExMinMax: 21.5 averagePerSecond:
31.746031746031747 averagePerSecondExMinMax: 46.51162790697674 unit: millis startTime: 1161062468025 
lastSampleTime: 1161062468340 description: Time taken to
process a message (thoughtput rate) }
     [java]         pendingMessageCount{ count: 0 unit: count startTime: 1161062468025 lastSampleTime: 
1161062468025 description: Number of pending messages }
     [java]         messageRateTime{ count: 10 maxTime: 142 minTime: 1 totalTime: 315 averageTime: 31.5 
averageTimeExMinMax: 21.5 averagePerSecond:
31.746031746031747 averagePerSecondExMinMax: 46.51162790697674 unit: millis startTime: 1161062468025 
lastSampleTime: 1161062468340 description: Time taken to
process a message (thoughtput rate) }
     [java]         expiredMessageCount{ count: 0 unit: count startTime: 1161062468025 lastSampleTime: 
1161062468025 description: Number of expired messages }
     [java]         messageWaitTime{ count: 0 maxTime: 0 minTime: 0 totalTime: 0 averageTime: 0.0 
averageTimeExMinMax: 0.0 averagePerSecond: 0.0
averagePerSecondExMinMax: 0.0 unit: millis startTime: 1161062468025 lastSampleTime: 1161062468025 
description: Time spent by a message before being delivered }
     [java]       }
     [java]     }
     [java]     consumers {
     [java]     }
     [java]   }
     [java] }
</plain-text-body></structured-macro></li></ol>


<p>Step 1 above just starts up JBoss. Step 2 above starts up a simple message consumer that comes with ActiveMQ. Step 3 above starts up a simple message producer that comes with ActiveMQ. Though the message consumer and message producer are simple utilities, the each one accepts many parameters making them extremely useful for testing ActiveMQ configurations.</p>

<p>To paraphrase, what just happened was that the message producer sent 10 messages to the TEST.FOO destination and the message consumer received 10 messages from the TEST.FOO destination. Despite being a simple test, it does utilize the ActiveMQ broker, albeit only on a single machine. The next logical step is to set up a full network of ActiveMQ brokers.</p>

<p>After setting up one broker within one instance of JBoss, setting up another is made much easier, but requires another machine or operating system instance. But that's a whole separate article and something to address another day.</p>

<h2>Conclusion</h2>

<p>What has been demonstrated here is the integration of ActiveMQ with the JBoss application server. This integration is quite common and performed by many enterprises. I hope that this was helpful to people interested in the integration of ActiveMQ with JBoss application server. If you have any questions or are interested in consulting services surrounding ActiveMQ, please <a shape="rect" href="http://www.logicblaze.com/contact.jsp">contact us</a> for more information.</p>

<h3>Resources</h3>

<p>Below are the configurations for use with both Spring 1.x and Spring 2.x:</p>
<structured-macro ac:macro-id="eda15643-f616-42ea-bd14-d9b2d1397323" ac:name="attachments" ac:schema-version="1"></structured-macro></div>

