Я прочитал этот ответ Нила Бартлетта, в котором говорилось, что DS может заменить старый ManagedServiceFactory
подход к созданию экземпляров сервисов:
Компонент можно использовать либо как синглтон (т. е. MS), либо как фабрику (т. е. MSF), добавив «configurationPolicy: require». Если вы создадите конфигурацию фабрики с заводским PID, таким же, как имя компонента, вы получите фабрику.
Насколько мне известно, создание новой конфигурации с заводским PID заставляет администратора конфигурации создать новый экземпляр этой службы; действительно, это то, что происходит.
Скажем, у меня есть заводской PID test
, а затем я добавляю конфигурацию для test-1
с felix-fileinstall
. Затем эта служба правильно создается и активируется, когда я добавляю соответствующую конфигурацию.
If I do
@Reference(target="(service.pid=test-1)")
Test test;
это, очевидно, никогда не будет решено, поскольку требуется созданная конфигурация иметь сгенерированный GUID.
Как можно получить ссылку на этот сервис? Нужно ли мне добавлять дополнительное свойство к каждому экземпляру конфигурации для фильтрации?