В декларативных службах OSGi я могу создавать экземпляры прототипов, объявляя ComponentServiceObjects
следующим образом:
@Reference(unbind = "-",
scope=ReferenceScope.PROTOTYPE_REQUIRED)
private ComponentServiceObjects<MyService> serviceProvider;
, а затем создаю экземпляр службы с помощью
service = serviceProvider.getService();
, затем я могу завершитьКонфигурирование экземпляра путем установки некоторых других атрибутов (значения конфигурации или не-OSGi соавторы) с помощью установщиков.Проблема заключается в том, что активация выполняется до завершения инициализации.
Есть ли способ добавить эти атрибуты до активации службы?
Я использую DS в контексте LiferayПортал 7
РЕДАКТИРОВАТЬ
В качестве пояснения у меня есть пример: допустим, у меня есть компонент DirectoryListener.И я хочу инициализировать несколько экземпляров этого компонента, каждый со своим каталогом.Я хотел бы сделать некоторую инициализацию во время активации на основе этого каталога.