osgi: ¿Usa ServiceFactories?

Actualmente estoy tratando de obtener un paquete simple que contenga un Service Factory en ejecución.

Esta es mi clase de fábrica:

public class SvcFactory implements ServiceFactory<ServiceB> {

    @Override
    public ServiceB getService(Bundle bundle,
            ServiceRegistration<ServiceB> registration) {

        return new ServiceBImpl();
    }

    @Override
    public void ungetService(Bundle bundle, ServiceRegistration<ServiceB> registration,
            ServiceB service) {

    }

}

Este es mi servicio que debe crear la fábrica:

public class ServiceBImpl implements ServiceB {

    private ServiceA svcA;

    public void setA(ServiceA a) {
        svcA = a;
    }

}

Y finalmente el OSGI-INF / component.xml

<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="bundleb.internal.SvcFactory">

   <implementation class="bundleb.internal.SvcFactory"/>

  <reference bind="setA" cardinality="1..1" interface="bundlea.ServiceA" name="ServiceA" policy="static"/>

   <service servicefactory="true">
      <provide interface="bundleb.ServiceB"/>
   </service>
</scr:component>

Si ejecuto mis paquetes de prueba (A, B y C) dentro del equinoccio, obtengo el siguiente error:

org.osgi.framework.ServiceException: org.eclipse.equinox.internal.ds.FactoryReg.getService() returned a service object that is not an instance of the service class bundleb.ServiceB

No puedo encontrar mucha información sobre el uso de ServiceFeactories declaradas en una definición de componente en Internet. Incluso el libro "OSGi y Equinoccio" no me dijo mucho sobre su uso. ¿Podría alguien explicarme qué estoy haciendo mal?

Respuestas a la pregunta(3)

Su respuesta a la pregunta