Class JacksonJsonMessageConverter

java.lang.Object
org.springframework.kafka.support.converter.MessagingMessageConverter
org.springframework.kafka.support.converter.JacksonJsonMessageConverter
All Implemented Interfaces:
MessageConverter, RecordMessageConverter
Direct Known Subclasses:
ByteArrayJacksonJsonMessageConverter, BytesJacksonJsonMessageConverter, StringJacksonJsonMessageConverter

public class JacksonJsonMessageConverter extends MessagingMessageConverter
Base class for JSON message converters that use Jackson 3; on the consumer side, it can handle byte[], Bytes and String record values. On the producer side, select a subclass that matches the corresponding Kafka Serializer.
Since:
4.0
Author:
Gary Russell, Soby Chacko
  • Constructor Details

    • JacksonJsonMessageConverter

      public JacksonJsonMessageConverter()
    • JacksonJsonMessageConverter

      public JacksonJsonMessageConverter(tools.jackson.databind.json.JsonMapper jsonMapper)
  • Method Details

    • getTypeMapper

      public JacksonJavaTypeMapper getTypeMapper()
    • setTypeMapper

      public void setTypeMapper(JacksonJavaTypeMapper typeMapper)
      Set a customized type mapper.
      Parameters:
      typeMapper - the type mapper.
    • getJsonMapper

      protected tools.jackson.databind.json.JsonMapper getJsonMapper()
      Return the object mapper.
      Returns:
      the mapper.
    • initialRecordHeaders

      protected org.apache.kafka.common.header.Headers initialRecordHeaders(Message<?> message)
      Description copied from class: MessagingMessageConverter
      Subclasses can populate additional headers before they are mapped.
      Overrides:
      initialRecordHeaders in class MessagingMessageConverter
      Parameters:
      message - the message.
      Returns:
      the headers
    • convertPayload

      protected @Nullable Object convertPayload(Message<?> message)
      Description copied from class: MessagingMessageConverter
      Subclasses can convert the payload; by default, it's sent unchanged to Kafka.
      Overrides:
      convertPayload in class MessagingMessageConverter
      Parameters:
      message - the message.
      Returns:
      the payload.
    • extractAndConvertValue

      protected Object extractAndConvertValue(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record, @Nullable Type type)
      Description copied from class: MessagingMessageConverter
      Subclasses can convert the value; by default, it's returned as provided by Kafka unless there is a SmartMessageConverter that can convert it.
      Overrides:
      extractAndConvertValue in class MessagingMessageConverter
      Parameters:
      record - the record.
      type - the required type.
      Returns:
      the value.