gpt4 book ai didi

java - 使用 Apache Camel Blueprint - 需要在容器内和独立状态下保留属性

转载 作者:太空宇宙 更新时间:2023-11-04 06:50:16 25 4
gpt4 key购买 nike

我有一个使用蓝图和 Camel PropertiesComponent 进行配置的 Camel 路由,我可以通过“mvncamel:run”独立运行它,也可以将它安装到 Karaf 容器中。两者都工作得很好,可以发现属性并将它们注入(inject)到 route 。

我不知道如何在运行时更改属性时如何保留属性(例如,我想在路线停止/关闭时设置一个标记,然后在路线开始时将其读回)。

我已阅读有关 OSGi ConfigAdmin 的内容 - 但这似乎不支持持久属性。我还阅读了有关 OSGi 首选项服务(它支持持久性)的内容 - 但是如何实现它以便我可以独立运行它或在容器中运行它?这将需要 Camel 路由引用该服务,从而取决于 OSGi?

有没有一种方法可以抽象首选项服务,使其独立而不依赖于容器服务?

提前致谢。

最佳答案

OSGi 中的 ConfigurationAdmin 概要服务确实支持持久属性。事实上,默认情况下它会这样做(数据最终会保存在 bundle 缓存中,因此您需要确保不会在每次重新启动时删除该数据,无论如何,这都是不好的做法)。

如果您使用 Apache Felix,您甚至可以选择:

  1. 重新配置数据的保存位置。
  2. 如果您想使用数据库或其他东西,请提供您自己的存储后端。

参见:http://felix.apache.org/documentation/subprojects/apache-felix-config-admin.html

关于java - 使用 Apache Camel Blueprint - 需要在容器内和独立状态下保留属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23394542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com