【问题标题】:OSGi Declarative Services ConfigurationPolicy.REQUIRE equivalent in aries blueprintaries 蓝图中的 OSGi 声明式服务 ConfigurationPolicy.REQUIRE 等效项
【发布时间】:2015-02-11 22:57:54
【问题描述】:

在声明式服务中,可以将组件(服务)配置策略设置为“REQUIRE”,使其依赖于某个配置文件的存在。这意味着在配置管理中具有匹配“pid”的配置可用之前,不会创建服务。

蓝图中有类似的解决方案吗?

我尝试了托管服务工厂,但由于我只需要一个服务实例,我不知道如何确保工厂只创建一个实例。

【问题讨论】:

    标签: osgi blueprint-osgi


    【解决方案1】:

    我自己一直在寻找这个问题的答案,除了这个(非常古老的)问题之外什么也没找到!)。

    我的解决办法是

    1. 使用configurationPolicy=REQUIRE 创建一个虚拟声明服务
    2. 在蓝图中向这个虚拟服务声明<reference ...'/>(让蓝图等到我的虚拟服务启动。

    这样蓝图在相关配置存在之前不会完成启动。感觉有点像 hack,注册了一个毫无意义的服务。

    【讨论】:

      猜你喜欢
      • 2010-12-31
      • 2018-05-20
      • 2012-04-27
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      相关资源
      最近更新 更多