我有一个设置从服务器(NodeJS)向持久队列发送消息,客户端(android app)侦听各自队列中的消息(每个android设备侦听其唯一的相应队列)。
根据RabbitMQ文档,当我们尝试连接到具有空名称的队列(即“”)时,RabbitMQ会生成一个名为“amq.gen-”的随机队列。但是,没有从客户端或服务器代码的位置,我看到我试图连接到一个空名称的队列,但仍然看到很多随机队列生成。
任何人都可以帮助我了解其他方案可能会创建名为“amq.gen - *”的随机队列吗?
答案 0 :(得分:5)
如果要创建具有空白名称的队列,则将生成随机队列名称amq.gen-*
。
如果要使用空白名称连接到队列,则将使用此方法最后在此通道队列名称上声明的方法。如果没有声明队列或者方法不支持空队列名,则会抛出错误。
有关详细信息,请参阅queue.declare
method和domain.queue-name
domain文档。
答案 1 :(得分:0)
RabbitMq生成了随机名称队列(amq.gen- *),如果在应用程序中您将空字符串作为队列名称传递,请检查RabbitMq配置。