Непонятно, что вы имеете в виду.Пулы потоков не «выбирают» вещи, им дают задачи для запуска.Вам нужно показать свой код.
Предположение ...
Если ваш слушатель передает ConsumerRecord
в пул потоков, то, конечно, порядок записей теряется, так как записиобрабатывается в разных потоках (если только пул не имеет размер 1).
Для одного раздела контейнер слушателя вызывает слушателя в одном потоке.Вы не должны передавать работу другим потокам, если хотите сохранить порядок.
Единственный способ достичь параллелизма - это использовать несколько разделов и увеличить параллелизм в контейнере.Разделы будут распределены по потокам контейнера.
Или вам нужно управлять подтверждениями в вашем коде, чтобы убедиться, что «переходы» не зафиксированы.
Порядок гарантирован только в пределах разделапоэтому, опять же, вы не должны переходить на другую ветку.