2010-04-07 38 views
0

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

  • 我有一个包我想n个容器OSGi的一些出口服务运行;
  • 我正在使用DS来注册配置更改时修改的方法,因此我可以通过ConfigurationAdmin更新服务,并按照RFC119远程导出接口;
  • 我正在使用Discovery从其他包中的其他包中调用这些服务, 是否有可能使用ConfigurationAdmin为此服务设置中央配置,以便我可以通过Configuration Admin发布配置更改,该服务的所有实例正在运行?

从我读过的一切看来,ConfigurationAdmin不是网络感知的,并且对于每个OSGi容器都是本地的?

感谢提前你的洞察力:)

回答

0

所以,你的包N个容器中运行,出口其服务,只本地的容器中,并使用远程服务来发布其出口ManagedService一些“中央”容器ConfigurationAdmin正在运行?

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

0

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

相关问题