【问题标题】:How to use Mule Expression Language for dynamic spring property injection如何使用 Mule 表达式语言进行动态弹簧属性注入
【发布时间】:2017-08-22 12:28:20
【问题描述】:
<set-variable variableName="template" value="#[payload.templatePath]" doc:name="Template Path"/>
<custom-transformer class="com.comviva.mfs.eig.transformers.generic.MapUtil" doc:name="Map">
<spring:property name="sessionBean" ref="SessionBean"/>
<spring:property name="fixedTemplatePath" value="#[flowVars['template']]"/>

或者在这两种情况下,我希望在发送数据时动态替换地图的值,因为 key templatePath 包含动态值,我希望从 Map 类型的有效负载中选择它

<custom-transformer class="com.comviva.mfs.eig.transformers.generic.MapUtil" doc:name="Map">
<spring:property name="sessionBean" ref="SessionBean"/>
<spring:property name="fixedTemplatePath" value="#[payload.templatePath]"/>

【问题讨论】:

    标签: mule mule-component mule-el


    【解决方案1】:

    MEL 不解释 Spring 属性。由于它是作为在实例化期间调用的 setter 注入提供的,因此有效负载或流/会话 var 的值将不可用。

    您可以更改转换器代码以从转换代码本身内的有效负载中读取值,因为有效负载将从“Object src”参数中获得。

    【讨论】:

    • 非常感谢 Ryan 我现在对 spring 注入很清楚了,只是想问一下,如果不更改变压器中的代码,是否还有其他方法可以做到这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    相关资源
    最近更新 更多