我希望能够在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>
答案 0 :(得分:0)
您的案例似乎有效,但如果您希望在传输端点中可以访问属性/字段,那么它应该是一个出站属性。