我需要一个基本的 Mule 流程,以便从一个数据库中选择行、转换负载并调用另一个数据库中的过程。我不想使用 DataMapper 组件,我想使用 Java Transformer。
我的 XML 流程:
<set-variable variableName="currentOrder" value="#[payload.increment_id]" doc:name="Variable"/>
<db:select config-ref="MySQL_Configuration" doc:name="GET ORDER">
<db:parameterized-query><![CDATA[select id from sales where id=#[currentOrder]]]></db:parameterized-query>
</db:select>
<custom-transformer class="com.mycompany.transformers.TargerProc" doc:name="Java"/>
<db:stored-procedure config-ref="Oracle_Configuration" doc:name="PROC1">
<db:parameterized-query><![CDATA[call proc1(:P1,:P2)]]></db:parameterized-query>
<db:in-param name="P1" type="NUMERIC" value="#[payload.id]"/>
<db:out-param name="P2" type="NUMERIC" value=""/>
</db:stored-procedure>
第一个问题:
Message payload is of type: CaseInsensitiveHashMap
有人可以解释一下吗?我认为实现这一目标非常简单。
提前致谢!
最佳答案
试试这个 <db:parameterized-query>{ call proc1(:P1,:P2) }</db:parameterized-query>
:-
<set-variable variableName="currentOrder" value="#[payload.increment_id]" doc:name="Variable"/>
<db:select config-ref="MySQL_Configuration" doc:name="GET ORDER">
<db:parameterized-query><![CDATA[select id from sales where id=#[currentOrder]]]></db:parameterized-query>
</db:select>
<custom-transformer class="com.mycompany.transformers.TargerProc" doc:name="Java"/>
<db:stored-procedure config-ref="Oracle_Configuration" doc:name="PROC1">
<db:parameterized-query>{ call proc1(:P1,:P2) }</db:parameterized-query>
<db:in-param name="P1" type="NUMERIC" value="#[payload.id]"/>
<db:out-param name="P2" type="NUMERIC" value=""/>
</db:stored-procedure>
关于java - Mule 数据库组件 来自另一个数据库查询的输入负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26384468/