呱呱白 2022-11-09 00:24 采纳率: 50%
浏览 14

RabbitMQ中生产者和消费者的routing Key不同,消费者也能拿到生产者的消息……

这是springboot里面的代码

这是生产者的

class SpringbootRabbitmqApplicationTests {
    @Autowired
    private RabbitTemplate rabbitTemplate;
    @Test
    void contextLoads() throws IOException {
        CorrelationData messageID = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend("boot-topic-exchange","slow.red.dog","红色大狼狗!!",messageID);
        System.in.read();
    }
}

这是消费者的

@Component
public class Consumer {
    @RabbitListener(queues = "boot-queue")
    public void getMessage(Object msg) {
        System.out.println("接收到消息:" + msg);
    }
}

这是一个整合exchange和queue的配置


@Configuration
public class RabbitMQConfig {

    @Bean
    public TopicExchange gteTopicExchange() {
        return new TopicExchange("boot-topic-exchange", true, false);
    }

    @Bean
    public Queue getQueue() {
        return new Queue("boot-queue", true, false, false);
    }

    @Bean
    public Binding getBinding(TopicExchange topicExchange, Queue queue) {
        return BindingBuilder.bind(queue).to(topicExchange).with("quirky.*.*");
    }
}

生产者发送成功

img

消费者也收到了消息

img

这是哪儿的问题,是routing Key设置有问题嘛,还是其他哪儿出现了问题呢
  • 写回答

1条回答 默认 最新

  • 涝山道士 2022-11-14 16:42
    关注

    routeKey是exchange提交生成者消息的时候选择以何种方式提交到工作队列的(根据不同的exchange类型),消费者对这个玩意没意任何感知。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 11月9日

悬赏问题

  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活
  • ¥15 sqlserver中加密的密码字段查询问题
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多
  • ¥15 设计一个温度闭环控制系统
  • ¥100 rtmpose姿态评估