首页 文章

将特定于bundle的配置值传递给WSO2 ESB bundle

提问于
浏览
0

我想用提供服务的自定义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包的路径?

1 回答

  • 1

    在尝试遵循给定的doc(片段捆绑方法)时,您遇到了什么样的问题?它应该适用于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/ 的路径 .

相关问题