出现这个问题是因为多次在代码里改变了routingkey的范围,每次更改都会在RabbitMQ中添加范围,但代码修改后,该范围仍然存在。例如channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "routekey.*");
运行后RabbitMQ会绑定这个routingkey,当修改代码为channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "routekey.bin.*");
后运行,此时RabbitMQ会同时绑定两个routingkey。
解决方案:去RabbitMQ控制页面Exchange里bindings里的绑定删掉,重新运行即可