2014-08-27 32 views
0

我想用提供服務的定製OSGi包擴展WSO2 ESB(v 4.7.0)。該軟件包獨立於任何Mediator,但根據當前環境(開發,測試等)需要不同的配置。因此,能夠在包之外配置這些參數將是很好的,例如,在屬性文件中。將包特定的配置值傳遞給WSO2 ESB包

我發現下面的鏈接,這樣的使用情況WSO2的碳,但是這似乎並沒有在WSO2 ESB的工作:https://docs.wso2.com/display/Carbon420/Config+Files+for+Third+Party+JARs

是否有存儲在類路徑會以某種屬性的方式在上面的鏈接中描述了附加到它的包。或者有可能以某種方式提供OSGi包的路徑?

回答

1

當您試圖遵循給定的文檔(片段捆綁方法)時,您會遇到什麼樣的問題?它也應該適用於ESB,因爲它基於Carbon。

作爲替代方案,可以保持CONFIGS在註冊表
https://docs.wso2.com/display/ESB481/Working+with+the+Registry
您可以通過管理控制檯Web UI上傳配置文件到註冊表,然後包裏面,你可以通過編程訪問註冊表和讀取文件/ CONFIGS。 (但這可能是你的要求的矯枉過正)

作爲一個解決方法,如果你只是想找到ESB的位置來獲取配置文件的路徑(可能在repository/conf中),你可以構造該路徑相對於捆綁的位置通過查找捆綁的路徑。

MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath().toURI() 

這會給你像<esb-location>/repository/components/dropins/YourBundle.jar的基礎上,可以構建以<esb-location>/repository/conf/的路徑。

+0

片段捆綁方法從來沒有工作。我爲目錄嘗試了不同的名稱(jar名稱,包名稱等),但片段包從未被創建,也沒有任何異常或類似的東西被顯示出來。 – powerweb 2014-08-29 06:28:42