Spring Kafka использует объекты JsonNode - PullRequest
0 голосов
/ 08 июля 2019

У меня есть служба, которая создает сообщения Kafka с полезной нагрузкой типа com.fasterxml.jackson.databind.JsonNode. Когда я получаю это сообщение, я хочу, чтобы оно было сериализовано в POJO, но я получаю следующее сообщение:

IllegalArgumentException: неверный тип, указанный для заголовка 'Kafka_receivedMessageKey. Ожидается [класс com.example.Person], но Фактический тип [класс com.fasterxml.jackson.databind.node.ObjectNode]

Как настроить компоненты производителя или потребителя так, чтобы они работали так, как я намереваюсь?

Я думаю, что я могу использовать следующие подходы:

Kafka Consumer должен игнорировать __Key_TypeId__, если это подкласс JsonNode

OR

Kafka Producer должен создать сообщение без заголовка __Key_TypeId__, если оно является подклассом JsonNode

Но как мне реализовать один из этих подходов? Или есть другой вариант?

1 Ответ

2 голосов
/ 08 июля 2019

См. Справочное руководство .

. Вы можете установить JsonSerializer.ADD_TYPE_INFO_HEADERS на false для производителя или JsonDeserializer.USE_TYPE_INFO_HEADERS на false для потребителя.

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