有没有办法用连接器做到这一点?
答案 0 :(得分:2)
不确定你要做什么,但......
要更改消息的有效负载,有几种方法可以简单地使用MEL表达式。 假设你的有效载荷是一张地图(因为你说你从数据库中取出它)然后你就可以这样做:
<expression-transformer expression="#[payload['avalability']='your value']"
现在你说你希望这个值为真,那么代码应该是这样的:
<expression-transformer expression="#[payload['avalability']=true]
MEL会在那里给你一个布尔值。
最后要更新数据库,你应该:
<db:update config-ref="Database" bulkMode="true" doc:name="insert contacts to Database">
<db:parameterized-query>
UPDATE books
SET 'avalability' = #[payload['avalability']]
WHERE 'isbn'= #[payload['isbn']]
</db:parameterized-query>
</db:update>
如果您想了解有关使用DB的更多示例,请检查:
https://www.mulesoft.com/library#!/?types=template&filters=Database
答案 1 :(得分:2)
您可以使用以下方式动态设置propertyName
:
#[message.outboundProperties.propertyName]=any value