【问题标题】:How to choice route by expression value in Mule ESB如何在 Mule ESB 中通过表达式值选择路由
【发布时间】:2012-01-26 23:44:07
【问题描述】:

我是 MULE 开发的新手。我想选择一个具有 3 个参数(整数、日期、日期)的方法。在这种情况下如何表达。

这是我到目前为止所做的。

<component class="Sample" />
        <choice>
            <when expression="????????????"evaluator="groovy">
                <vm:outbound-endpoint path="internal queue" exchange-pattern="request-response"/>
            </when>
            <when expression="payload instanceof java.lang.Exception" evaluator="groovy">
                <vm:outbound-endpoint path="userErrorHandler" exchange-pattern="request-response"/>
            </when>
        </choice>

提前致谢

【问题讨论】:

    标签: esb


    【解决方案1】:

    你可以在 when 表达式中做 expression="payload.field == somevalue"。

    如果没有&lt;otherwise&gt; 我知道,这个选择也不会起作用!!!

    所以如下使用

    <choice>
       <when expression="payload.field == somevalue" evaluator="groovy">
         <vm:outbound-endpoint path="internal queue" exchange-pattern="request-response"/>
       </when>
       <otherwise>
       </otherwise>
    </choice>
    

    或者你可以使用

    <message-filter>
    

    【讨论】:

    • 根据 v3.3 documentation,您可以关闭 else 标记(如果没有任何选项匹配,则会抛出异常)——不确定这是否有所不同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多