RabbitMq:动态创建队列

Rah*_*hul 6 jms message-queue rabbitmq rabbitmq-exchange

我有一个场景,我想使用特定的路由键将一些消息发布到rabbitmq-exchange,例如.ABC

问题是可能已经存在任何已使用路由密钥"abc"绑定的队列,或者可能没有.这种情况的行为似乎是丢弃该消息,或者如果配置了死信交换,它将被路由到死信交换.

我想动态创建一个与路由密钥同名的队列,即"abc",如果该路由密钥没有队列,而不是丢弃或发送到DLX.

有没有任何已知的方法来做同样的事情?

Gee*_*ick 3

根据我的研究,我不知道如何配置服务器端来动态创建队列。但是,您可以在客户端执行此操作以达到相同的效果:

ReturnListener在通道上实现 a以侦听不可路由的消息。请参阅本页上的“处理不可路由消息”部分的示例:

https://www.rabbitmq.com/api-guide.html

然后,您可以使用传递到处理程序的和方法routingKey来创建具有相同名称的队列(有关示例,请参阅同一链接上的“使用交换器和队列”)。queueDeclare()queueBind()