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
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
-
Field Summary
Fields inherited from class MessagingMessageConverter
logger -
Constructor Summary
ConstructorsConstructorDescriptionJacksonJsonMessageConverter(tools.jackson.databind.json.JsonMapper jsonMapper) -
Method Summary
Modifier and TypeMethodDescriptionprotected @Nullable ObjectconvertPayload(org.springframework.messaging.Message<?> message) Subclasses can convert the payload; by default, it's sent unchanged to Kafka.protected ObjectextractAndConvertValue(org.apache.kafka.clients.consumer.ConsumerRecord<?, ?> record, @Nullable Type type) Subclasses can convert the value; by default, it's returned as provided by Kafka unless there is aSmartMessageConverterthat can convert it.protected tools.jackson.databind.json.JsonMapperReturn the object mapper.protected org.apache.kafka.common.header.HeadersinitialRecordHeaders(org.springframework.messaging.Message<?> message) Subclasses can populate additional headers before they are mapped.voidsetTypeMapper(JacksonJavaTypeMapper typeMapper) Set a customized type mapper.Methods inherited from class MessagingMessageConverter
fromMessage, getMessagingConverter, setGenerateMessageId, setGenerateTimestamp, setHeaderMapper, setMessagingConverter, setRawRecordHeader, toMessageMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface MessageConverter
commonHeaders
-
Constructor Details
-
JacksonJsonMessageConverter
public JacksonJsonMessageConverter() -
JacksonJsonMessageConverter
public JacksonJsonMessageConverter(tools.jackson.databind.json.JsonMapper jsonMapper)
-
-
Method Details
-
getTypeMapper
-
setTypeMapper
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(org.springframework.messaging.Message<?> message) Description copied from class:MessagingMessageConverterSubclasses can populate additional headers before they are mapped.- Overrides:
initialRecordHeadersin classMessagingMessageConverter- Parameters:
message- the message.- Returns:
- the headers
-
convertPayload
Description copied from class:MessagingMessageConverterSubclasses can convert the payload; by default, it's sent unchanged to Kafka.- Overrides:
convertPayloadin classMessagingMessageConverter- 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:MessagingMessageConverterSubclasses can convert the value; by default, it's returned as provided by Kafka unless there is aSmartMessageConverterthat can convert it.- Overrides:
extractAndConvertValuein classMessagingMessageConverter- Parameters:
record- the record.type- the required type.- Returns:
- the value.
-