我可以一起使用分布式OSGi和ConfigurationAdmin吗?

时间:2010-04-07 11:22:22

标签: osgi dosgi

如果:

  • 我有一个捆绑包我希望在导出一些服务的n个OSGi容器上运行;
  • 我正在使用DS为配置更改时注册修改后的方法,因此我可以通过ConfigurationAdmin更新服务,并根据RFC119远程导出接口;
  • 我正在使用Discovery从其他盒子上的其他包中调用这些服务, 是否可以使用ConfigurationAdmin为此服务进行集中配置,以便我可以通过配置管理员发布配置更改,并且所有正在运行的服务实例都会收到它?

从我读过的所有内容看来,ConfigurationAdmin不是网络感知的,并且每个OSGi容器都是本地的?

感谢您提前了解:)

2 个答案:

答案 0 :(得分:0)

因此,您的捆绑包在N个容器上运行,仅将其服务导出到该本地容器,并使用远程服务导出ManagedService以将其发布到运行ConfigurationAdmin的某个“中央”容器中?

您是对的,ConfigurationAdmin不支持网络,但如果捆绑包远程将其ManagedService发布到运行Configuration Admin的容器,它应该可以工作。唯一需要注意的是,每个ManagedService必须具有唯一的服务PID,因此您不能简单地在N个容器中发布相同的包,除非您确保每个实例最终都使用唯一的PID。

答案 1 :(得分:0)

您应该查看Karaf Cellar。它为OSGi应用程序提供集群支持,并跨节点同步配置更改。