2014-08-27 33 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