【问题标题】:Mule ESB 3.4 Context propertyMule ESB 3.4 上下文属性
【发布时间】:2013-07-13 15:35:45
【问题描述】:

除了必须使用${property-name} 之外,如何在脚本组件中访问context:place-holder 加载的属性?我想找到包含这些键值对的对象。像context.getProperty("property-name") 这样的东西。

【问题讨论】:

    标签: spring properties mule esb


    【解决方案1】:

    Spring 属性占位符在配置时被解析,不会存储在任何地方,因此之后无法加载。

    如果您需要存储它,您可以随时将它们注入一个 bean 并从注册表中检索它。

    基本上你需要做的就是声明你的bean:

    <spring:bean class="your.Bean" name="yourBean" >
       <spring:property name="yourBeanAttribute" value="${somePlaceHolder}" />
    </spring:bean>
    

    然后您可以从脚本组件/转换器中检索它,以及注册表中的 somePlaceHolder 值:

    <scripting:transformer doc:name="Script">
     <scripting:script engine="Groovy">
      <scripting:text><![CDATA[
    def val = muleContext.getRegistry().lookupObject('yourBean').getYourBeanAttribute()
    ]]></scripting:text>
      </scripting:script>
     </scripting:transformer>
    

    HTH

    【讨论】:

    • 你可以展示一个bean/registry想法的例子吗?
    猜你喜欢
    • 2013-12-06
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多