Rabbitmq-到单个队列的多个绑定(路由密钥)

Rabbitmq-到单个队列的多个绑定(路由密钥),rabbitmq,Rabbitmq,我需要多个路由密钥绑定队列的引用。请 你看,我创建了一个队列,并用 channel.queuebind() 又一次和你在一起 channel.queuebind() 直到我在同一队列上得到这两个绑定。 但在发布时-仅成功传输了第一条绑定消息。 (我甚至更换了订单,但仍然-只有第一个订单。所以我的发布还可以) 我没有做的是用新订户定义channel.basicConsumer。 我应该这样做吗?我希望旧的潜水艇能收到更多的信息。我做错了什么 这是我的队列列表,它是 您可以看到amq.ge

我需要多个路由密钥绑定队列的引用。请
你看,我创建了一个队列,并用

  channel.queuebind()
又一次和你在一起

 channel.queuebind()
直到我在同一队列上得到这两个绑定。
但在发布时-仅成功传输了第一条绑定消息。
(我甚至更换了订单,但仍然-只有第一个订单。所以我的发布还可以)

我没有做的是用新订户定义channel.basicConsumer。
我应该这样做吗?我希望旧的潜水艇能收到更多的信息。我做错了什么

这是我的队列列表,它是
您可以看到amq.gen-4ae4QUbSNevC/RgM+8C9CA==绑定到两个键

但信息只传递到第一个键

 Listing queues ...
 amq.gen-4ae4QUbSNevC/RgM+8C9CA==        0
 amq.gen-sgZK0bSc0W3QEXda8m1vIQ==        0
 PositionsQueue  1
...done.

rabbitmqctl.bat list_bindings

Listing bindings ...
    exchange        PositionsQueue  queue   PositionsQueue  []
    exchange        amq.gen-4ae4QUbSNevC/RgM+8C9CA==        queue   amq.gen-4ae4QUbSNevC/RgM+8C9CA==
    exchange        amq.gen-sgZK0bSc0W3QEXda8m1vIQ==        queue   amq.gen-    sgZK0bSc0W3QEXda8m1vIQ==
    Positions_Exchange      exchange        amq.gen-4ae4QUbSNevC/RgM+8C9CA==        queue   Account:Account1
    Positions_Exchange      exchange        amq.gen-4ae4QUbSNevC/RgM+8C9CA==        queue   Portfolio:Portfolio1
...done.
10倍多

编辑:

制作人

    channel.basicPublish(exchangeName, routingKey, MessageProperties.MINIMAL_BASIC, messageBodyBytes);
消费者

channel.exchangeDeclare(exchangeName, "direct", durable);
QueueName = channel.queueDeclare(queueName, durable, exclusive, autoDelete, arguments).getQueue();
channel.queueBind(queueName, exchangeName, routingKey);

boolean noAck = false;
queueingConsumer = new QueueingConsumer(channel);
channel.basicConsume(queueName, noAck, queueingConsumer);

你可以这样做:

queueBind(queueName,exchangeName,“k1”)//k1是第一个路由密钥

queueBind(queueName,exchangeName,“k2”)//k2是第二个路由密钥