尽管存在消息,但python rabbitmqadmin list queues命令不会获取消息内容

时间:2017-08-15 13:08:15

标签: java rabbitmq spring-rabbitmq rabbitmqctl rabbitmqadmin

我正在学习rabbitMq,现在我想知道如何记录队列内容。

首先,我想用Google搜索这个问题并了解命令

python rabbitmqadmin list queues

我写过2个独立的应用程序。

发件人:

@Autowired
private AmqpTemplate template;
 ...

  for (int i = 0; i < 100; i++) {
        template.convertAndSend("queue1", "message_" + i);
  }

接收器:

@RabbitListener(queues = "queue1")
public void listenQueue1(String message, @Header(AmqpHeaders.DELIVERY_TAG) long tag) {
    logger.info("Got message:[" + message + "]");
}

如果我一起运行这些应用程序 - 我会在接收方看到消息。

要查看队列中的消息,我决定停止receiver并运行sender

  1. 我运行发件人
  2. 执行python rabbitmqadmin list queues
  3. 并查看以下结果:

    +-----------------+----------+
    |      name       | messages |
    +-----------------+----------+
    | query-example-6 |          |
    | queue1          |          |
    | queue2          |          |
    | queue3          |          |
    | queue4          |          |
    | queue5          |          |
    | queue6          |          |
    | queue7          |          |
    | queue8          |          |
    | queue9          |          |
    +-----------------+----------+
    

    3.然后我运行接收器并查看接收者接受消息的日志

    你能澄清我在控制台看不到消息的原因吗?

    如何查看队列消息内容。

1 个答案:

答案 0 :(得分:0)

我对Rabbitmq不熟悉。

消息是否为“未确认”?

例如我发现队列中有一条消息:

$ rabbitmqadmin list queues name node messages

+----------------------------+----------------+----------+
|            name            |      node      | messages |
+----------------------------+----------------+----------+
| my_queue_name              | rabbit@xx-2    | 1        |

但是当我运行“ get”命令显示其内容时,rabbitmq告诉我“没有任何物品”

所以,我用以下命令查询它:

$ rabbitmqadmin list queues name node messages messages_ready messages_unacknowledged

+----------------------------+----------------+----------+----------------+-------------------------+
|            name            |      node      | messages | messages_ready | messages_unacknowledged |
+----------------------------+----------------+----------+----------------+-------------------------+
| my_queue_name              | rabbit@xxxxx-2 | 1        | 0              | 1                       |
+----------------------------+----------------+----------+----------------+-------------------------+

我不知道为什么。只需重新启动rabbitmq服务器,一切似乎就可以了。