Mule:将原始消息返回到flow(与每个消息相同)

Mule:将原始消息返回到flow(与每个消息相同),mule,mule-component,anypoint-studio,Mule,Mule Component,Anypoint Studio,在每个介绍中,我们都有:“Foreach作用域将集合拆分为元素,并通过嵌入在作用域中的处理器迭代处理它们,然后将原始消息返回到流。” 我想知道我们是否有一个表单将原始消息返回到流中,而在流的中间,我们有一个处理新消息(有效负载)的流程,类似于每个工作,但这不是每个工作都要使用的情况 例如: 流量(有效负载AA)->[“子”流量(有效负载BB)]->流量(有效负载AA) 是否有一种形式可以做到这一点?最简单的方法是使用一个enricher,将子流的结果存储在flowVar中,以便不修改原始有效负载

在每个介绍中,我们都有:“Foreach作用域将集合拆分为元素,并通过嵌入在作用域中的处理器迭代处理它们,然后将原始消息返回到流。”

我想知道我们是否有一个表单将原始消息返回到流中,而在流的中间,我们有一个处理新消息(有效负载)的流程,类似于每个工作,但这不是每个工作都要使用的情况

例如:

流量(有效负载AA)->[“子”流量(有效负载BB)]->流量(有效负载AA)


是否有一种形式可以做到这一点?

最简单的方法是使用一个enricher,将
子流的结果存储在flowVar中,以便不修改原始有效负载:

<enricher target="#[flowVars.someSubFlowResult]">
 <flow-ref name="mySubFlow" />
</enricher>

或者,在输入流量时手动将原始有效负载存储到流量变量中,并在流量结束时使用流量变量将有效负载设置回原始有效负载。例如:

<set-variable variableName="originalPayload" value="#[payload]" />

<!-- do some other processing -->

<set-payload value="#[flowVars.originalPayload]" />

最简单的方法是使用一个enricher,该enricher将
子流的结果存储在flowVar中,以便不修改原始有效负载:

<enricher target="#[flowVars.someSubFlowResult]">
 <flow-ref name="mySubFlow" />
</enricher>

或者,在输入流量时手动将原始有效负载存储到流量变量中,并在流量结束时使用流量变量将有效负载设置回原始有效负载。例如:

<set-variable variableName="originalPayload" value="#[payload]" />

<!-- do some other processing -->

<set-payload value="#[flowVars.originalPayload]" />