Да, это можно сделать, указав максимальный предел длины очереди при объявлении очереди.
Как указано в документации ,
Максимальная длина очереди может быть ограничена заданным количеством сообщений или заданным количеством байтов (сумма всех длин тела сообщения, игнорируя свойства сообщения и любые издержки), или обоими.
Поведение по умолчанию для RabbitMQ, когда задана максимальная длина или размер очереди и достигнут максимум, - отбрасывать или вводить недоставленные сообщения с начала очереди (т. Е. Самые старые сообщения в очереди). Чтобы изменить это поведение, используйте настройку переполнения, описанную ниже.
Если вы используете Java, вы должны сделать следующее:
Map<String, Object> args = new HashMap<String, Object>();
args.put("x-max-length", 1);
channel.queueDeclare("myqueue", false, false, false, args);