选择异常策略和保留有效载荷

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 在传输端点中可访问,则它应该是出站 属性。