我们如何访问 mule EE jdbc-ee 查询中的有效载荷值?

How can we access payload value in mule EE jdbc-ee query?

问题出在插入查询上,只有两个步骤 1) select 来自表 1 的值 2) 将这些值插入表 2。

此处#[map-payload:ID] 在 jdbc mule CE 中工作正常,但在 jdbc-ee mule EE 中却不行。

下面是我的代码,

<flow name="allflows_dev_eeFlow">
    <poll doc:name="Poll">
        <fixed-frequency-scheduler frequency="3000"/>
        <db:select config-ref="Generic_Database_Configuration" doc:name="Database1">
            <db:parameterized-query><![CDATA[SELECT * from table1]]></db:parameterized-query>
        </db:select>
    </poll>
    <db:insert config-ref="Generic_Database_Configuration" doc:name="EBS Database">
        <db:parameterized-query><![CDATA[INSERT INTO table2 (ID, Company, Status) VALUES (#[map-payload:ID], #[map-payload:Company], #[map-payload:Status])]]></db:parameterized-query>
    </db:insert>
    <logger message="Order1  #[payload[0].ID]  #[map-payload:ID]" level="INFO" doc:name="Logger"/>
</flow>

不要使用 map-payload::它是旧的且已弃用的表达式求值语言。改用 MEL,即:

<db:parameterized-query><![CDATA[INSERT INTO table2 (ID, Company, Status)
VALUES (#[message.payload[0].ID], #[message.payload[0].Company], #[message.payload[0].Status])]]>
</db:parameterized-query>