Предварительная выборка против пакетной обработки в Spring AMQP

На низком уровне, в чем разница между счетчиком предварительной выборки и размером партии (пакетная обработка) или как они связаны?

Чтобы выразить это по-другому, влияет ли одно значение на другое?

Кроме того, есть ли способ получить все предварительно выбранные сообщения в прослушивателе, кроме пакетной обработки?


person Jerald Baker    schedule 19.08.2020    source источник


Ответы (1)


Предварительная выборка — это просто количество неподтвержденных сообщений, которые брокер позволяет потребителю иметь в ожидании.

С SimpleMessageListenerContainer предварительно извлеченные сообщения хранятся в очереди и передаются прослушивателю по одному (по умолчанию).

Начиная с версии 2.2, контейнер можно настроить для передачи пакета сообщений прослушивателю вместо этого, он использует комбинацию batchSize и receiveTimeout для сборки пакета.

Это совершенно не связано с предварительной выборкой.

Однако размер пакета должен быть меньше или равен размеру предварительной выборки, поскольку в противном случае размер пакета никогда не будет достигнут, а пакет всегда будет коротким и будет запускаться параметром `receiveTimeout.

person Gary Russell    schedule 19.08.2020