选择异常策略和保留有效载荷
Choice Exception Strategy and Preserving Payload
我希望能够在 Mule 中使用选择异常策略。但是,我希望能够在流中保留原始负载。这样我就可以将有效负载和一些属性传递给另一个流,下面是我尝试这样做的尝试。这是合法的做法吗?是否会保留 属性 以便我可以从另一端的 vm dlq 检索?
<flow name="myFlow">
<vm:inbound-endpoint path="requests"/>
<set-variable variableName="originalPayload" value="#[payload]"/>
<catch-exception-strategy when="#
[exception.causedBy(java.lang.IllegalArgumentException)]">
<set-payload value="#[flowVars['originalPayload']"/>
<set-property propertyName="props" value="">
<vm:outbound-endpoint path="dlq"/>
</catch-exception-strategy>
<catch-exception-strategy when="#
[exception.causedBy(java.lang.IllegalStateException)]">
<set-payload value="#[flowVars['originalPayload']"/>
<set-property propertyName="props" value="....">
<vm:outbound-endpoint path="dlq"/>
</catch-exception-strategy>
</choice-exception-strategy>
您的案例似乎有效,但如果您希望 property/field 在传输端点中可访问,则它应该是出站 属性。
我希望能够在 Mule 中使用选择异常策略。但是,我希望能够在流中保留原始负载。这样我就可以将有效负载和一些属性传递给另一个流,下面是我尝试这样做的尝试。这是合法的做法吗?是否会保留 属性 以便我可以从另一端的 vm dlq 检索?
<flow name="myFlow">
<vm:inbound-endpoint path="requests"/>
<set-variable variableName="originalPayload" value="#[payload]"/>
<catch-exception-strategy when="#
[exception.causedBy(java.lang.IllegalArgumentException)]">
<set-payload value="#[flowVars['originalPayload']"/>
<set-property propertyName="props" value="">
<vm:outbound-endpoint path="dlq"/>
</catch-exception-strategy>
<catch-exception-strategy when="#
[exception.causedBy(java.lang.IllegalStateException)]">
<set-payload value="#[flowVars['originalPayload']"/>
<set-property propertyName="props" value="....">
<vm:outbound-endpoint path="dlq"/>
</catch-exception-strategy>
</choice-exception-strategy>
您的案例似乎有效,但如果您希望 property/field 在传输端点中可访问,则它应该是出站 属性。