Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top