rabbitMq中使用topic进行消息传递时,设置routingkey失效问题

消息提供者发送消息时会携带routingKey。
消息消费者接收消息时会接收事前设置好的routingkey进行接收。

发送消息:

 String routingKey="test"+".test22"+".test3";
 rabbitTemplate.convertAndSend(TopicCallbackConfig.EXCHANGE,routingKey,
                message, correlationData);

接收消息设置绑定的routingkey:

@Bean
    public Binding getCallbackBinding() {
        return BindingBuilder.bind(callbackQueue()).to(topicExchange).with("test4.#");
    }

但是消息消费者居然接收到了消息!!!
后来看了下rabbitMq管理界面

rabbitMq中使用topic进行消息传递时,设置routingkey失效问题_第1张图片
之前消费者这块绑定过test.#,后来代码改成test4.#后,还需要在rabbitmq这个界面把之前的绑定的test.# unbind。要不之前的还会生效,造成了以为 test.# 也能收到消息。

你可能感兴趣的:(java,java,后端)