Thanks for your reply Willem, I will try to the bundle dependency of camel-core to my route bundle as you suggested - sounds like good advice.
I wasn't sure what you mean by your last paragraph: > If you need to dependent on some specify component interface will introduce > the OSGi related dependency to the camel components. > We need to find another way to do it. I assume that there was a problem with my suggestion but I didn't quite understand what. /Bengt 2010/4/28 Willem Jiang <willem.ji...@gmail.com>: > Hi > > Please see my comments in the mail. > > Bengt Rodehav wrote: >> >> I'm using Karaf to deploy my Camel routes. However, I run into >> problems during startup due to dependency ordering. Some of these >> ordering problems are OSGI/Karaf specific and have nothing to do with >> Camel. I've discussed them on the Felix user mailing list and I have >> workarounds for that. The Camel problems remain though. >> >> When trying to deploy both my routes and the camel bundles in Karaf, >> my routes fail to iniitialize because the referenced camel component >> ("file:" in this case) is not registered in Camel yet. I've tried to >> solve this with workarounds in Karaf. It is possible but not very >> elegant at all. > > Can you add the bundle dependency of camel-core to your route bundle? >> >> Guillaume Nodet (via us...@felix.apache.org) suggested to me that this >> is more of a Camel problem than a Karaf problem. In his opinion (and >> mine), it would be much better if Camel published components using >> OSGI services. That way my services could have a service dependency on >> the Camel services so that my service would start when the Camel >> service was available. As I understand it, today Camel just scans >> bundles as they are started and updates its component registry. This >> makes it impossible for dependent bundles (like my routes) to know >> whether all the required prerequisites are in place before starting >> the route. > > That could be a solution of your issue. >> >> If components were published using a component specific interface, I >> could add a service dependency to that service and wait until it >> becomes available before trying to start my routes. >> > > If you need to dependent on some specify component interface will introduce > the OSGi related dependency to the camel components. > We need to find another way to do it. > >> Has anyone else had similar issues?What is the recommended workaround? >> Are there any plans for improvement? >> >> /Bengt >> > > > Willem >