消息提供者发送消息时会携带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管理界面
之前消费者这块绑定过test.#,后来代码改成test4.#后,还需要在rabbitmq这个界面把之前的绑定的test.# unbind。要不之前的还会生效,造成了以为 test.# 也能收到消息。