Thanks for the hint. I forgot to check that. I switched now to Camel 2.11.0 but the problem still exists. The behavior is exactly the same as I already described.
Regards, Tobias ----- Original Message ----- > From: "Claus Ibsen" <claus.ib...@gmail.com> > To: users@camel.apache.org > Sent: Thursday, May 2, 2013 7:23:13 AM > Subject: Re: NoSuchComponentException in CamelContext during Karaf Shutdown > > Ah yeah you should use Karaf 2.2.x with Camel 2.10.x. And Karaf 2.3.x > with Camel 2.11.x. > > As documented here: > http://camel.apache.org/karaf > > > On Wed, May 1, 2013 at 11:08 PM, Christian Müller > <christian.muel...@gmail.com> wrote: > > Camel 2.10.x is only tested with Karaf 2.2.x. > > > > Sent from a mobile device > > Am 01.05.2013 10:41 schrieb "Tobias Hofer" > > <tobias.ho...@basis06.ch>: > > > >> Hi > >> > >> > Yeah would assume depends-on attributes ought to tell blueprint > >> > in > >> > which order to shutdown its beans etc. > >> > Or somehow you can try to get <camelContext> as being the first > >> > "bean" > >> > blueprint should try to shutdown, as then Camel will complete > >> > all its > >> > inflight messages first, and hence the <beans> should be > >> > shutdown > >> > later. > >> Exactly. Blueprint is responsible for computing the dependency > >> order. On > >> shutdown, the deconstruction must be done in reverse order. > >> > >> Therefore I tried to explicitly declare the dependency from > >> CamelContext > >> to Bean in order to get the CamelContext deconstructed first. > >> > >> Is Blueprint able to compute the dependencies for a CamelContext? > >> Has it > >> any clue about the referenced beans? > >> > >> Does the CamelContext shutdown synchronously to the deconstruction > >> request of Blueprint? If not, that could be a possible cause, that > >> dependent Beans get destroyed even if CamelContext is still alive. > >> > >> > >> > You can also enable cache on the bean endpoint to avoid the > >> > lookups > >> > > >> > <bean uri="ref:myBean?cache=true" /> > >> > > >> Yes this helps, but only for beans (component instances). If the > >> bean endpoint calls a OSGi service reference then call will fail > >> caused > >> by a ServiceUnavailableException. > >> > >> > >> > And when you see this error, does that only happen if the > >> > aggregator > >> > has messages that hasn't been fully aggregated, but are forced > >> > to be > >> > completed when stopping? eg this doesn't happen when stopping > >> > and the > >> > aggregator is empty? > >> Stopping it without any inflight and pending exchanges works. In > >> other > >> words, there error does not occur, if the aggregator did never > >> aggregate > >> a message, or if all messages has been aggregated before shutdown. > >> > >> I'm able to stop the CamelContext manually at any time > >> successfully. Even > >> if there are pending messages that are forced to be completed when > >> stopping. > >> > >> The error occurs only if I stop the whole Bundle. > >> > >> > >> > >> > > >> > > >> > > >> > On Tue, Apr 30, 2013 at 1:25 PM, Tobias Hofer > >> > <tobias.ho...@basis06.ch> wrote: > >> > > Hi all, > >> > > > >> > > I'm running Camel 2.10.4 in Karaf 2.3.1 and get > >> > > NoSuchComponentException > >> > > during the shutdown process. > >> > > > >> > > My blueprint configuration file declares a bean which is a > >> > > Camel > >> > > Processor > >> > > > >> > > <bean id="myBean" class="org.example.MyBean" /> > >> > > > >> > > The CamelContext contains a route that aggregates incoming > >> > > messages > >> > > and > >> > > which forces a completion on stop. > >> > > > >> > > <route> > >> > > <from uri="direct:aggregate" /> > >> > > <aggregate strategyRef="aggregationStrategy" > >> > > forceCompletionOnStop="true" ...> > >> > > ... > >> > > <to uri="direct:onCompletion" /> > >> > > </aggregate> > >> > > </route> > >> > > > >> > > The second route contains the bean invocation > >> > > > >> > > <route> > >> > > <from uri="direct:onCompletion" /> > >> > > ... > >> > > <bean ref="myBean" /> > >> > > ... > >> > > </route> > >> > > > >> > > During shutdown the bean invocation in the second route fails > >> > > > >> > > org.apache.camel.RuntimeCamelException: > >> > > org.osgi.service.blueprint.container.NoSuchComponentException: > >> > > No > >> > > component with id > >> > > 'myBean' could be found > >> > > at > >> > > > >> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1316) > >> > > at > >> > > > >> org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookup(PropertyPlaceholderDelegateRegistry.java:51) > >> > > at > >> > > > >> org.apache.camel.component.bean.RegistryBean.lookupBean(RegistryBean.java:136) > >> > > at > >> > > > >> org.apache.camel.component.bean.RegistryBean.getBean(RegistryBean.java:62) > >> > > at > >> > > > >> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:77) > >> > > at > >> > > > >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > >> > > ... > >> > > Caused by: > >> > > org.osgi.service.blueprint.container.NoSuchComponentException: > >> > > No > >> > > component with id 'myBean' could be found > >> > > at > >> > > > >> org.apache.aries.blueprint.container.BlueprintContainerImpl.getComponentInstance(BlueprintContainerImpl.java:742) > >> > > at > >> > > > >> org.apache.camel.blueprint.BlueprintContainerRegistry.lookup(BlueprintContainerRegistry.java:41) > >> > > at > >> > > > >> org.apache.camel.impl.CompositeRegistry.lookup(CompositeRegistry.java:68) > >> > > at > >> > > > >> org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookup(PropertyPlaceholderDelegateRegistry.java:49) > >> > > > >> > > I tried to add a 'depends-on' property on the CamelContext > >> > > declaration but > >> > > this seems not to help. > >> > > > >> > > It looks like that the Blueprint Container is no longer > >> > > available. > >> > > > >> > > Any suggestions? > >> > > > >> > > Regards, > >> > > Tobias Hofer > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > >> > > >> > > >> > -- > >> > Claus Ibsen > >> > ----------------- > >> > Red Hat, Inc. > >> > FuseSource is now part of Red Hat > >> > Email: cib...@redhat.com > >> > Web: http://fusesource.com > >> > Twitter: davsclaus > >> > Blog: http://davsclaus.com > >> > Author of Camel in Action: http://www.manning.com/ibsen > >> > > >> > > > > -- > Claus Ibsen > ----------------- > Red Hat, Inc. > FuseSource is now part of Red Hat > Email: cib...@redhat.com > Web: http://fusesource.com > Twitter: davsclaus > Blog: http://davsclaus.com > Author of Camel in Action: http://www.manning.com/ibsen >