2016-11-21 2 views
1

Рассмотрите управляемую службу, зарегистрированную на SERVICE_PID «a.b.c».Настройка управляемой службы OSGi с помощью API администрирования конфигурации

Мне нужно иметь два разных бита кода, указывающих конфигурацию для конкретного заводского PID.

ConfigurationAdmin.createFactoryConfiguration() принимает только заводской PID, а не идентификатор экземпляра. Итак, как мне получить словарь конфигурации для определенного элемента? Например, felix fileinstall анализирует имя файла, например PID-FACTORYPID, а затем выкидывает FACTORYPID и вызывает createFactoryConfiguration только на PID.

Если я делаю то же самое, результаты передаются в «обновленный» метод с PID с уникальной строкой на конце. Поэтому я не могу придумать одну и ту же строку позже, чтобы улучшить ее, вызвав «обновление».

ответ

2

Если вы создаете заводскую конфигурацию, вы можете определить только заводскую pid. Индивидуальный config pid выбирается с помощью config admin impl.

Лучший способ найти такую ​​конфигурацию позже - использовать фильтр для одного или нескольких свойств, которые он имеет. Вы можете, например, дать ему свойство myid = 1, а затем найти его с фильтром (myid = 1).

Смежные вопросы