【发布时间】:2015-02-11 22:57:54
【问题描述】:
在声明式服务中,可以将组件(服务)配置策略设置为“REQUIRE”,使其依赖于某个配置文件的存在。这意味着在配置管理中具有匹配“pid”的配置可用之前,不会创建服务。
蓝图中有类似的解决方案吗?
我尝试了托管服务工厂,但由于我只需要一个服务实例,我不知道如何确保工厂只创建一个实例。
【问题讨论】:
标签: osgi blueprint-osgi
在声明式服务中,可以将组件(服务)配置策略设置为“REQUIRE”,使其依赖于某个配置文件的存在。这意味着在配置管理中具有匹配“pid”的配置可用之前,不会创建服务。
蓝图中有类似的解决方案吗?
我尝试了托管服务工厂,但由于我只需要一个服务实例,我不知道如何确保工厂只创建一个实例。
【问题讨论】:
标签: osgi blueprint-osgi
我自己一直在寻找这个问题的答案,除了这个(非常古老的)问题之外什么也没找到!)。
我的解决办法是
configurationPolicy=REQUIRE 创建一个虚拟声明服务
<reference ...'/>(让蓝图等到我的虚拟服务启动。这样蓝图在相关配置存在之前不会完成启动。感觉有点像 hack,注册了一个毫无意义的服务。
【讨论】: