У меня также был похожий вариант использования, когда я хотел получить идентификатор потребителя для ведения журнала, поэтому я использовал имя текущего потока , и, похоже, он работает нормально.
LOGGER.info("Current thread: {}",Thread.currentThread().getName());
и это печатает: -
Current thread: org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1
Current thread: org.springframework.kafka.KafkaListenerEndpointContainer#0-2-C-1
Current thread: org.springframework.kafka.KafkaListenerEndpointContainer#0-1-C-1
это также ясно показывает, что сообщения каждый раз используются различными потоками (может быть в циклическом режиме)