ForEach vs Splitter ter子

此示例应用程序将显示Mule版本3.x中的Foreach和splitter之间的区别。 集合拆分器拆分传入的集合对象,然后必须放置一个聚合器来收集生成的对象。 对于每个作用域来说,是一个不会更改有效负载的作用域,并且对于每个循环完成一次,您都会获得相同的集合对象。

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:vm="http://www.mulesoft.org/schema/mule/vm" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
 xmlns:spring="http://www.springframework.org/schema/beans" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/current/mule-vm.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd">
    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
    <flow name="foreachtestFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/test" allowedMethods="GET" doc:name="HTTP"/>
        <component class="foreachexample.CollectionPayloadComponent" doc:name="Java"/>
        <!-- <foreach doc:name="For Each">
         <choice doc:name="Choice">
         <when expression="#[payload == 'foreach']">
          <set-session-variable value="foreachVar" variableName="test" doc:name="Session Variable"></set-session-variable>
         </when>
         <otherwise>
          <set-session-variable value="BBQVar" variableName="test" doc:name="Session Variable"></set-session-variable>
         </otherwise>
        </choice>
         <flow-ref name="flow3" doc:name="Flow Reference"/>
        </foreach> -->
        <collection-splitter />
        <logger message="payload is : #[payload]" level="ERROR"/>
        <choice>
         <when expression="#[payload == 'foreach']">
          <set-session-variable value="foreachVar" variableName="test"></set-session-variable>
         </when>
         <otherwise> 
          <set-session-variable value="BBQVar" variableName="test"></set-session-variable>
         </otherwise>
        </choice> 
        <flow-ref name="flow3" />
   <set-payload value="dsadasd"/>        
    </flow>
    
    <flow name="flow2">
        <vm:inbound-endpoint path="foreach" doc:name="VM"/>
        <logger message=" session var value is #[sessionVars.test] and payload is #[payload]" level="ERROR" doc:name="Logger"/>
    </flow>

 <flow name="flow3">
        <vm:outbound-endpoint path="foreach" doc:name="VM"/>
    </flow>
    
</mule>

发表您的意见和建议。

翻译自: https://www.javacodegeeks.com/2019/12/foreach-vs-splitter-in-mule.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值