我尝试在使用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>
答案 0 :(得分:1)
出站属性不会传递彻底和出站端点。此时,出站属性用于执行请求,响应头的任何内容都将成为端点之后的入站属性。
如果您打算在整个流程中保留属性,请使用流量变量。
答案 1 :(得分:0)
默认情况下,出站属性将成为特定于传输的请求标头。
Scatter Gather会播放你的信息,所以你应该能够看到 Vm出站端点的出站属性