Class JsonMessageConverter

java.lang.Object
org.springframework.kafka.support.converter.MessagingMessageConverter
org.springframework.kafka.support.converter.JsonMessageConverter
All Implemented Interfaces:
MessageConverter, RecordMessageConverter
Direct Known Subclasses:
ByteArrayJsonMessageConverter, BytesJsonMessageConverter, StringJsonMessageConverter

public class JsonMessageConverter extends MessagingMessageConverter
Base class for JSON message converters; 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:
2.3
Author:
Gary Russell
  • Constructor Details

    • JsonMessageConverter

      public JsonMessageConverter()
    • JsonMessageConverter

      public JsonMessageConverter(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
  • Method Details

    • getTypeMapper

      public Jackson2JavaTypeMapper getTypeMapper()
    • setTypeMapper

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

      protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
      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 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, 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.