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
> 

Reply via email to