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.

Reply via email to