通过Mule中的分散 - 聚集流控制时,是否会删除出站属性?

时间:2015-06-18 23:18:05

标签: mule mule-studio

我尝试在使用scatter-gather之前设置一个出站属性,然后将每个消息的副本发送到for循环,该循环打破了集合并通过vm队列发送对象。我想在后续流程中使用outbound属性,当然,作为inound属性,但我的属性甚至没有超过scatter-gather。这大致是我的流程:

<flow name="ProcessPage">
    <vm:inbound-endpoint path="processPage" exchange-pattern="one-way" doc:name="processPage" />
    <message-properties-transformer doc:name="set parentId (e.g. Facebook Page or Group Id)">
        <add-message-property key="parentId" value="#[payload.get('fbAggregatorSource').get('id')]"/>
    </message-properties-transformer>
     <component doc:name="GetPagePostsAndEvents">
        <spring-object bean="pageService"/>
     </component>
    <scatter-gather doc:name="Scatter-Gather">
    <foreach collection="#[payload.get('posts')]" doc:name="For Each">
        <vm:outbound-endpoint exchange-pattern="one-way" path="processPost" doc:name="processPost"/>
    </foreach>
    <foreach collection="#[payload.get('events')]" doc:name="For Each">
        <vm:outbound-endpoint exchange-pattern="one-way" path="processEvent" doc:name="processEvent"/>
    </foreach>
    </scatter-gather>
</flow>
<flow name="TransformPostToActivity">
    <vm:inbound-endpoint path="processPost" exchange-pattern="one-way" doc:name="transformPostToActivity" />

... Does more stuff ....    
</flow>

2 个答案:

答案 0 :(得分:1)

出站属性不会传递彻底和出站端点。此时,出站属性用于执行请求,响应头的任何内容都将成为端点之后的入站属性。

如果您打算在整个流程中保留属性,请使用流量变量。

答案 1 :(得分:0)

默认情况下,出站属性将成为特定于传输的请求标头。

Scatter Gather会播放你的信息,所以你应该能够看到 Vm出站端点的出站属性