Switch branches/tags
wildfly-camel-examples-5.2.0.fuse-720017 wildfly-camel-examples-5.2.0.fuse-720016 wildfly-camel-examples-5.2.0.fuse-720015 wildfly-camel-examples-5.2.0.fuse-720014 wildfly-camel-examples-5.2.0.fuse-720013 wildfly-camel-examples-5.2.0.fuse-720012 wildfly-camel-examples-5.2.0.fuse-720011 wildfly-camel-examples-5.2.0.fuse-720010 wildfly-camel-examples-5.2.0.fuse-720009 wildfly-camel-examples-5.2.0.fuse-720008 wildfly-camel-examples-5.2.0.fuse-720007 wildfly-camel-examples-5.2.0.fuse-720006 wildfly-camel-examples-5.2.0.fuse-720005 wildfly-camel-examples-5.2.0.fuse-720004 wildfly-camel-examples-5.2.0.fuse-720003 wildfly-camel-examples-5.2.0.fuse-720002 wildfly-camel-examples-5.2.0.fuse-720001 wildfly-camel-examples-5.2.0.fuse-711004 wildfly-camel-examples-5.2.0.fuse-711003 wildfly-camel-examples-5.2.0.fuse-711002 wildfly-camel-examples-5.2.0.fuse-711001 wildfly-camel-examples-5.2.0.fuse-710022 wildfly-camel-examples-5.2.0.fuse-710021 wildfly-camel-examples-5.2.0.fuse-710020 wildfly-camel-examples-5.2.0.fuse-710019 wildfly-camel-examples-5.2.0.fuse-710018 wildfly-camel-examples-5.2.0.fuse-710017 wildfly-camel-examples-5.2.0.fuse-710016 wildfly-camel-examples-5.2.0.fuse-710015 wildfly-camel-examples-5.2.0.fuse-710014 wildfly-camel-examples-5.2.0.fuse-710013 wildfly-camel-examples-5.2.0.fuse-710012 wildfly-camel-examples-5.2.0.fuse-710011 wildfly-camel-examples-5.2.0.fuse-710010 wildfly-camel-examples-5.2.0.fuse-710009 wildfly-camel-examples-5.2.0.fuse-710008 wildfly-camel-examples-5.2.0.fuse-710007 wildfly-camel-examples-5.2.0.fuse-710006 wildfly-camel-examples-5.2.0.fuse-710005 wildfly-camel-examples-5.2.0.fuse-710004 wildfly-camel-examples-5.2.0.fuse-710003 wildfly-camel-examples-5.2.0.fuse-710002 wildfly-camel-examples-5.2.0.fuse-710001 wildfly-camel-examples-5.1.0.fuse-000062 wildfly-camel-examples-5.1.0.fuse-000061 wildfly-camel-examples-5.1.0.fuse-000060 wildfly-camel-examples-5.1.0.fuse-000059 wildfly-camel-examples-5.1.0.fuse-000059-redhat-3 wildfly-camel-examples-5.1.0.fuse-000058 wildfly-camel-examples-5.1.0.fuse-000057 wildfly-camel-examples-5.1.0.fuse-000056 wildfly-camel-examples-5.1.0.fuse-000055 wildfly-camel-examples-5.1.0.fuse-000054 wildfly-camel-examples-5.1.0.fuse-000053 wildfly-camel-examples-5.1.0.fuse-000052 wildfly-camel-examples-5.1.0.fuse-000051 wildfly-camel-examples-5.1.0.fuse-000050 wildfly-camel-examples-5.1.0.fuse-000049 wildfly-camel-examples-5.1.0.fuse-000048 wildfly-camel-examples-5.1.0.fuse-000047 wildfly-camel-examples-5.1.0.fuse-000046 wildfly-camel-examples-5.1.0.fuse-000045 wildfly-camel-examples-5.1.0.fuse-000044 wildfly-camel-examples-5.1.0.fuse-000043 wildfly-camel-examples-5.1.0.fuse-000042 wildfly-camel-examples-5.1.0.fuse-000041 wildfly-camel-examples-5.1.0.fuse-000040 wildfly-camel-examples-5.1.0.fuse-000039 wildfly-camel-examples-5.1.0.fuse-000038 wildfly-camel-examples-5.1.0.fuse-000037 wildfly-camel-examples-5.1.0.fuse-000036 wildfly-camel-examples-5.1.0.fuse-000035 wildfly-camel-examples-5.1.0.fuse-000034 wildfly-camel-examples-5.1.0.fuse-000033 wildfly-camel-examples-5.1.0.fuse-000032 wildfly-camel-examples-5.1.0.fuse-000031 wildfly-camel-examples-5.1.0.fuse-000030 wildfly-camel-examples-5.1.0.fuse-000029 wildfly-camel-examples-5.1.0.fuse-000028 wildfly-camel-examples-5.1.0.fuse-000027 wildfly-camel-examples-5.1.0.fuse-000026 wildfly-camel-examples-5.1.0.fuse-000025 wildfly-camel-examples-5.1.0.fuse-000024 wildfly-camel-examples-5.1.0.fuse-000023 wildfly-camel-examples-5.1.0.fuse-000022 wildfly-camel-examples-5.1.0.fuse-000021 wildfly-camel-examples-5.1.0.fuse-000020 wildfly-camel-examples-5.1.0.fuse-000019 wildfly-camel-examples-5.1.0.fuse-000018 wildfly-camel-examples-5.1.0.fuse-000017 wildfly-camel-examples-5.1.0.fuse-000016 wildfly-camel-examples-5.1.0.fuse-000015 wildfly-camel-examples-5.1.0.fuse-000014 wildfly-camel-examples-5.1.0.fuse-000014-redhat-1 wildfly-camel-examples-5.1.0.fuse-000013 wildfly-camel-examples-5.1.0.fuse-000012 wildfly-camel-examples-5.1.0.fuse-000011 wildfly-camel-examples-5.1.0.fuse-000010 wildfly-camel-examples-5.1.0.fuse-000009 wildfly-camel-examples-5.1.0.fuse-000008
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
src/main
README.md
pom.xml

README.md

Camel JMS example

This example demonstrates using the camel-jms component with WildFly Camel subsystem to produce and consume JMS messages.

In this example, a Camel route consumes files from ${JBOSS_HOME}/standalone/data/orders and places their contents onto an in-memory ActiveMQ Artemis queue named 'OrdersQueue'. A second route consumes any messages from 'OrdersQueue' and through a simple content based router sorts the orders into individual country directories within ${JBOSS_HOME}/standalone/data/orders/processed.

CLI scripts take care of creating and removing the JMS 'OrdersQueue' for you when the application is deployed and undeployed. These scripts are located within the src/main/resources/cli directory.

Prerequisites

  • Maven
  • An application server with the wildfly-camel subsystem installed

Connecting to an external broker

For example to connect to an external Artemis broker follow the instructions given in the EAP7 documentation for the Artemis Resource Adapter and then inject the connection factory as you would with the default connection factory.

@Resource(mappedName = "java:jboss/RemoteJmsXA")
ConnectionFactory connectionFactory;

Running the example

To run the example.

  1. Start the application server in standalone mode ${JBOSS_HOME}/bin/standalone.sh -c standalone-full-camel.xml
  2. Build and deploy the project mvn install -Pdeploy
  3. Browse to http://localhost:8080/example-camel-jms/orders

You should see a page titled 'Orders Received'. As we send orders to the example application, a list of orders per country will be listed on this page.

Testing Camel JMS

There are some example order XML files within the src/main/resources directory. Camel will choose a file at random every 5 seconds and will copy it into ${JBOSS_HOME}/standalone/data/orders for processing.

The console will output messages detailing what happened to each of the orders. The output will look something like this.

JmsConsumer[OrdersQueue]) Sending order to the UK
JmsConsumer[OrdersQueue]) Sending order to another country
JmsConsumer[OrdersQueue]) Sending order to the US

Once the files have been consumed, you can return to http://localhost:8080/example-camel-jms/orders. The count of received orders for each country should have been increased by 1.

All processed orders will have been output to:

${JBOSS_HOME}/standalone/data/orders/processed/uk
${JBOSS_HOME}/standalone/data/orders/processed/us
${JBOSS_HOME}/standalone/data/orders/processed/other

Undeploy

To undeploy the example run mvn clean -Pdeploy.

Learn more

Additional camel-jms documentation can be found at the WildFly Camel User Guide site.