Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Run Camel With ServiceMix Kernel

Apache ServiceMix Kernel is a small OSGi based runtime which provides a lightweight container onto which various bundles can be deployed. Now you can deploy your route rule into it to leverage the power of OSGi.

Tip
titleOther guides

For further details see the ServiceMix Kernel Quick Start Guide and this great tutorial on using Camel in any OSGi container.

An example: to convert ServiceMix Kernel into an Apache Camel route container, we type these commands in the kernel's console to install the basic required bundles:

Code Block
osgi install -s mvn:org.apache.geronimo.specs/geronimo-activation_1.1_spec/1.0.2
osgi install -s mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.0/1.1.0
osgi install -s mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.1/1.1.0
osgi install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.1.6_1

And these commands for the Camel related bundles:

Code Block
osgi install -s mvn:org.apache.camel/camel-core/1.5.0
osgi install -s mvn:org.springframework/spring-tx/2.5.5
osgi install -s mvn:org.apache.camel/camel-spring/1.5.0
osgi install -s mvn:org.apache.camel/camel-osgi/1.5.0

This will get the bundles from a local or remote Maven repository, install and start them. Once this is done, you can just create a simple XML file containing the route definitions in the deploy and kernel's file monitor will install and deploy them. You can check the log file with the log d command to see the route in action.

Code Block
languagexml
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://activemq.apache.org/camel/schema/spring
         http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">

  <camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
    <route>
      <from uri="timer://myTimer?fixedRate=true&period=2000"/>
      <to uri="log:demo?showBodyType=false"/>
    </route>
  </camelContext>

</beans>

See Also