- List<NamespaceToStream> namespaceMapping = getNamespaceToStream();
- InitializationContext ic = new InitializationContext(namespaceMapping);
-
- final Providers.BindingAware bap = new Providers.BindingAware(ic);
- final Providers.BindingIndependent bip = new Providers.BindingIndependent(ic);
-
- getBindingBrokerDependency().registerProvider(bap, getBundleContext());
- getDomBrokerDependency().registerProvider(bip);
+ final WaitingServiceTracker<EventSourceRegistry> tracker =
+ WaitingServiceTracker.create(EventSourceRegistry.class, bundleContext);
+ final EventSourceRegistry service = tracker.waitForService(WaitingServiceTracker.FIVE_MINUTES);
+
+ return new EventSourceRegistry() {
+ @Override
+ public void close() {
+ // We need to close the WaitingServiceTracker however we don't want to close the actual
+ // service instance because its life-cycle is controlled via blueprint.
+ tracker.close();
+ }