首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RabbitMQ主题格式-主题下的子主题

RabbitMQ主题格式-主题下的子主题
EN

Stack Overflow用户
提问于 2017-04-19 12:19:18
回答 1查看 1.3K关注 0票数 0

当我试图以这种格式( /topic/pushing/{organizationId} )推送主题时,我得到了一个错误

代码语言:javascript
复制
messagingTemplate.convertAndSend("/topic/pushing/" + obj.getCustomerid(), obj);

错误:

15:06:48.901反应堆-tcp-io-1错误o.s.m.s.s.StompBrokerRelayMessageHandler -接收错误{message=Invalid目的地,内容-类型=文本/平原,version=1.0,1.1,1.2,内容长度=53} session=system文本/平面有效载荷=‘/推/2963_ent’不是一个有效的主题目的地

但是,当我将它改为/topic/pushing.{organizationId},格式时,用点代替斜杠,效果很好:

代码语言:javascript
复制
messagingTemplate.convertAndSend("/topic/pushing." + obj.getCustomerid(), obj);

是否知道如何保持斜杠/并将副主题放在主题栏下。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-19 18:24:08

关于主题交换,AMQP0.9.1规格有这样的看法:

主题交换类型的工作方式如下: 1.消息队列使用路由模式P.2绑定到交换。发布者发送带有路由键R3的交换消息。如果R匹配P,则消息传递到消息队列。用于主题交换的路由密钥必须由零或多个由点分隔的单词组成。每个单词可能包含字母a和a以及数字0-9. 路由模式遵循与路由键相同的规则,添加*匹配单个单词,#匹配零或多个单词。因此,路由模式*.stock.#匹配路由键usd.stock和eur.stock.db,而不匹配stock.nasdaq。

因此,"/“在路由键中没有授权,使用的分隔符是一个点。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43495565

复制
相关文章

相似问题

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