Добавление ServiceListener с Spring DM

Мне интересно, если это возможно сделать эквивалент

public void start(BundleContext context)
{  
    String filter = "filter for my specific service";
    context.addServiceListener(new MyServiceListener(), filter);
}

с весны дм. Я нашел справочный материал для добавления слушателей для управления жизненным циклом. Но это относится к жизненному циклу регистрируемой услуги. Мне нужно знать о жизненном цикле любой службы, которая зарегистрирована / незарегистрирована для определенного интерфейса службы.

Пакет, который должен знать это, на самом деле не создает сервис, а будет его использовать. Поскольку во время выполнения будет несколько экземпляров этого сервиса, я не смогу просто создать ссылку на сервис в моей конфигурации Spring.

1 ответ

Решение

Spring DM включает поддержку ссылок на набор сервисов. К сожалению, как новый пользователь, я не могу публиковать ссылки, но эта функция описана в разделе 7.2.2 документации Spring DM 1.2. Spring DM автоматически обновляет содержимое этой коллекции во время выполнения, когда службы добавляются и удаляются из реестра служб.

Когда вы объявляете ссылку на службу, будь то отдельная ссылка или набор служб, вы также можете объявить bean-компонент-слушатель, который будет уведомлен о том, что службы приходят и уходят. Это задокументировано в разделе 7.2.3.

Я бы порекомендовал использовать список или набор служб и использовать компонент-слушатель, чтобы вы были уведомлены об изменениях содержимого коллекции.

Другие вопросы по тегам