Mule:我们可以使用message属性组件从地图中删除多个键

时间:2016-02-16 10:30:41

标签: mule

<message-properties-transformer doc:name="Message Properties" scope="outbound">
    <delete-message-property key="#[payload.remove('5F2A')]"/>
    <delete-message-property key="#[message.outboundProperties.remove('9F37')]"/>
</message-properties-transformer>

请在mule中建议一种方法,我可以删除多个密钥,其中有效负载是Map类型

2 个答案:

答案 0 :(得分:0)

您可以使用变换器或组件删除所需的键:

以下是使用变压器的示例:

@Override
public Object transformMessage(MuleMessage message, String outputEncoding)
        throws TransformerException {
    message.removeProperty("5F2A", PropertyScope.OUTBOUND);

}

答案 1 :(得分:0)

或者,如果您使用的是Mule运行时的企业版,则可以通过Message Transformer组件中的DataWeave脚本从Map有效内容中删除多个属性,如以下代码段所示:

...
<dw:transform-message doc:name="Transform Message">
  <dw:input-payload mimeType="application/java"/>
  <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
payload mapObject {
  ($$): ($)
} - "5F2A" - "9F37"]]></dw:set-payload>
</dw:transform-message>
...