Class AvroSerializer.Builder
java.lang.Object
org.axonframework.serialization.avro.AvroSerializer.Builder
- Enclosing class:
AvroSerializer
Builder to set up Avro Serializer using some defaults.
The
RevisionResolver defaults to AnnotationRevisionResolver, the Converter defaults
to ChainingConverter and the default serialization strategies are enabled, which effectively activates
the SpecificRecordBaseSerializerStrategy.
The following fields are mandatory, to create the Serializer:
schemaStore(SchemaStore), to lookup schemas by their fingerprintsserializerDelegate(Serializer), to deserialize all non-Avro artifacts- at least one
AvroSerializerStrategyeither passed viaaddSerializerStrategy(AvroSerializerStrategy)or activated viaincludeDefaultAvroSerializationStrategies(boolean), which is a default.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddSerializerStrategy(AvroSerializerStrategy strategy) Adds a serialization strategy.build()Creates an Avro Serializer instance.Sets theConverterused as a converter factory providing converter instances utilized by upcasters to convert between different content types.includeDefaultAvroSerializationStrategies(boolean includeDefaultStrategies) Sets a flag controlling the instantiation of defaultSpecificRecordBaseSerializerStrategyand its registration.includeSchemasInStackTraces(boolean includeSchemasInStackTraces) Sets a flag to print relevant schemas in stack traces.performSchemaCompatibilityCheck(boolean performSchemaCompatibilityCheck) Sets a flag to perform Avro Schema Compatibility check during deserialization.revisionResolver(RevisionResolver revisionResolver) Sets revision resolver.schemaIncompatibilityChecker(SchemaIncompatibilityChecker incompatibilityChecker) Sets schema compatibility checker.schemaStore(org.apache.avro.message.SchemaStore schemaStore) Sets schema store for Avro schema resolution.serializerDelegate(Serializer serializerDelegate) Sets serializer delegate, used for all types which can't be converted to Avro.protected voidvalidate()Validates whether the fields contained in this Builder are set accordingly.
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
revisionResolver
Sets revision resolver.- Parameters:
revisionResolver- revision resolver to use.- Returns:
- builder instance.
-
schemaStore
Sets schema store for Avro schema resolution.- Parameters:
schemaStore- schema store instance.- Returns:
- builder instance.
-
schemaIncompatibilityChecker
public AvroSerializer.Builder schemaIncompatibilityChecker(@Nonnull SchemaIncompatibilityChecker incompatibilityChecker) Sets schema compatibility checker. -
serializerDelegate
Sets serializer delegate, used for all types which can't be converted to Avro.- Parameters:
serializerDelegate- serializer delegate.- Returns:
- builder instance.
-
addSerializerStrategy
Adds a serialization strategy.- Parameters:
strategy- strategy responsible for the serialization and deserialization.- Returns:
- builder instance.
-
converter
Sets theConverterused as a converter factory providing converter instances utilized by upcasters to convert between different content types. Defaults to aChainingConverter.- Parameters:
converter- aConverterused as a converter factory providing converter instances utilized by upcasters to convert between different content types- Returns:
- the current Builder instance, for fluent interfacing
-
includeDefaultAvroSerializationStrategies
public AvroSerializer.Builder includeDefaultAvroSerializationStrategies(boolean includeDefaultStrategies) Sets a flag controlling the instantiation of defaultSpecificRecordBaseSerializerStrategyand its registration.Allows to exclude the instantiation of the default strategy. If set to
false, the caller must provide at least one own strategy by callingaddSerializerStrategy(AvroSerializerStrategy)method.- Parameters:
includeDefaultStrategies- flag controlling default registration, defaults totrue.- Returns:
- builder instance.
-
performSchemaCompatibilityCheck
public AvroSerializer.Builder performSchemaCompatibilityCheck(boolean performSchemaCompatibilityCheck) Sets a flag to perform Avro Schema Compatibility check during deserialization.- Parameters:
performSchemaCompatibilityCheck- flag to set, defaults totrue.- Returns:
- builder instance.
-
includeSchemasInStackTraces
Sets a flag to print relevant schemas in stack traces.- Parameters:
includeSchemasInStackTraces- flag to set, defaults tofalse.- Returns:
- builder instance.
-
validate
Validates whether the fields contained in this Builder are set accordingly.- Throws:
AxonConfigurationException- if one field is asserted to be incorrect according to the Builder's specifications
-
build
Creates an Avro Serializer instance.- Returns:
- working instance.
-