Bryce Ewing wrote:
Hi,

In the upgrade from camel 2.2.0 to 2.4.0 there was a refactoring of OSGi
support.  One change was the deprecating of the camel-osgi component in
favor of camel-spring.  I am not using spring as such in my application
(obviously certain parts do use it but it isn't a spring based application). What I was using for the camel context was OsgiDefaultCamelContext which is
within the camel-core-osgi module.

This module is embedded into the camel-spring component but the
org.apache.camel.core.osgi is set as a private package and therefore the
class is no longer available at run time.

Because camel-spring and camel-blueprint embed the same camel-core-osgi, so this package org.apache.camel.core.osgi had to be private, and they are just for internal using.

To get around this I have also embedded this module into the bundle that I
am creating the camel context within.  This doesn't seem right to me, either
the OsgiDefaultCamelContext should no longer be used and I am just going
about things in the wrong way, or the package shouldn't be private.

I think you should use the CamelContextFactoryBean in the camel-spring module to create the CamelContext instead of using the OsigDefaultCamelContext directly.


Cheers
Bryce


Willem
----------------------------------
Apache Camel, Apache CXF committer
Open Source Integration http://www.fusesource.com
Blog http://willemjiang.blogspot.com
Tiwtter http://twitter.com/willemjiang

Reply via email to