Interface Jackson2JavaTypeMapper

  • All Superinterfaces:
    ClassMapper
    All Known Implementing Classes:
    DefaultJackson2JavaTypeMapper

    public interface Jackson2JavaTypeMapper
    extends ClassMapper
    Strategy for setting metadata on messages such that one can create the class that needs to be instantiated when receiving a message.
    Since:
    2.1
    Author:
    Mark Pollack, James Carr, Sam Nelson, Andreas Asplund, Gary Russell
    • Method Detail

      • fromJavaType

        void fromJavaType​(com.fasterxml.jackson.databind.JavaType javaType,
                          org.apache.kafka.common.header.Headers headers)
      • toJavaType

        com.fasterxml.jackson.databind.JavaType toJavaType​(org.apache.kafka.common.header.Headers headers)
      • setTypePrecedence

        default void setTypePrecedence​(Jackson2JavaTypeMapper.TypePrecedence typePrecedence)
        Set the precedence for evaluating type information in message properties. When using @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.

        Parameters:
        typePrecedence - the precedence.
        Since:
        2.2
      • addTrustedPackages

        void addTrustedPackages​(java.lang.String... packages)
      • removeHeaders

        default void removeHeaders​(org.apache.kafka.common.header.Headers headers)
        Remove the type information headers.
        Parameters:
        headers - the headers.
        Since:
        2.2