Как отправить только пользовательский заголовок, используя весенний облачный поток - PullRequest
0 голосов
/ 30 октября 2019

Я должен установить пользовательский заголовок в сообщении kafka, мой кластер kafka изначально поддерживает заголовки (1.xx). В настоящее время я использую springCloudVersion = Finchley.RELEASE.

Когда я задаю свойство

default:
    producer:
      headerMode: none

Ни один из заголовков не выводится на выходе.

С другой стороны, Если я устанавливаю

default:
    producer:
      headerMode: headers

Многие заголовки, включая contentType и spring_json_header_types, приходят в заголовок, что сильно влияет на пропускную способность. Я считаю, что Kafka, являющийся независимым от языка / фреймворка механизмом доставки сообщений, должен предусматривать способ только включения пользовательских заголовков. Есть ли обходной путь, чтобы получить только заголовки, заданные пользователем, в тему kafka при подавлении всех заголовков, связанных с облаком весны.

1 Ответ

1 голос
/ 30 октября 2019

Я уже ответил на это на GitHub. Это бесполезная трата вашего и нашего времени, чтобы задать один и тот же вопрос в нескольких местах. Как я уже говорил, переполнение стека является предпочтительным местом для вопросов.

Вот еще раз ответ:

Пожалуйста, используйте переполнение стека, чтобы задавать вопросы;Проблемы GitHub предназначены для сообщения об ошибках или для запроса новых функций.

Вы можете предоставить настраиваемый сопоставитель заголовков в конфигурации подшивки .

spring. cloud.stream.kafka.binder.headerMapperBeanName

Имя компонента KafkaHeaderMapper, используемого для сопоставления заголовков весенних сообщений и из заголовков Kafka. Используйте это, например, если вы хотите настроить доверенные пакеты в DefaultKafkaHeaderMapper, который использует JSON десериализацию для заголовков.

По умолчанию: нет.

Реализуйте свой собственный KafkaHeaderMapperи добавьте его как @Bean и настройте подшивку для его использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...