1
在声明性服务中,可以将组件(服务)配置策略设置为“REQUIRE”,以使其依赖于某个配置文件的存在。这意味着服务将不会创建,直到在配置管理中可以使用匹配的“pid”配置。OSGi声明性服务ConfigurationPolicy.REQUIRE等效于白羊座蓝图
蓝图中是否有类似的解决方案?
我试过托管服务工厂,但由于我只需要我的服务的一个实例,我不知道如何确保工厂只创建一个实例。
在声明性服务中,可以将组件(服务)配置策略设置为“REQUIRE”,以使其依赖于某个配置文件的存在。这意味着服务将不会创建,直到在配置管理中可以使用匹配的“pid”配置。OSGi声明性服务ConfigurationPolicy.REQUIRE等效于白羊座蓝图
蓝图中是否有类似的解决方案?
我试过托管服务工厂,但由于我只需要我的服务的一个实例,我不知道如何确保工厂只创建一个实例。
我一直在寻找这个自己的答案,除了这个(非常古老的)问题外,没有发现任何东西!)。
我的解决办法是
configurationPolicy=REQUIRE
<reference ...'/>
这个虚拟服务蓝图(制作蓝图等待,直到我的虚拟服务已启动。通过这种方式,蓝图在相关配置存在之前不会完成其启动。感觉像是一些黑客,并且注册了无意义的服务。