2017-01-05 3 views
0

Я использую следующий код для извлечения всех опорных классов, для того, чтобы активировать его:ServiceReference не выборки на все именах классов для активации

String filter = "(component.factory=com.requestclasses.mypack)"; 
bundleContext = componentContext.getBundleContext(); 
ServiceReference[] references = bundleContext.getAllServiceReferences(ComponentFactory.class.getCanonicalName(), filter); 

Но в ссылке я не получаю все классы. Я не уверен, является ли проблема с кодом или AEM 5.6. Любые предложения?

ответ

2

Обычно я не рекомендую запрашивать ссылки на службы, используя API-интерфейсы низкого уровня, подобные этим.

Вы могли бы быть лучше получения этих ссылок с помощью @Reference аннотацию, как так:

@Reference(
    name = "componentFactories", 
    referenceInterface = ComponentFactory.class, 
    cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, 
    policy = ReferencePolicy.DYNAMIC 
) 
protected List<ComponentFactory> componentFactories = new ArrayList<ComponentFactory>(); 
Смежные вопросы