Class AvroSchemaMessageConverter

  • All Implemented Interfaces:
    org.springframework.messaging.converter.MessageConverter, org.springframework.messaging.converter.SmartMessageConverter

    public class AvroSchemaMessageConverter
    extends AbstractAvroMessageConverter
    A MessageConverter using Apache Avro. The schema for serializing and deserializing will be automatically inferred from the class for SpecificRecord and regular classes, unless a specific schema is set, case in which that schema will be used instead. For converting to GenericRecord targets, a schema must be set.s
    Since:
    3.2.0
    Author:
    Marius Bogoevici, Ish Mahajan, Soby Chacko
    • Constructor Detail

      • AvroSchemaMessageConverter

        public AvroSchemaMessageConverter​(Collection<org.springframework.util.MimeType> supportedMimeTypes,
                                          AvroSchemaServiceManager manager)
        Create a AvroSchemaMessageConverter. The converter will be used for the provided MimeTypes.
        Parameters:
        supportedMimeTypes - the mime types supported by this converter
        manager - for schema management
    • Method Detail

      • getSchema

        public org.apache.avro.Schema getSchema()
      • setSchema

        public void setSchema​(org.apache.avro.Schema schema)
        Sets the Apache Avro schema to be used by this converter.
        Parameters:
        schema - schema to be used by this converter
      • setSchemaLocation

        public void setSchemaLocation​(org.springframework.core.io.Resource schemaLocation)
        The location of the Apache Avro schema to be used by this converter.
        Parameters:
        schemaLocation - the location of the schema used by this converter.
      • supports

        protected boolean supports​(Class<?> clazz)
        Specified by:
        supports in class org.springframework.messaging.converter.AbstractMessageConverter
      • resolveSchemaForWriting

        protected org.apache.avro.Schema resolveSchemaForWriting​(Object payload,
                                                                 org.springframework.messaging.MessageHeaders headers,
                                                                 org.springframework.util.MimeType hintedContentType)
        Specified by:
        resolveSchemaForWriting in class AbstractAvroMessageConverter