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.
Other 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:
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:
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.
<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>
2 Comments
Matteo Redaelli
and if I wanted to use other routes (like iBatis) that require different files? How can I deploy the project to smx kernel?
Matteo Redaelli
please correct "osgi install" with osgi/install"
is it possibile to update the page for camel release 1.6.0?