public class DefaultJackson2JavaTypeMapper extends AbstractJavaTypeMapper implements Jackson2JavaTypeMapper
Jackson2JavaTypeMapper.TypePrecedence
DEFAULT_CLASSID_FIELD_NAME, DEFAULT_CONTENT_CLASSID_FIELD_NAME, DEFAULT_KEY_CLASSID_FIELD_NAME, KEY_DEFAULT_CLASSID_FIELD_NAME, KEY_DEFAULT_CONTENT_CLASSID_FIELD_NAME, KEY_DEFAULT_KEY_CLASSID_FIELD_NAME
Constructor and Description |
---|
DefaultJackson2JavaTypeMapper() |
Modifier and Type | Method and Description |
---|---|
void |
addTrustedPackages(java.lang.String... packagesToTrust)
Specify a set of packages to trust during deserialization.
|
void |
fromClass(java.lang.Class<?> clazz,
org.apache.kafka.common.header.Headers headers) |
void |
fromJavaType(com.fasterxml.jackson.databind.JavaType javaType,
org.apache.kafka.common.header.Headers headers) |
Jackson2JavaTypeMapper.TypePrecedence |
getTypePrecedence()
Return the precedence.
|
void |
removeHeaders(org.apache.kafka.common.header.Headers headers)
Remove the type information headers.
|
void |
setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence typePrecedence)
Set the precedence for evaluating type information in message properties.
|
java.lang.Class<?> |
toClass(org.apache.kafka.common.header.Headers headers) |
com.fasterxml.jackson.databind.JavaType |
toJavaType(org.apache.kafka.common.header.Headers headers) |
addHeader, getClassIdFieldName, getClassLoader, getContentClassIdFieldName, getIdClassMapping, getKeyClassIdFieldName, retrieveHeader, retrieveHeaderAsString, setBeanClassLoader, setClassIdFieldName, setContentClassIdFieldName, setIdClassMapping, setKeyClassIdFieldName, setUseForKey
public Jackson2JavaTypeMapper.TypePrecedence getTypePrecedence()
getTypePrecedence
in interface Jackson2JavaTypeMapper
setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence)
public void setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence typePrecedence)
Jackson2JavaTypeMapper
@KafkaListener
at the method level, the framework attempts
to determine the target type for payload conversion from the method signature.
If so, this type is provided by the MessagingMessageListenerAdapter
.
By default, if the type is concrete (not abstract, not an interface), this will
be used ahead of type information provided in the __TypeId__
and
associated headers provided by the sender.
If you wish to force the use of the __TypeId__
and associated headers
(such as when the actual type is a subclass of the method argument type),
set the precedence to Jackson2JavaTypeMapper.TypePrecedence.TYPE_ID
.
setTypePrecedence
in interface Jackson2JavaTypeMapper
typePrecedence
- the precedence.public void addTrustedPackages(java.lang.String... packagesToTrust)
*
) means trust all.addTrustedPackages
in interface Jackson2JavaTypeMapper
packagesToTrust
- the trusted Java packages for deserializationpublic com.fasterxml.jackson.databind.JavaType toJavaType(org.apache.kafka.common.header.Headers headers)
toJavaType
in interface Jackson2JavaTypeMapper
public void fromJavaType(com.fasterxml.jackson.databind.JavaType javaType, org.apache.kafka.common.header.Headers headers)
fromJavaType
in interface Jackson2JavaTypeMapper
public void fromClass(java.lang.Class<?> clazz, org.apache.kafka.common.header.Headers headers)
fromClass
in interface ClassMapper
public java.lang.Class<?> toClass(org.apache.kafka.common.header.Headers headers)
toClass
in interface ClassMapper
public void removeHeaders(org.apache.kafka.common.header.Headers headers)
Jackson2JavaTypeMapper
removeHeaders
in interface Jackson2JavaTypeMapper
headers
- the headers.