【问题标题】:Passing bundle specific config values to WSO2 ESB bundle将特定于包的配置值传递给 WSO2 ESB 包
【发布时间】:2014-08-27 15:30:34
【问题描述】:

我想使用提供服务的自定义 OSGi 包来扩展 WSO2 ESB (v 4.7.0)。此捆绑包独立于任何 Mediator,但需要根据当前环境(开发、测试等)进行不同的配置。因此,能够在捆绑包之外配置这些参数会很好,例如在属性文件中。

我找到了 WSO2 Carbon 这样一个用例的以下链接,但这似乎不适用于 WSO2 ESB:https://docs.wso2.com/display/Carbon420/Config+Files+for+Third+Party+JARs

有没有办法将属性存储在类路径中,该类路径将以某种方式附加到捆绑包中,如上面的链接中所述。或者是否有可能以某种方式提供 OSGi 包的路径?

【问题讨论】:

    标签: wso2 osgi properties-file


    【解决方案1】:

    在尝试遵循给定的文档(片段包方法)时,您遇到了什么样的问题?它也应该适用于 ESB,因为它基于 Carbon。

    作为替代方案,您可以将配置保存在注册表中
    https://docs.wso2.com/display/ESB481/Working+with+the+Registry
    您可以通过管理控制台 Web UI 将配置文件上传到注册表,然后在捆绑包中您可以通过编程方式访问注册表并读取文件/配置。 (但这可能对您的要求有点过头了)

    作为一种解决方法,如果您只是尝试查找 ESB 的位置以获取配置文件的路径(可能在 repository/conf 中),您可以通过查找捆绑包。

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

    这将为您提供类似<esb-location>/repository/components/dropins/YourBundle.jar 的信息,基于此您可以构建到<esb-location>/repository/conf/ 的路径。

    【讨论】:

    • 片段捆绑方法从未奏效。我为目录尝试了不同的名称(jar 名称、包名称等),但片段包从未创建,也没有显示任何异常或类似的东西。
    猜你喜欢
    • 1970-01-01
    • 2012-05-29
    • 2017-07-29
    • 1970-01-01
    • 2014-09-26
    • 2013-04-10
    • 2015-06-15
    • 2013-11-29
    • 1970-01-01
    相关资源
    最近更新 更多