首页 文章

在rocketmq中标记碰撞

提问于
浏览
0

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

P.S . :我的RocketMQ版本是:4.2.0-incubating-SNAPSHOT

1 回答

  • 0

    int的哈希码本身就是(source),因此 tagsCode.intValue() 的哈希码就是它自己 . 因此,只要每个代码首先具有唯一的int值,就不会有hashcode冲突 .

相关问题