在mule中过滤消息

时间:2016-02-24 03:03:34

标签: filter mule

我想通过某些消息来完成逻辑, 假设if(flowVars.status == x或flowVars.status == y),则不应传递它。 任何想法我如何在过滤器或任何其他组件的mule中实现这个

2 个答案:

答案 0 :(得分:1)

您可以使用表达式过滤器。

<expression-filter expression="#[!(flowVars['status'] == 'X' || flowVars['status'] == 'Y')]" doc:name="Do not Process status of X and Y"/>

答案 1 :(得分:0)

您也可以使用Choice Connector,根据状态值,它将遵循默认路径或跳过它。

 <choice doc:name="Choice">
            <when expression="flowVars.status=='x' || flowVars.name=='y'">
                <logger message="#['Condition Matched , Skipping the processing']" level="INFO" doc:name="Logger"/>
            </when>
            <otherwise>
                <logger message="#['Default condition']" level="INFO" doc:name="Logger"/>
            </otherwise>
        </choice>