我有一个应用程序,它使用rabbitmq作为消息队列,在发送方和接收方这两个组件之间发送/接收消息。发送者以非常快的方式发送消息。接收器接收消息,然后执行一些非常耗时的任务(主要是为非常大的数据量编写数据库)。由于接收者需要很长时间来完成任务,然后在队列中检索下一条消息,发送者将继续快速地填充队列。所以我的问题是:这会导致消息队列溢出吗?
消息使用者如下所示:public void onMessage() throws IOException, InterruptedException {
channel.exchangeDeclare(EXCHANGE_NAME, "fanout");
String queueName = channel.queueDeclare("allDataCase", true, false, false, null).getQueue();
channel.queueBind(queueName, EXCHANGE_NAME, "");
QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume(queueName, true, consumer);
while (true) {
QueueingConsumer.Delivery delivery = consumer.nextDelivery();
String message = new String(delivery.getBody());
System.out.println(" [x] Received '" + message + "'");