У меня есть служба, которая создает сообщения Kafka с полезной нагрузкой типа com.fasterxml.jackson.databind.JsonNode. Когда я использую это сообщение, я хочу, чтобы оно было сериализовано в POJO, но я получаю следующее сообщение:
IllegalArgumentException: Incorrect type specified for header 'kafka_receivedMessageKey'. Expected [class com.example.Person] but actual type is [class com.fasterxml.jackson.databind.node.ObjectNode]
Как мне настроить части производителя или потребителя, чтобы они работали так, как я задумал?
Я думаю, что это подходы, которые я могу использовать:
Kafka Consumer должен игнорировать __Key_TypeId__, если это подкласс JsonNode
ИЛИ
Kafka Producer должен создавать сообщение без заголовка __Key_TypeId__, если оно является подклассом JsonNode
Но как реализовать любой из этих подходов? Или есть другой вариант?

Вы можете установить JsonSerializer.ADD_TYPE_INFO_HEADERS на false для производителя или JsonDeserializer.USE_TYPE_INFO_HEADERS на false для потребителя.
Почему ваш продюсер не может отправить
com.example.Personвместо низкоуровневогоJsonNode? Он будет правильно сериализован в JSON, и этот тип будет диктовать потребителю, что делать сbyte[]в сетевом пакете.