There are a few different ways to deploy Camel routes on ServiceMix 4.4.2:

  • deploy routes in a plain Blueprint XML file

  • deploy routes in a plain Spring XML file

  • deploy a bundle containing a Blueprint XML file

  • deploy a bundle containing a Spring XML file

Camel routes can also be deployed as part of a JBI SA, allowing you use Camel for routing between JBI endpoints - this option will be discussed later when we are talking about using JBI inside ServiceMix 4.

Benefits and drawbacks

Plain XML or OSGi bundles

Choose a plain XML file:

  • if you want to get routes deployed as quickly as possible
    all you need for developing routes is a simple text editor, no compilation, building, ... required at all

  • if you prefer the XML syntax over the Java of Scala DSL

Choose an OSGi bundle:

  • if you want to package helper classes together with your route definitions

  • if you prefer developing routes in the Java or Scala DSL
    you can package the RouteBuilder implementations inside the bundle

Blueprint or Spring

Choose Blueprint:

  • if you want the best possible integration with the OSGi Framework and Service Registy
    the Blueprint specification has been developed specifically for the OSGi Framework by the OSGi Alliance

Choose Spring:

  • if you already invested in Spring for creating and running Camel routes