2016-11-21 107 views
1

考慮在SERVICE_PID「a.b.c」上註冊的託管服務。通過配置管理API配置OSGi託管服務

我需要有兩個不同的代碼位指定特定工廠PID的配置。

ConfigurationAdmin.createFactoryConfiguration()僅使用工廠PID,而不使用實例PID。那麼,如何獲取特定項目的配置字典?例如,felix fileinstall會分析一個文件名,如PID-FACTORYPID,然後丟棄FACTORYPID並僅在PID上調用createFactoryConfiguration。

如果我這樣做,結果將流入「更新」方法,並在最後使用帶唯一字符串的PID。所以我以後不能用相同的字符串來調用'update'來改進它。

回答

2

如果您創建工廠配置,那麼您只能定義工廠PID。個人配置pid由config admin impl選擇。

稍後查找此類配置的最佳方法是對其中一個或一些屬性使用過濾器。你可以例如給它一個屬性myid = 1,稍後用過濾器(myid = 1)找到它。