我有一个使用蓝图和 Camel PropertiesComponent 进行配置的 Camel 路线,我可以通过“mvn camel:run”独立运行它,也可以将它安装到 Karaf 容器中。两者都工作得很好,发现属性并将它们注入到路由中。
我无法弄清楚的是如何在运行时更改属性时保留它们(例如,我想在路由停止/关闭时设置一个标记,然后在路由启动时将其读回)。
我已经阅读了有关 OSGi ConfigAdmin 的信息——但这似乎不支持持久属性。我还阅读了有关 OSGi 首选项服务(确实支持持久性)的信息 -但是,我如何实现它以便我可以独立运行它或在容器中运行它?这将需要骆驼路线引用服务,从而取决于OSGi?
有没有办法以不依赖容器服务的独立方式抽象首选项服务?
提前致谢。