2015-02-11 35 views
1

在聲明性服務中,可以將組件(服務)配置策略設置爲「REQUIRE」,以使其依賴於某個配置文件的存在。這意味着服務將不會創建,直到在配置管理中可以使用匹配的「pid」配置。OSGi聲明性服務ConfigurationPolicy.REQUIRE等效於白羊座藍圖

藍圖中是否有類似的解決方案?

我試過託管服務工廠,但由於我只需要我的服務的一個實例,我不知道如何確保工廠只創建一個實例。

回答

0

我一直在尋找這個自己的答案,除了這個(非常古老的)問題外,沒有發現任何東西!)。

我的解決辦法是

  1. 創建configurationPolicy=REQUIRE
  2. 虛擬聲明服務聲明<reference ...'/>這個虛擬服務藍圖(製作藍圖等待,直到我的虛擬服務已啓動。

通過這種方式,藍圖在相關配置存在之前不會完成其啓動。感覺像是一些黑客,並且註冊了無意義的服務。