Rabbitmq 在Mule中轮询并推送队列中的每条记录后解析多条记录
到目前为止,当我使用查询轮询数据库时,它将在指定的持续时间内获取多条记录。问题是,这些多条记录将作为单个消息推送到队列中。如何将记录集中的每条记录作为单个消息推送到队列中?正如您所解释的,JDBC端点正在获取一组记录,并将它们作为单个消息发送到队列中。解决这个问题的方法有两种Rabbitmq 在Mule中轮询并推送队列中的每条记录后解析多条记录,rabbitmq,mule,amqp,mule-studio,Rabbitmq,Mule,Amqp,Mule Studio,到目前为止,当我使用查询轮询数据库时,它将在指定的持续时间内获取多条记录。问题是,这些多条记录将作为单个消息推送到队列中。如何将记录集中的每条记录作为单个消息推送到队列中?正如您所解释的,JDBC端点正在获取一组记录,并将它们作为单个消息发送到队列中。解决这个问题的方法有两种 为每个消息处理器使用Mule。这有助于遍历集合对象,并将每个项作为一条消息进行处理 使用Mule的集合拆分器迭代记录集合 选项1的解决方案如下图所示 此流的代码如下所示 <flow name="JDBC-For-E
<flow name="JDBC-For-Each-JMS-Flow" >
<jdbc-ee:inbound-endpoint queryKey="SelectAll" mimeType="text/javascript" queryTimeout="500000" pollingFrequency="1000" doc:name="Database">
<jdbc-ee:query key="SelectAll" value="select * from users"/>
</jdbc-ee:inbound-endpoint>
<foreach doc:name="For Each" collection="#[payload]" >
<jms:outbound-endpoint doc:name="JMS"/>
</foreach>
<catch-exception-strategy doc:name="Catch Exception Strategy"/>
</flow>
注:这是一个样本流
希望这有帮助