首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Integration DSL :根据消息负载向多个订阅者(不是所有订阅者)发送消息

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

Stack Overflow用户
提问于 2020-05-01 11:15:44
回答 1查看 64关注 0票数 1

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

但是在我的例子中,当我收到消息时--我有一个类似的eventSubType

代码语言:javascript
复制
<ns1:eventSubType>0:INIT-SHIP-ASSIGN,BKD,</ns1:eventSubType>

我必须检查eventSubType是否包含INIT-SHIP-ASSIGN,然后我会将它路由到"INIT-SHIP-ASSIGN“通道,如果它是"BKD”,那么我必须将它路由到"Booked“通道。类似地,我们有其他的eventSubTypes。

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

请给出建议

EN

回答 1

Stack Overflow用户

发布于 2020-05-01 21:16:54

请改用recipient list router

代码语言:javascript
复制
.routeToRecipients(r -> r
        .recipient("thing1-channel", "'thing1' == payload")
        .recipientMessageSelector("thing2-channel", m ->
                m.getHeaders().containsKey("recipient")
                        && (boolean) m.getHeaders().get("recipient"))
        ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61536287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档