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.