Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Guice JMS Example

The Guice JMS example is functionally similar to the Spring Example but using Guice as the Dependency Injection framework - it is also similar to the first example to show how to use the Guice approach to working with Camel. In this example we just write RouteBuilder implementations, then we write a Guice module MyModule and a jndi.properties file

To run the example we use the Camel Maven Plugin. For example from the source or binary distribution the following should work

Code Block

cd examples/camel-example-spring
mvn camel:run

What this does is boot up the Spring ApplicationContext defined in the file META-INF/spring/camel-context.xml on the classpath. This is a regular Spring XML document which uses the Camel Xml Configuration to configure a CamelContext. Notice how the <camelContext> element is configured

Code Block

  <camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
   <package>org.apache.camel.example.spring</package>
     ...

The packages attribute defines the comma separated list of Java package names which are recursively searched for Java classes on the classpath which implement the RouteBuilder interface. What this means is that Camel will automatically detect our MyRouteBuilder class and automatically install its routes.

This approach, of using Java code to write the routes in the DSL and just wire together in XML what we really need to allows us to use the right language for the job and minimise the amount of XML bloat. Of course if you prefer you can create all of your routes in the Xml Configuration.

Also note at the end of this XML example file we explicitly configure the ActiveMQ component with details of how to connect to the broker.Created by James Strachan
On Tue Oct 21 10:46:58 BST 2008
Using TimTam