static OSGi service()

in component-dsl/src/main/java/org/apache/aries/component/dsl/OSGi.java [496:508]


    static <T> OSGi<T> service(CachingServiceReference<T> serviceReference) {
        return
            bundleContext().flatMap(bundleContext -> {
                T service = bundleContext.getService(
                    serviceReference.getServiceReference());

                return
                    onClose(() -> bundleContext.ungetService(
                        serviceReference.getServiceReference())).
                        then(
                            just(service));
            });
    }