Кафка DSL поток глотать пользовательские заголовки - PullRequest
0 голосов
/ 28 мая 2018

Можно ли пересылать входящие сообщения с пользовательскими заголовками из темы A в B в потоковом процессоре DSL?

Я замечаю, что все мои входящие сообщения в теме A содержат пользовательские заголовки, но когда я помещаю их в темуB все заголовки проглатываются потоковым процессором.

Я использую stream.to(outputTopic); метод для обработки сообщений.

Я нашел эту задачу, которая все еще ОТКРЫТА.https://issues.apache.org/jira/browse/KAFKA-5632?src=confmacro

1 Ответ

0 голосов
/ 28 мая 2018

Ваше наблюдение верно.До Kafka 1.1 Kafka Streams удаляет заголовки записей.

Добавлена ​​поддержка заголовков записей в (готовящейся к выпуску) Kafka 2.0, позволяющей читать и изменять заголовки с помощью Processor API (см. https://issues.apache.org/jira/browse/KAFKA-6850). с KAFKA-6850, заголовки записи также будут сохраняться (то есть автоматически пересылаться), если используется DSL.

Упомянутая проблема KAFKA-5632 касается заголовка манипуляции на уровне DSL, который все ещене поддерживается в Kafka 2.0.

Чтобы манипулировать заголовками с помощью DSL в Kafka 2.0, вы можете смешивать и сопоставлять API процессоров в DSL, используя KStream#transformValues(), #transform() или #process().

...