Mule 消息拆分器
我需要将一条消息拆分为3个不同的有效负载,然后转换并发送到3个路由器。因此,负载最初将有一个页眉、正文或细节以及一个页脚。这3个不同的有效载荷需要提取并发送到3个不同的路由器。最有效的方法是什么。这取决于您的身体/有效载荷类型。如果有效负载是XML,则可以使用xpath轻松拆分它,并使用基于内容的路由对其进行路由,类似于:Mule 消息拆分器,mule,esb,Mule,Esb,我需要将一条消息拆分为3个不同的有效负载,然后转换并发送到3个路由器。因此,负载最初将有一个页眉、正文或细节以及一个页脚。这3个不同的有效载荷需要提取并发送到3个不同的路由器。最有效的方法是什么。这取决于您的身体/有效载荷类型。如果有效负载是XML,则可以使用xpath轻松拆分它,并使用基于内容的路由对其进行路由,类似于: <splitter expression="#[xpath('//nodes/node)']" /> <choice>
<splitter expression="#[xpath('//nodes/node)']" />
<choice>
<when expression="#[xpath('//node/id').text ='myid']">
<!-- Route somewhere -->
</when>
<otherwise>
<!-- Route somewhere else -->
</otherwise>
</choice>
上面的表达式拆分器可以使用任何MEL表达式拆分负载。还有许多其他拆分器,例如,如果您的负载已经是一个java集合,您只需使用集合拆分器即可
其他拆分器信息可在此处找到:
如果您还需要异步处理消息,还有其他路由器可以帮助您使用fork和join模式。关于这一点,这里有一个好帖子:在最新版本的mule中,这种嵌套选择的splt是否仍然可行?当我尝试上述操作时,会出现与模式相关的错误。