简体   繁体   English

python Rabbitmqadmin list queues命令虽然消息存在但没有获得消息内容

[英]python rabbitmqadmin list queues command doesn't obtain messages content although messages exist

I am learning rabbitMq and and now I want to know how to wath queue content. 我正在学习RabbitMq,现在我想知道如何排队内容。

First of all I want to day that I googled this question and know about command 首先,我想通过Google搜索这个问题并了解命令

python rabbitmqadmin list queues

I have written 2 separated applications. 我已经编写了2个单独的应用程序。

sender: 发件人:

@Autowired
private AmqpTemplate template;
 ...

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

receiver: 接收者:

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

If I run these applications together - I see messages on receiver side. 如果我同时运行这些应用程序-我会在接收方看到消息。

To see messages in the queue I decided to stop receiver and run sender 为了查看队列中的消息,我决定停止receiver并运行sender

  1. I run sender 我运行发件人
  2. execute python rabbitmqadmin list queues 执行python rabbitmqadmin list queues

and see following result: 并查看以下结果:

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

3.Then I run receiver and see logs that receiver accepted messages 3.然后我运行接收器并查看接收器接受消息的日志

Can you clarify reason why I can't see messages in console? 您能否阐明我在控制台中看不到消息的原因?

How to see queue messages content. 如何查看队列消息的内容。

I am not familiar with rabbitmq. 我对rabbitmq不熟悉。

maybe the message is "unacknowledged"? 也许消息是“未确认的”?

eg I found my queue has a message: 例如,我发现我的队列中有一条消息:

$ rabbitmqadmin list queues name node messages

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

but when I run "get" command to show its content, rabbitmq tells me "there's no item" 但是当我运行“ get”命令显示其内容时,rabbitmq告诉我“没有项目”

so, I query it with this command: 所以,我用以下命令查询它:

$ 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                       |
+----------------------------+----------------+----------+----------------+-------------------------+

I don't know why. 我不知道为什么 just restart the rabbitmq server and everything seems goes fine. 只需重新启动rabbitmq服务器,一切似乎就可以了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM