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
ConstructorDescriptionAvroSchemaMessageConverter
(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.Schema
protected org.apache.avro.Schema
resolveReaderSchemaForDeserialization
(Class<?> targetClass) protected org.apache.avro.Schema
resolveSchemaForWriting
(Object payload, org.springframework.messaging.MessageHeaders headers, org.springframework.util.MimeType hintedContentType) protected org.apache.avro.Schema
resolveWriterSchemaForDeserialization
(org.springframework.util.MimeType mimeType) void
setSchema
(org.apache.avro.Schema schema) Sets the Apache Avro schema to be used by this converter.void
setSchemaLocation
(org.springframework.core.io.Resource schemaLocation) The location of the Apache Avro schema to be used by this converter.protected boolean
Methods inherited from class org.springframework.cloud.function.context.converter.avro.AbstractAvroMessageConverter
avroSchemaServiceManager, canConvertFrom, convertFromInternal, convertToInternal, parseSchema
Methods 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 byAvroSchemaMessageConverter
manager
- for schema management
-
AvroSchemaMessageConverter
public AvroSchemaMessageConverter(Collection<org.springframework.util.MimeType> supportedMimeTypes, AvroSchemaServiceManager manager) Create aAvroSchemaMessageConverter
. The converter will be used for the providedMimeType
s.- 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:
supports
in classorg.springframework.messaging.converter.AbstractMessageConverter
-
resolveWriterSchemaForDeserialization
protected org.apache.avro.Schema resolveWriterSchemaForDeserialization(org.springframework.util.MimeType mimeType) - Specified by:
resolveWriterSchemaForDeserialization
in classAbstractAvroMessageConverter
-
resolveReaderSchemaForDeserialization
- Specified by:
resolveReaderSchemaForDeserialization
in classAbstractAvroMessageConverter
-
resolveSchemaForWriting
protected org.apache.avro.Schema resolveSchemaForWriting(Object payload, org.springframework.messaging.MessageHeaders headers, org.springframework.util.MimeType hintedContentType) - Specified by:
resolveSchemaForWriting
in classAbstractAvroMessageConverter
-