Spring integration Spring Integration DSL:根据消息负载向多个订阅者(而不是所有订阅者)发送消息

Spring integration Spring Integration DSL:根据消息负载向多个订阅者(而不是所有订阅者)发送消息,spring-integration,spring-integration-dsl,Spring Integration,Spring Integration Dsl,我必须创建一个管道来向多个订阅者发送消息,我可以使用publishSubscribeChannel实现这一点 但在我的例子中,当我收到消息时,我有一个eventSubType,如 <ns1:eventSubType>0:INIT-SHIP-ASSIGN,BKD,</ns1:eventSubType> 0:INIT-SHIP-ASSIGN,BKD, 我必须检查eventSubType是否包含INIT-SHIP-ASSIGN,然后将其路由到“INIT-SHIP-ASSIG

我必须创建一个管道来向多个订阅者发送消息,我可以使用publishSubscribeChannel实现这一点

但在我的例子中,当我收到消息时,我有一个eventSubType,如

<ns1:eventSubType>0:INIT-SHIP-ASSIGN,BKD,</ns1:eventSubType>
0:INIT-SHIP-ASSIGN,BKD,
我必须检查eventSubType是否包含INIT-SHIP-ASSIGN,然后将其路由到“INIT-SHIP-ASSIGN”频道,如果是“BKD”,则必须将其路由到“Booked”频道。类似地,我们还有其他EventSubtype

我的挑战是-我有5种不同的子类型,在每条消息中我们可以有多个子类型。因此,根据消息中可用的事件子类型(可以超过1),我们必须将消息发送给多个订阅者,而不是所有订阅者

请建议改用a

.routeToRecipients(r->r
.recipient(“thing1通道”,“thing1'==有效负载”)
.recipientMessageSelector(“thing2频道”,m->
m、 getHeaders().containsKey(“收件人”)
&&(布尔值)m.getHeaders().get(“收件人”))
...
改用a

.routeToRecipients(r->r
.recipient(“thing1通道”,“thing1'==有效负载”)
.recipientMessageSelector(“thing2频道”,m->
m、 getHeaders().containsKey(“收件人”)
&&(布尔值)m.getHeaders().get(“收件人”))
...