使用Typesafe Config的庫通常依賴於從類路徑中/reference.conf
文件合併的一個大配置。OSGi下的Typesafe Config
例如,Spray希望在ActorSystem
的Typesafe Config實例中找到其配置節,但它們不可用,除非我創建ActorSystem
的軟件包導入Spray軟件包。在我的應用程序中沒有這樣的導入,因爲我有一個專用包,其唯一目的是作爲服務發佈ActorSystem
。其他bundle使用它,其中一些依賴於Spray,但不依賴於僅導出AS的bundle。
這導致我在OSGi環境中發現Typesafe Config的一般問題/reference.conf
文件。我知道akka-osgi
的BundleDelegatingClassLoader
查找捆綁依賴關係鏈中的資源,所以我想爲什麼不直接查看系統中的所有捆綁以符合Typesafe Config的合併idology?
在OSGi下使用Typesafe Config的正確方法是什麼?我將在一個答案中提出我的通用解決方案,但我不是OSGi專家,並且希望知道這是否是錯誤的,爲什麼以及什麼是更好的方式來處理合並。