Upgrade Apache Camel in ServiceMix to version 2.3.0
June 15th, 2010 | Published in java, oss, soa | 3 Comments
Apache ServiceMix 4.2 includes Apache Camel 2.2.0. The following steps outline how you can add Apache Camel 2.3.0 in the same ServiceMix instance. This example uses the versions as released by Progress Fuse.
Go to the ServiceMix console, either by starting servicemix, or by ssh-ing into ServiceMix. To install Camel 2.3 we need to add a features repository. You can list the currently registered repositories using features:listUrl:
karaf@root> features:listUrl mvn:org.apache.servicemix.nmr/apache-servicemix-nmr/1.2.0-fuse-01-00/xml/features mvn:org.apache.felix.karaf/apache-felix-karaf/1.4.0-fuse-01-00/xml/features mvn:org.apache.servicemix/apache-servicemix/4.2.0-fuse-01-00/xml/features mvn:org.apache.camel.karaf/apache-camel/2.2.0-fuse-01-00/xml/features mvn:org.apache.ode/ode-jbi-karaf/1.3.3-fuse-01-00/xml/features
Add the URL for the Camel 2.3.0 repository:
karaf@root> features:addUrl \ mvn:org.apache.camel.karaf/apache-camel/2.3.0-fuse-01-00/xml/features
Verify that the repository has been added:
karaf@root> features:listUrl mvn:org.apache.servicemix.nmr/apache-servicemix-nmr/1.2.0-fuse-01-00/xml/features mvn:org.apache.felix.karaf/apache-felix-karaf/1.4.0-fuse-01-00/xml/features mvn:org.apache.camel.karaf/apache-camel/2.3.0-fuse-01-00/xml/features mvn:org.apache.servicemix/apache-servicemix/4.2.0-fuse-01-00/xml/features mvn:org.apache.camel.karaf/apache-camel/2.2.0-fuse-01-00/xml/features mvn:org.apache.ode/ode-jbi-karaf/1.3.3-fuse-01-00/xml/features
Using features:list you can see that new features are now available for installation:
karaf@root> features:list State Version Name Repository ... [uninstalled] [2.3.0-fuse-01-00 ] camel repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-core repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-spring-osgi repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-test repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-cxf repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-cache repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-castor repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-crypto repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-dozer repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-http repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-http4 repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-mina repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-jetty repo-0 [uninstalled] [2.3.0-fuse-01-00 ] camel-servlet repo-0 ...
Install camel using features:install:
karaf@root> features:install camel-core 2.3.0-fuse-01-00
You can verify that the camel osgi bundle has been installed using osgi:list:
karaf@root> osgi:list START LEVEL 100 ID State Blueprint Spring Level Name [ 0] [Active ] [ ] [ ] [ 0] OSGi System Bundle (3.5.1.R35x_v20090827) ... [ 180] [Active ] [ ] [ ] [ 60] Apache ServiceMix Specs :: ACTIVATION API 1.4 (1.5.0) [ 181] [Active ] [ ] [ ] [ 60] Apache ServiceMix Specs :: JAXB API 2.1 (1.5.0) [ 182] [Active ] [ ] [ ] [ 60] Apache ServiceMix Specs :: STAX API 1.0 (1.5.0) [ 183] [Active ] [ ] [ ] [ 60] camel-core (2.3.0.fuse-01-00)
The steps outlined above will not work if you need to go through a proxy. One way to fix this is by adding your proxy settings in %SERVICEMIX_HOME%/bin/servicemix.bat:
set JAVA_OPTS=-Dhttp.proxyHost=host -Dhttp.proxyPort=8080 -Dhttp.proxyUser=user -Dhttp.proxyPassword=password -Dhttp.nonProxyHosts=*.local

Pingback: Adding a maven repository for installing features to ServiceMix :: Andrej Koelewijn