org.apache.aries.blueprint.preemptiveShutdown = false гарантирует отключение пакетов в порядке начального уровня

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

Мы хотели бы знать, гарантирует ли org.apache.aries.blueprint.preemptiveShutdown = false отключение пакетов в порядке начального уровня (сначала будет отключен тот, у которого более высокий начальный уровень?)


person user3097127    schedule 02.02.2016    source источник
comment
Здравствуй! Вам удалось найти обходной путь для этой проблемы?   -  person Cooshal    schedule 04.09.2018


Ответы (1)


Теоретически да, это свойство отключает стандартное поведение blueprint aries при уничтожении контейнера. По умолчанию (или когда это свойство имеет значение true), когда пакет 0 останавливается, все контейнеры чертежей уничтожаются. если для этого свойства установлено значение false, контейнер схемы уничтожается, когда пакет останавливается фреймворком, используя начальный уровень в обратном порядке.

Но это не "гарантировано". Этот тип расширителя часто использует асинхронную стратегию: создание и уничтожение контекста может обрабатываться другим потоком. afaik, текущая версия aries выглядит так, будто синхронно уничтожает контекст плана, когда пакет останавливается.

person Jérémie B    schedule 02.02.2016