У меня есть маршрут Camel с использованием плана и Camel PropertiesComponent для конфигурации, я могу запустить его автономно через "mvn camel: run", или я могу установить его в контейнер Karaf. Оба отлично работают и открывают свойства и внедряют их в маршрут.
Я не могу понять, как сохранить свойства, когда они меняются во время выполнения (в качестве примера я хочу установить маркер, когда маршрут останавливается/отключается, а затем читает его при запуске маршрута).
Я читал о OSGi ConfigAdmin - но это, похоже, не поддерживает сохраняющиеся свойства. Я также прочитал о службе предпочтений OSGi (которая поддерживает сохранение), но как мне это реализовать, чтобы я мог запускать ее автономно или в контейнере? который потребует, чтобы маршрут Camel имел ссылку на услугу, в зависимости от OSGi?
Есть ли способ отвлечь службу настроек таким образом, чтобы она не зависела от обслуживания контейнера?
заранее спасибо.
Служба Compendium ConfigurationAdmin в OSGi поддерживает поддерживающие свойства. Фактически он делает это по умолчанию (данные попадают в кеш пучка, поэтому вам нужно убедиться, что вы не протираете это при каждом перезагрузке, что в любом случае является плохой практикой).
Если вы используете один из Apache Felix, вы даже получаете возможность:
См.: http://felix.apache.org/documentation/subprojects/apache-felix-config-admin.html