В чем разница между MANUAL и MANUAL_IMMEDIATE в Spring-Kafka AckMode - PullRequest
2 голосов
/ 30 марта 2020

Из Spring-Docs я вижу

MANUAL - слушатель сообщения отвечает за подтверждение () Подтверждения; после чего применяется та же семантика, что и для BATCH.

MANUAL_IMMEDIATE - немедленно зафиксировать смещение при вызове слушателем метода Acknowledgment.acknowledge ().

Но какая именно разница, если слушатель фиксирует смещение. Какие дополнительные шаги сделаны для MANUAL mode

1 Ответ

3 голосов
/ 30 марта 2020

MANUAL - подтверждения ставятся в очередь, а смещения фиксируются в одной операции, когда все результаты последнего опроса были обработаны.

MANUAL_IMMEDIATE - смещение фиксируется немедленно (syn c или asyn c ), пока подтверждение выполняется в потоке слушателя.

...