Java ServiceReference未获取要激活的所有类名

Java ServiceReference未获取要激活的所有类名,java,aem,crx,Java,Aem,Crx,我正在使用以下代码获取所有引用类以激活它: String filter = "(component.factory=com.requestclasses.mypack)"; bundleContext = componentContext.getBundleContext(); ServiceReference[] references = bundleContext.getAllServiceReferences(ComponentFactory.class.getCanonicalName(

我正在使用以下代码获取所有引用类以激活它:

String filter = "(component.factory=com.requestclasses.mypack)";
bundleContext = componentContext.getBundleContext();
ServiceReference[] references = bundleContext.getAllServiceReferences(ComponentFactory.class.getCanonicalName(), filter);
但是在参考中我没有得到所有的类。我不确定问题是代码还是AEM 5.6
有什么建议吗?

我通常不建议使用像这样的低级API查询服务引用

您最好使用
@Reference
注释检索这些引用,如下所示:

@Reference(
   name = "componentFactories",
   referenceInterface = ComponentFactory.class,
   cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
   policy = ReferencePolicy.DYNAMIC
)
protected List<ComponentFactory> componentFactories = new ArrayList<ComponentFactory>();
@Reference(
name=“ComponentFactorys”,
referenceInterface=ComponentFactory.class,
基数=ReferenceCardinality.OPTIONAL\u倍数,
policy=ReferencePolicy.DYNAMIC
)
受保护的列表组件工厂=新的ArrayList();

我通常不建议使用此类低级API查询服务引用

您最好使用
@Reference
注释检索这些引用,如下所示:

@Reference(
   name = "componentFactories",
   referenceInterface = ComponentFactory.class,
   cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
   policy = ReferencePolicy.DYNAMIC
)
protected List<ComponentFactory> componentFactories = new ArrayList<ComponentFactory>();
@Reference(
name=“ComponentFactorys”,
referenceInterface=ComponentFactory.class,
基数=ReferenceCardinality.OPTIONAL\u倍数,
policy=ReferencePolicy.DYNAMIC
)
受保护的列表组件工厂=新的ArrayList();