【发布时间】:2014-10-01 16:26:00
【问题描述】:
我正在使用 mule 中的分散聚集来聚合两个有效负载。但问题是有时其中一个有效负载不包含任何值,那么聚合有效负载看起来像:
[{postalCode=7560, addressLine4=-1}, {NullPayload}]
如何删除空有效负载。或者我如何将聚合设置为仅在两个有效负载都包含值时聚合。
这是我的分散收集:
<scatter-gather doc:name="Scatter-Gather">
<processor-chain>
<http:outbound-endpoint exchange-pattern="request-response"
method="GET"
address="http://localhost:8080/service/address/postal/#[sessionVars['entityId']]"
doc:name="HTTP" />
<data-mapper:transform config-ref="JSON_To_Map_1"
doc:name="JSON To Map" />
</processor-chain>
<processor-chain>
<http:outbound-endpoint exchange-pattern="request-response"
method="GET"
address="http://localhost:8080/service/address/email/#[sessionVars['entityId']]"
doc:name="HTTP" />
<data-mapper:transform config-ref="JSON_To_Map"
doc:name="JSON To Map" />
</processor-chain>
</scatter-gather>
所以基本上它的两个服务返回邮政地址和电子邮件地址。但有时没有电子邮件地址。那么有效载荷必须只包含邮政地址,而不是带有空有效载荷的邮政地址。
【问题讨论】:
-
能否请您发布您的完整配置,以便提出建议
-
如果有效负载之一为空,您希望聚合器做什么?
-
您好,感谢您的回复。我已经添加了我的配置
标签: mule aggregation