Проблема с динамизмом обслуживания и планом

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

У меня есть другой пакет, использующий план, который содержит необязательную ссылку для этого сервиса, а затем внедряет эту ссылку в число объявленных bean-компонентов.

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

Однако при перезапуске или обновлении пакета, предоставляющего сервис, сервис не привязывается, но никогда не восстанавливает связь с пакетом использования, поэтому прокси-объект, содержащийся в ссылке на проект, никогда не преобразуется в ссылку на сервис.

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

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

У кого-нибудь были подобные проблемы с использованием сочетания DS и проекта для предоставления / потребления услуг?

1 ответ

Решение

План не является динамическим. У него есть "демпфирующий" прокси, который пытается перекрыть динамизм сервиса, но не всегда обеспечивает то, что нужно. В общем, я бы всегда использовал DS поверх Blueprint.

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