Yes, The CompositeRegistry should keep looking the registry and catch the exception. I just fill a JIRA[1] for it.
[1]https://issues.apache.org/jira/browse/CAMEL-6135 -- Willem Jiang Red Hat, Inc. FuseSource is now part of Red Hat Web: http://www.fusesource.com | http://www.redhat.com Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On Wednesday, March 6, 2013 at 4:18 PM, smokemaker wrote: > Hi, all! > > > I use Camel 2.10.3 in ServiceMix 4.5.0 > Could someone please explain how to use > org.apache.camel.impl.CompositeRegistry? > I've got CamelContext, defined in bundle "A" and want to dynamically add to > it a registry for resolving components from bundle "B". > 1. I get the context's registry: > > Registry registry = camelContext().getRegistry(); > if (registry instanceof > org.apache.camel.impl.PropertyPlaceholderDelegateRegistry) > registry = > ((org.apache.camel.impl.PropertyPlaceholderDelegateRegistry)registry).getRegistry(); > 2. create registry for current bundle: > BlueprintContainerRegistry selfRegistry = new > BlueprintContainerRegistry(blueprintContainer); > 3. add selfRegistry to context's CompositeRegistry: > if (registry instanceof org.apache.camel.impl.CompositeRegistry) { > > ((org.apache.camel.impl.CompositeRegistry)registry).addRegistry(selfRegistry); > ---------------------- > Now, what we have in composite registry: > 1. OsgiServiceRegistry [for bundle A] > 2. BlueprintContainerRegistry [for bundle A] > 3. BlueprintContainerRegistry [for bundle B] > --------------------- > > When trying to lookup component from bundle B I've got exception > org.osgi.service.blueprint.container.NoSuchComponentException > > CompositeRegistry#lookup just lookups iterating the rigistries it has. And > gets exception on the second one (BlueprintContainerRegistry [for bundle > A]). > > 1. Am I using CompositeRegistry not in proper way? > 2. If not, may be it's a bug and must be placed into the issue tracker? To > fix it the exception must be caught in CompositeRegistry#lookup > > Thanks a lot! > > > > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Catch-NoSuchComponentException-in-org-apache-camel-impl-CompositeRegistry-lookup-tp5728645.html > Sent from the Camel - Users mailing list archive at Nabble.com > (http://Nabble.com).
