问题在于insert查询,只有两个步骤: 1)从table1中选择值;2)在table2中插入这些值。
此处#map-有效载荷:ID在jdbc中工作得很好,但在jdbc 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>发布于 2015-07-07 23:16:11
不要使用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>https://stackoverflow.com/questions/31280839
复制相似问题