Mule:如何将 Java/Spring bean 的方法调用结果分配给流变量
Mule: how to assign a Java/Spring bean's method call result to a flow variable
我是 Mule 新手。我知道我可以在 Mule 流配置中包含 "Java" 或 "Invoke" 组件。我的问题是:如何将 Java 方法调用返回的值分配给 Mule 流变量?前任。像
<spring-bean name="myBean" .... />
<invoke object-ref="myBean" method="addTwoNumbers" methodArguments="#[var1], #[var2]" methodArgumentTypes="java.lang.Float, java.lang.Float" name="someName" doc:name="Invoke"/>
<set-variable variableName="addResult" value="???????" />
我需要 "addResult" var 具有上一次调用结果的值,但是如何?
谢谢!
spring bean 的结果将是有效负载,因此您可以这样设置它:
<set-variable variableName="addResult" value="#[payload]" />
但是,如果您不想覆盖现有的负载,您可以使用 enricher
:
<enricher target="#[flowVars.addResult]">
<invoke object-ref="myBean" method="addTwoNumbers" methodArguments="#[var1], #[var2]" methodArgumentTypes="java.lang.Float, java.lang.Float" name="someName" doc:name="Invoke"/>
</enricher>
我是 Mule 新手。我知道我可以在 Mule 流配置中包含 "Java" 或 "Invoke" 组件。我的问题是:如何将 Java 方法调用返回的值分配给 Mule 流变量?前任。像
<spring-bean name="myBean" .... />
<invoke object-ref="myBean" method="addTwoNumbers" methodArguments="#[var1], #[var2]" methodArgumentTypes="java.lang.Float, java.lang.Float" name="someName" doc:name="Invoke"/>
<set-variable variableName="addResult" value="???????" />
我需要 "addResult" var 具有上一次调用结果的值,但是如何?
谢谢!
spring bean 的结果将是有效负载,因此您可以这样设置它:
<set-variable variableName="addResult" value="#[payload]" />
但是,如果您不想覆盖现有的负载,您可以使用 enricher
:
<enricher target="#[flowVars.addResult]">
<invoke object-ref="myBean" method="addTwoNumbers" methodArguments="#[var1], #[var2]" methodArgumentTypes="java.lang.Float, java.lang.Float" name="someName" doc:name="Invoke"/>
</enricher>