Karaf: функция: установка перезапускает предыдущие пакеты - PullRequest
0 голосов
/ 30 мая 2018

Меня раздражает поведение сервера karaf: в заголовке все сказано, установленные пакеты перезапускаются при использовании команды: установить.

* Контекст проекта *

  • Большинство связок, с которыми я имею дело, являются верблюжьими маршрутами, остальные являются общими инструментами, общими для маршрутов.

  • В результате,У меня есть двухуровневый проект: общая часть, которая устанавливается первой, и верблюжьи маршруты, все зависит от общей части (зависит от точки зрения Maven).

* Сценарий *

  • запуск нового экземпляра karaf
  • установка общих функций
  • установка функции верблюжьего маршрута: никаких проблем пока нет
  • установить вторую функцию верблюжьего маршрута: пакеты из ранее установленной функции будут перезапущены.

* Сделан прорыв *

Все пакеты объявленыобщий конфигурационный файл с опцией "update-стратегии = перезагрузка".Это означает, что karaf будет уведомлять каждый пакет о любой модификации этого файла, и пакет будет перезапущен, чтобы принять его во внимание.

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

Как вы и ожидали, я решил эту проблему, удалив опцию update-стратегии, и большинство моих функций теперь чистые.

* Остатки *

НО, некоторые из них все еще содержат ошибку: При установке любой из этих проблемных функций все остальные установленные функции будут перезапущены.Это ЕДИНСТВЕННАЯ проблема, установка чистых комплектов не вызовет проблем с перезапуском.

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

Любая помощь илиБуду признателен за советы, я также могу предоставить анонимные примеры любого файла, который поможет вам разобраться, например, osgi-context или pom.xml

функции. И еще одна вещь: мои функции перегруппировывают около 50 пакетов в каждом, поэтомуЯ едва могу понять логи karaf и не могу точно определить, какой пакет перезапускается первым.

Спасибо за ваше время и внимание!

1 Ответ

0 голосов
/ 30 мая 2018

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

update-стратегии = перезагрузка не вызывает перезагрузку пакета.Это вызывает перезагрузку контекста проекта.

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

Существуют и другие причины, по которым пакет может перезапускаться.При установке функции karaf делается попытка предоставить оптимальный набор пакетов, который в целом необходим karaf для удовлетворения набора установленных в настоящее время функций.Типичным случаем является то, что вы сначала устанавливаете функцию с пакетом, содержащим дополнительный пакет импорта.На данный момент он не может предоставить пакет.Затем вы устанавливаете вторую функцию, которая обеспечивает экспортер пакета.Теперь необязательная зависимость пакета может быть удовлетворена, и пакет будет перезапущен karaf.Вы можете посмотреть в таких случаях, используя функцию: установить -v.Это покажет вам, какие пакеты были перезапущены, а также почему.Так что, возможно, это поможет вам отладить причину перезагрузки.

...