Class JsonSerializer<T>
java.lang.Object
org.springframework.kafka.support.serializer.JsonSerializer<T>
- Type Parameters:
T
- class of the entity, representing messages
- All Implemented Interfaces:
Closeable
,AutoCloseable
,org.apache.kafka.common.serialization.Serializer<T>
@Deprecated(forRemoval=true,
since="4.0")
public class JsonSerializer<T>
extends Object
implements org.apache.kafka.common.serialization.Serializer<T>
Deprecated, for removal: This API element is subject to removal in a future version.
Generic
Serializer
for sending
Java objects to Kafka as JSON.
IMPORTANT: Configuration must be done completely with property setters or via
configure(Map, boolean)
, not a mixture. If any setters have been called,
configure(Map, boolean)
will be a no-op.
- Author:
- Igor Stepanov, Artem Bilan, Gary Russell, Elliot Kennedy, Wang Zhiyang, Omer Celik
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Deprecated, for removal: This API element is subject to removal in a future version.Kafka config property for disabling adding type headers.protected boolean
Deprecated, for removal: This API element is subject to removal in a future version.protected final com.fasterxml.jackson.databind.ObjectMapper
Deprecated, for removal: This API element is subject to removal in a future version.static final String
Deprecated, for removal: This API element is subject to removal in a future version.Kafka config property to add type mappings to the type mapper: 'foo:com.Foo,bar:com.Bar'.protected Jackson2JavaTypeMapper
Deprecated, for removal: This API element is subject to removal in a future version. -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated, for removal: This API element is subject to removal in a future version.JsonSerializer
(com.fasterxml.jackson.core.type.TypeReference<? super T> targetType) Deprecated, for removal: This API element is subject to removal in a future version.JsonSerializer
(com.fasterxml.jackson.core.type.TypeReference<? super T> targetType, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Deprecated, for removal: This API element is subject to removal in a future version.JsonSerializer
(@Nullable com.fasterxml.jackson.databind.JavaType targetType, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Deprecated, for removal: This API element is subject to removal in a future version.JsonSerializer
(com.fasterxml.jackson.databind.ObjectMapper objectMapper) Deprecated, for removal: This API element is subject to removal in a future version. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Deprecated, for removal: This API element is subject to removal in a future version.void
Deprecated, for removal: This API element is subject to removal in a future version.<X> JsonSerializer
<X> copyWithType
(com.fasterxml.jackson.core.type.TypeReference<? super X> newTargetType) Deprecated, for removal: This API element is subject to removal in a future version.Copies this serializer with same configuration, except new target type reference is used.<X> JsonSerializer
<X> copyWithType
(com.fasterxml.jackson.databind.JavaType newTargetType) Deprecated, for removal: This API element is subject to removal in a future version.Copies this serializer with same configuration, except new target java type is used.<X> JsonSerializer
<X> copyWithType
(Class<? super X> newTargetType) Deprecated, for removal: This API element is subject to removal in a future version.Copies this serializer with same configuration, except new target type reference is used.createMappings
(String mappings) Deprecated, for removal: This API element is subject to removal in a future version.forKeys()
Deprecated, for removal: This API element is subject to removal in a future version.Designate this serializer for serializing keys (default is values); only applies if the default type mapper is used.Deprecated, for removal: This API element is subject to removal in a future version.boolean
Deprecated, for removal: This API element is subject to removal in a future version.Deprecated, for removal: This API element is subject to removal in a future version.Do not include type info headers.byte[]
Deprecated, for removal: This API element is subject to removal in a future version.byte[]
Deprecated, for removal: This API element is subject to removal in a future version.void
setAddTypeInfo
(boolean addTypeInfo) Deprecated, for removal: This API element is subject to removal in a future version.Set to false to disable adding type info headers.void
setTypeMapper
(Jackson2JavaTypeMapper typeMapper) Deprecated, for removal: This API element is subject to removal in a future version.Set a customized type mapper.void
setUseTypeMapperForKey
(boolean isKey) Deprecated, for removal: This API element is subject to removal in a future version.Configure the default Jackson2JavaTypeMapper to use key type headers.typeMapper
(Jackson2JavaTypeMapper mapper) Deprecated, for removal: This API element is subject to removal in a future version.Use the suppliedJackson2JavaTypeMapper
.
-
Field Details
-
ADD_TYPE_INFO_HEADERS
Deprecated, for removal: This API element is subject to removal in a future version.Kafka config property for disabling adding type headers.- See Also:
-
TYPE_MAPPINGS
Deprecated, for removal: This API element is subject to removal in a future version.Kafka config property to add type mappings to the type mapper: 'foo:com.Foo,bar:com.Bar'.- See Also:
-
objectMapper
protected final com.fasterxml.jackson.databind.ObjectMapper objectMapperDeprecated, for removal: This API element is subject to removal in a future version. -
addTypeInfo
protected boolean addTypeInfoDeprecated, for removal: This API element is subject to removal in a future version. -
typeMapper
Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Constructor Details
-
JsonSerializer
public JsonSerializer()Deprecated, for removal: This API element is subject to removal in a future version. -
JsonSerializer
Deprecated, for removal: This API element is subject to removal in a future version. -
JsonSerializer
public JsonSerializer(com.fasterxml.jackson.databind.ObjectMapper objectMapper) Deprecated, for removal: This API element is subject to removal in a future version. -
JsonSerializer
public JsonSerializer(com.fasterxml.jackson.core.type.TypeReference<? super T> targetType, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Deprecated, for removal: This API element is subject to removal in a future version. -
JsonSerializer
public JsonSerializer(@Nullable com.fasterxml.jackson.databind.JavaType targetType, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Method Details
-
isAddTypeInfo
public boolean isAddTypeInfo()Deprecated, for removal: This API element is subject to removal in a future version. -
setAddTypeInfo
public void setAddTypeInfo(boolean addTypeInfo) Deprecated, for removal: This API element is subject to removal in a future version.Set to false to disable adding type info headers.- Parameters:
addTypeInfo
- true to add headers.- Since:
- 2.1
-
getTypeMapper
Deprecated, for removal: This API element is subject to removal in a future version. -
setTypeMapper
Deprecated, for removal: This API element is subject to removal in a future version.Set a customized type mapper.- Parameters:
typeMapper
- the type mapper.- Since:
- 2.1
-
setUseTypeMapperForKey
public void setUseTypeMapperForKey(boolean isKey) Deprecated, for removal: This API element is subject to removal in a future version.Configure the default Jackson2JavaTypeMapper to use key type headers.- Parameters:
isKey
- Use key type headers if true- Since:
- 2.1.3
-
configure
-
createMappings
-
serialize
-
serialize
-
close
public void close()Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceorg.apache.kafka.common.serialization.Serializer<T>
-
copyWithType
Deprecated, for removal: This API element is subject to removal in a future version.Copies this serializer with same configuration, except new target type reference is used.- Type Parameters:
X
- new serialization source type- Parameters:
newTargetType
- type reference forced for serialization, not null- Returns:
- new instance of serializer with type changes
- Since:
- 2.6
-
copyWithType
public <X> JsonSerializer<X> copyWithType(com.fasterxml.jackson.core.type.TypeReference<? super X> newTargetType) Deprecated, for removal: This API element is subject to removal in a future version.Copies this serializer with same configuration, except new target type reference is used.- Type Parameters:
X
- new serialization source type- Parameters:
newTargetType
- type reference forced for serialization, not null- Returns:
- new instance of serializer with type changes
- Since:
- 2.6
-
copyWithType
Deprecated, for removal: This API element is subject to removal in a future version.Copies this serializer with same configuration, except new target java type is used.- Type Parameters:
X
- new serialization source type- Parameters:
newTargetType
- java type forced for serialization, not null- Returns:
- new instance of serializer with type changes
- Since:
- 2.6
-
forKeys
Deprecated, for removal: This API element is subject to removal in a future version.Designate this serializer for serializing keys (default is values); only applies if the default type mapper is used.- Returns:
- the serializer.
- Since:
- 2.3
- See Also:
-
noTypeInfo
Deprecated, for removal: This API element is subject to removal in a future version.Do not include type info headers.- Returns:
- the serializer.
- Since:
- 2.3
- See Also:
-
typeMapper
Deprecated, for removal: This API element is subject to removal in a future version.Use the suppliedJackson2JavaTypeMapper
.- Parameters:
mapper
- the mapper.- Returns:
- the serializer.
- Since:
- 2.3
- See Also:
-
JacksonJsonSerializer
for Jackson 3.