我必须创建一个管道来向多个订阅者发送消息,我可以使用publishSubscribeChannel实现这一点。
但是对于我来说,当我收到消息时-我有一个eventSubType,如
<ns1:eventSubType>0:INIT-SHIP-ASSIGN,BKD,</ns1:eventSubType>
我必须检查eventSubType是否包含INIT-SHIP-ASSIGN,然后将其路由到“ INIT-SHIP-ASSIGN”通道,如果它的“ BKD”,则必须将其路由到“ Booked”通道。同样,我们还有其他eventSubTypes。
我的挑战是-我有5个不同的子类型,在每封邮件中我们可以有多个子类型。因此,基于消息中可用的事件子类型(可以超过1个),我们必须将消息发送给多个订阅者,而不是发送给所有订阅者。
请建议
.routeToRecipients(r -> r
.recipient("thing1-channel", "'thing1' == payload")
.recipientMessageSelector("thing2-channel", m ->
m.getHeaders().containsKey("recipient")
&& (boolean) m.getHeaders().get("recipient"))
...