我从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管理门户访问来检查和管理队列本地主机:15672和一旦任何接收者接收到来自队列的消息,它将自动从队列中删除。因此,如果你想看到你的消息,你最好通过管理门户进行检查,一旦任何接收者收到这些消息,这些消息就会被删除。在
您可以使用RMQ管理控制台查看RMQ的消息和其他信息。 消费者可以消费多个消息,并将它们放在内部队列。到为了避免这种情况,请将QOS设置为1,并将ack required设置为true。 关于QOS的更多信息:https://www.rabbitmq.com/consumer-prefetch.html
相关问题 更多 >
编程相关推荐