java - 如何将相同的有效载荷发送到 mule 中的多个组件?

标签 java spring mule mule-studio

我遇到一个问题,其中一个 mule 组件将有效负载对象转换为其他一些值。例如:假设我的有效载荷包含学生对象。 学生姓名初值=a;

我的第一个 mule 组件将学生姓名更改为 x;

Student s=new Student();
s.setName("x");

我的第二个 mule 组件从负载中接收名称为 X。但我想要原始值作为 'a'。 我尝试检查 mule 的原始有效负载,但该值也已更改..

<flow .....
   <component> </component> // 1st component
    <component></component> //2nd component
</flow>

我想在两个组件中使用相同的有效载荷(原始)(名称为 a 的学生对象)..我该怎么做? 我已经检查了原始有效负载并且已经转换..

谢谢

最佳答案

您可以使用 <all>将相同的有效负载发送到不同的组件,如

<flow .....
   <all>
       <component> </component> // 1st component
       <component></component> //2nd component
   </all>
</flow>

或者,处理相同事情的另一种方法是将原始有效载荷存储在一个变量中,然后用之前的有效载荷替换有效载荷,例如:

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

然后,

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

关于java - 如何将相同的有效载荷发送到 mule 中的多个组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16546123/

相关文章:

error-handling - m子流的错误通知

java - 为什么从 MEL 访问 ArrayList 的大小时会出现运行时异常?

java - xpath 第一个可用值

java - logback FileAppender -> AsyncAppender 刷新信号

Java Hibernate 错误 - 类未映射

Java Spring App - RequestParam 映射为我自己的对象

java - 设置新配置后如何更新所有 Spring 对象?

java - Counter HashMap 删除较少的计数器值

java - 删除覆盖方法中的抛出,编译器在调用时需要一个 try/catch block

java - Mule - Web 应用程序和 Mule ESB 之间的通信