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

时间:2015-07-07 23:00:33

标签: mule mule-studio mule-component

问题在于插入查询,只有两个步骤1)从table1中选择值2)在table2中插入这些值。

这里#[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>

1 个答案:

答案 0 :(得分:0)

不要使用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>