Rabbitmq队列为空,尽管queu中有消息

2024-06-14 15:23:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我从JavaSpringBoot应用程序向消费者发送消息,这是Python应用程序。在

除了我输入命令rabbitmqctl list_queues之外,一切正常,它显示video_queue 0,这意味着队列中没有消息。在

消费者正在接收消息并进行一些长时间的处理;因此,如果我在一行中发送多个消息,那么应该有一些消息等待队列。我说得对吗?在

制作人:

@Component
public class VideoProducer {
    private Logger logger = LoggerFactory.getLogger(VideoProducer.class);
    private final static String BROKER_EXCHANGE_NAME = "video_exchange";
    private final static String ROUTING_KEY = "video_routing_key";

    @Autowired
    private RabbitTemplate rabbitTemplate;

    @Autowired
    private VideoService videoService;

    @Autowired
    private Gson gson;

    public void produceVideo(VideoDTO video) {
            rabbitTemplate.convertAndSend(BROKER_EXCHANGE_NAME, ROUTING_KEY, gson.toJson(video));

        }
    }
}

消费者

^{pr2}$

在哪里可以看到我声明的队列上的消息?因为尽管我知道队列中有消息,但使用上面的命令我看不到它们。在

我也在使用RabbitMQ管理门户。
enter image description here


Tags: 命令应用程序消息string队列video消费者static
2条回答

您可以从rabbitMQ管理门户访问来检查和管理队列本地主机:15672和一旦任何接收者接收到来自队列的消息,它将自动从队列中删除。因此,如果你想看到你的消息,你最好通过管理门户进行检查,一旦任何接收者收到这些消息,这些消息就会被删除。在

您可以使用RMQ管理控制台查看RMQ的消息和其他信息。 消费者可以消费多个消息,并将它们放在内部队列。到为了避免这种情况,请将QOS设置为1,并将ack required设置为true。 关于QOS的更多信息:https://www.rabbitmq.com/consumer-prefetch.html

相关问题 更多 >