Available as of Camel 2.11
This example shows how you can embed Apache ActiveMQ Broker and Camel in a web application, which can run on Apache Tomcat or other web containers.
This example embeds ActiveMQ Broker and a Camel application which will continuously send a message per second to an inbox queue.
Then another Camel route will route messages from the inbox to the outbox queue.
You will need to build this example first:
mvn install |
Which will create a .war file in the target directly. You can then deploy this .war file in any web container such as Apache Tomcat, by copying the .war file to its /webapp directory.
For example to start Apache Tomcat
bin/catalina.sh run |
And then build the example and deploy to Apache Tomcat
mvn install cp target/camel-example-activemq-tomcat.war /opt/apache-tomcat-7.0.26/webapps/ |
This example is a web application which mean we have a web.xml file in the src/main/webapp/WEB-INF directory. The code is as follows:
{snippet:id=e1|lang=xml|url=camel/trunk/examples/camel-example-activemq-tomcat/src/main/webapp/WEB-INF/web.xml} |
We have two Spring XML files that embed
The broker.xml file is located in the src/main/resources directory and contains:
{snippet:id=e1|lang=xml|url=camel/trunk/examples/camel-example-activemq-tomcat/src/main/resources/broker.xml} |
The camel-config.xml file is located in the src/main/resources directory and contains:
{snippet:id=e1|lang=xml|url=camel/trunk/examples/camel-example-activemq-tomcat/src/main/resources/camel-config.xml} |
You can use JConsole to get details about the running ActiveMQ and Camel. This is done by starting up jconsole, and then under local processes,
select the process which has catalina in the name (catalina is Apache Tomcat).