ServiceReference 未获取所有 class 名称以进行激活
ServiceReference not fetching the all class names for activation
我正在使用下面的代码来获取所有引用 类 以便激活它:
String filter = "(component.factory=com.requestclasses.mypack)";
bundleContext = componentContext.getBundleContext();
ServiceReference[] references = bundleContext.getAllServiceReferences(ComponentFactory.class.getCanonicalName(), filter);
但在 参考资料 中,我没有得到所有 classes.I 我不确定问题是出在代码还是 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>();
我正在使用下面的代码来获取所有引用 类 以便激活它:
String filter = "(component.factory=com.requestclasses.mypack)";
bundleContext = componentContext.getBundleContext();
ServiceReference[] references = bundleContext.getAllServiceReferences(ComponentFactory.class.getCanonicalName(), filter);
但在 参考资料 中,我没有得到所有 classes.I 我不确定问题是出在代码还是 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>();