在骡子的流动,我需要的最后两个参数从输入字符串消息比较骡子选择比较
2012-04-30,2012-05-30,1,5
而且如果param1(1) <= param2(5)
,我需要执行jms:outbound-endpoint
。
有没有一个标准的选择元素来做到这一点?你能举个例子吗?在使用
在骡子的流动,我需要的最后两个参数从输入字符串消息比较骡子选择比较
2012-04-30,2012-05-30,1,5
而且如果param1(1) <= param2(5)
,我需要执行jms:outbound-endpoint
。
有没有一个标准的选择元素来做到这一点?你能举个例子吗?在使用
骡子3.2.x中你最好的选择是使用常规评估和使用如下所示
<when expression="#[groovy:payload.split(',')[2] <= payload.split(',')[3] ]">
<processor-chain>
<jms:outbound-endpoint queue="out" doc:name="JMS"/>
</processor-chain>
</when>
否则,如果你愿意升级到骡子选择路由器3.3.0可以充分利用新Mule Expression Language允许这样做,而不需要在常规操作的
你可以利用新的骡子表达式语言,它允许做同样的,而不需要在常规运营商的优势
你不必使用Groovy这样做的比较逻辑。你可以直接在有效载荷上应用split()函数。
<when expression="#[payload.split(',')[2]<=payload.split(',')[3]]">
<processor-chain doc:name="Processor Chain">
<jms:outbound-endpoint queue="data" connector-ref="Active_MQ"doc:name="JMS"/>
</processor-chain>
</when>
除了表达式过滤器,您还可以使用选择性流量控制。捕获流量比较中的2个值,并在选择流量控制条件时使用以下表达式。
给予下面的链接的详细信息。
https://docs.mulesoft.com/mule-user-guide/v/3.7/choice-flow-control-reference
你正在使用哪个版本的mule? – genjosanzo 2012-07-07 07:48:18
@genjosanzo我已经使用版本=“CE-3.2.1” – IgorOK 2012-07-07 09:52:38