首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从WSO2企业服务总线和注册表访问系统属性

如何从WSO2企业服务总线和注册表访问系统属性
EN

Stack Overflow用户
提问于 2013-03-05 04:56:54
回答 2查看 5K关注 0票数 0

我的WSO2企业服务总线代理服务引用了一个端点,该端点位于不同环境中的不同URLs DEV、TEST、PROD。根据WSO2文档,我需要将端点定义存储在治理注册表中,并在每个环境中修改端点XML文件中的URL。对于具有1个或2个代理的组织来说,这可能会很好地工作,但对于10+代理来说,这会成为一项重要的开销。

另一个场景是当我需要在ESB序列中读取特定于环境的属性时。

有没有办法在外部*.properties文件中定义一组属性,然后在企业服务总线和注册表定义中读取它们?

EN

回答 2

Stack Overflow用户

发布于 2013-03-07 15:23:19

您可以使用脚本中介器访问ESB序列/代理服务中的系统属性,如下所示;

代码语言:javascript
复制
    <script language="js">mc.setProperty("file.separator",java.lang.System.getProperty("file.separator"));</script>
    <log level="custom">
       <property name="file.separator" expression="get-property('file.separator')"/>
    </log>

这里,"file.separator“属性被设置为脚本中介器中消息上下文中的属性,并且可以在后续的中介器中使用。

您还可以访问ESB注册表中的文件中定义的属性。例如,如果您在配置注册表(test.xml)中有一个包含以下内容的文件,

代码语言:javascript
复制
<a>Helloo<b>World</b></a>

可以使用属性中介器访问<b>中的文本元素"World“,如下所示:

代码语言:javascript
复制
<property name="test" expression="get-property('registry','conf:/test.xml')" scope="default" type="OM"/>
<log level="custom">
      <property name="test.b" expression="$ctx:test//b"/>
</log>
票数 7
EN

Stack Overflow用户

发布于 2013-03-07 15:16:29

这是一个关于如何从类管理员1访问注册表资源的blog post。你可以访问文章中提到的任何资源并进行修改。

同样,您可以保留外部属性文件并从classmeditor中读取该文件,并使用meditaor类设置synapse消息上下文中的所有属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15210972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档