首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rocketmq中的标签冲突

rocketmq中的标签冲突
EN

Stack Overflow用户
提问于 2017-11-14 15:50:58
回答 1查看 45关注 0票数 0

RocketMQ支持按标签过滤,其中我深入研究了代理的源代码。代理似乎做了以下比较:org.apache.rocketmq.broker.filter.ExpressionMessageFilter#isMatchedByConsumeQueue中的subscriptionData.getCodeSet().contains(tagsCode.intValue());。所以我想知道是否有可能两个标签有相同的哈希码,如果发生这种情况,一些消息将不会被过滤?我在Broker中找不到任何比较实际标记字符串的代码,我是不是遗漏了什么?

附言:我的RocketMQ版本是:4.2.0-孵化-快照

EN

回答 1

Stack Overflow用户

发布于 2018-08-22 03:18:43

整数的哈希码是它自己(source),所以tagsCode.intValue()的哈希码就是它自己。因此,只要每个代码在一开始就有一个唯一的int值,就不会有哈希码冲突。

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

https://stackoverflow.com/questions/47280322

复制
相关文章

相似问题

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