Class AvroSchemaMessageConverter
java.lang.Object
org.springframework.messaging.converter.AbstractMessageConverter
org.springframework.cloud.function.context.converter.avro.AbstractAvroMessageConverter
org.springframework.cloud.function.context.converter.avro.AvroSchemaMessageConverter
- All Implemented Interfaces:
org.springframework.messaging.converter.MessageConverter,org.springframework.messaging.converter.SmartMessageConverter
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
-
Field Summary
Fields inherited from class org.springframework.messaging.converter.AbstractMessageConverter
logger -
Constructor Summary
ConstructorsConstructorDescriptionAvroSchemaMessageConverter(Collection<org.springframework.util.MimeType> supportedMimeTypes, AvroSchemaServiceManager manager) Create aAvroSchemaMessageConverter.Create aAvroSchemaMessageConverter.AvroSchemaMessageConverter(org.springframework.util.MimeType supportedMimeType, AvroSchemaServiceManager manager) Create aAvroSchemaMessageConverter. -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.avro.Schemaprotected org.apache.avro.SchemaresolveReaderSchemaForDeserialization(Class<?> targetClass) protected org.apache.avro.SchemaresolveSchemaForWriting(Object payload, org.springframework.messaging.MessageHeaders headers, org.springframework.util.MimeType hintedContentType) protected org.apache.avro.SchemaresolveWriterSchemaForDeserialization(org.springframework.util.MimeType mimeType) voidsetSchema(org.apache.avro.Schema schema) Sets the Apache Avro schema to be used by this converter.voidsetSchemaLocation(org.springframework.core.io.Resource schemaLocation) The location of the Apache Avro schema to be used by this converter.protected booleanMethods inherited from class org.springframework.cloud.function.context.converter.avro.AbstractAvroMessageConverter
avroSchemaServiceManager, canConvertFrom, convertFromInternal, convertToInternal, parseSchemaMethods inherited from class org.springframework.messaging.converter.AbstractMessageConverter
addSupportedMimeTypes, canConvertTo, fromMessage, fromMessage, getContentTypeResolver, getDefaultContentType, getMimeType, getSerializedPayloadClass, getSupportedMimeTypes, isStrictContentTypeMatch, setContentTypeResolver, setSerializedPayloadClass, setStrictContentTypeMatch, supportsMimeType, toMessage, toMessage
-
Constructor Details
-
AvroSchemaMessageConverter
- Parameters:
manager- for schema management
-
AvroSchemaMessageConverter
public AvroSchemaMessageConverter(org.springframework.util.MimeType supportedMimeType, AvroSchemaServiceManager manager) Create aAvroSchemaMessageConverter. The converter will be used for the providedMimeType.- Parameters:
supportedMimeType- mime type to be supported byAvroSchemaMessageConvertermanager- for schema management
-
AvroSchemaMessageConverter
public AvroSchemaMessageConverter(Collection<org.springframework.util.MimeType> supportedMimeTypes, AvroSchemaServiceManager manager) Create aAvroSchemaMessageConverter. The converter will be used for the providedMimeTypes.- Parameters:
supportedMimeTypes- the mime types supported by this convertermanager- for schema management
-
-
Method Details
-
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
- Specified by:
supportsin classorg.springframework.messaging.converter.AbstractMessageConverter
-
resolveWriterSchemaForDeserialization
protected org.apache.avro.Schema resolveWriterSchemaForDeserialization(org.springframework.util.MimeType mimeType) - Specified by:
resolveWriterSchemaForDeserializationin classAbstractAvroMessageConverter
-
resolveReaderSchemaForDeserialization
- Specified by:
resolveReaderSchemaForDeserializationin classAbstractAvroMessageConverter
-
resolveSchemaForWriting
protected org.apache.avro.Schema resolveSchemaForWriting(Object payload, org.springframework.messaging.MessageHeaders headers, org.springframework.util.MimeType hintedContentType) - Specified by:
resolveSchemaForWritingin classAbstractAvroMessageConverter
-