Mule 拆分-转换-聚合

Mule 拆分-转换-聚合,mule,Mule,我正在尝试使用twitter连接器编写测试应用程序。 接下来是流程: 负载转发 这里我得到了一个转发列表,我想一个一个地转换它们。我正在为每个使用,但之前我使用了集合拆分器 我的理解是,在foreach块之外,我应该已经转换了有效载荷,但在这里,我得到了与开始时相同的结果 以下是我的流程: <flow name="twits"> <http:listener config-ref="HTTP_Listener_Configuration" path="/twits" d

我正在尝试使用twitter连接器编写测试应用程序。 接下来是流程:

  • 负载转发
  • 这里我得到了一个转发列表,我想一个一个地转换它们。我正在为每个使用,但之前我使用了集合拆分器
  • 我的理解是,在foreach块之外,我应该已经转换了有效载荷,但在这里,我得到了与开始时相同的结果
  • 以下是我的流程:

    <flow name="twits">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/twits" doc:name="HTTP"/>
        <twitter:get-retweets statusId="111111111111" config-ref="Twitter" doc:name="Twitter"/>
        <foreach>
            <transformer ref="ReTwitTransformer"/>
        </foreach>
        <json:object-to-json-transformer doc:name="Object to JSON"/>
    </flow>
    
    
    
    所以问题是,在第3步中,我无法将转换后的数据设置为消息负载。我已经尝试使用设置有效负载,但没有成功。

    在处理每个元素后返回原始消息。您的转换将不会被保留

    在这种情况下,您可以尝试使用模块(EE)或使用之前尝试过的(CE)

    另外,我注意到您正在使用HTTP侦听器启动。如果您确实需要将转换后的转发集合作为HTTP响应返回,则必须添加更多内容:

    如果使用批处理模块,则需要将其与路由器配对,以便同步返回成功记录的收集。只需为请求放置一个虚拟机入站端点,并为回复放置一个虚拟机入站端点。然后,只需在完成步骤的批处理中放置一个VM出站端点


    如果使用集合拆分器,则在转换发生后需要一个集合拆分器。您可以等到聚合后再执行对象到json转换器。

    Hi,谢谢您的回答。还有一个关于集合拆分器的问题。当我使用它时,我得到了一些错误,唯一帮助我的是阻塞。那么,我应该在流的末尾使用集合聚合器吗?我认为异步是不必要的。错误是什么?哦,你完全正确,它在没有异步的情况下工作,但是使用了拆分器-聚合器的组合。谢谢,非常感谢:)