Меня раздражает поведение сервера karaf: в заголовке все сказано, установленные пакеты перезапускаются при использовании команды: установить.
* Контекст проекта *
Большинство связок, с которыми я имею дело, являются верблюжьими маршрутами, остальные являются общими инструментами, общими для маршрутов.
В результате,У меня есть двухуровневый проект: общая часть, которая устанавливается первой, и верблюжьи маршруты, все зависит от общей части (зависит от точки зрения Maven).
* Сценарий *
- запуск нового экземпляра karaf
- установка общих функций
- установка функции верблюжьего маршрута: никаких проблем пока нет
- установить вторую функцию верблюжьего маршрута: пакеты из ранее установленной функции будут перезапущены.
* Сделан прорыв *
Все пакеты объявленыобщий конфигурационный файл с опцией "update-стратегии = перезагрузка".Это означает, что karaf будет уведомлять каждый пакет о любой модификации этого файла, и пакет будет перезапущен, чтобы принять его во внимание.
Фактически, когда я установил новый пакет с зависимостью от этого файла, он будет прочитан, чтобы инициализировать свойства пакета, и karaf посчитал это модификацией файла.Поэтому при установке нового пакета все остальные перезагружались.
Как вы и ожидали, я решил эту проблему, удалив опцию update-стратегии, и большинство моих функций теперь чистые.
* Остатки *
НО, некоторые из них все еще содержат ошибку: При установке любой из этих проблемных функций все остальные установленные функции будут перезапущены.Это ЕДИНСТВЕННАЯ проблема, установка чистых комплектов не вызовет проблем с перезапуском.
Я все равно проверил, но никакой другой файл конфигурации не может быть ответственным за это.
Любая помощь илиБуду признателен за советы, я также могу предоставить анонимные примеры любого файла, который поможет вам разобраться, например, osgi-context или pom.xml
функции. И еще одна вещь: мои функции перегруппировывают около 50 пакетов в каждом, поэтомуЯ едва могу понять логи karaf и не могу точно определить, какой пакет перезапускается первым.
Спасибо за ваше время и внимание!