Class AvroSerializer.Builder

java.lang.Object
org.axonframework.serialization.avro.AvroSerializer.Builder
Enclosing class:
AvroSerializer

public static class AvroSerializer.Builder extends Object
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:

  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • revisionResolver

      public AvroSerializer.Builder revisionResolver(@Nonnull RevisionResolver revisionResolver)
      Sets revision resolver.
      Parameters:
      revisionResolver - revision resolver to use.
      Returns:
      builder instance.
    • schemaStore

      public AvroSerializer.Builder schemaStore(@Nonnull org.apache.avro.message.SchemaStore 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

      public AvroSerializer.Builder serializerDelegate(@Nonnull Serializer serializerDelegate)
      Sets serializer delegate, used for all types which can't be converted to Avro.
      Parameters:
      serializerDelegate - serializer delegate.
      Returns:
      builder instance.
    • addSerializerStrategy

      public AvroSerializer.Builder addSerializerStrategy(@Nonnull AvroSerializerStrategy strategy)
      Adds a serialization strategy.
      Parameters:
      strategy - strategy responsible for the serialization and deserialization.
      Returns:
      builder instance.
    • converter

      public AvroSerializer.Builder converter(Converter converter)
      Sets the Converter used as a converter factory providing converter instances utilized by upcasters to convert between different content types. Defaults to a ChainingConverter.
      Parameters:
      converter - a Converter used 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 default SpecificRecordBaseSerializerStrategy and 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 calling addSerializerStrategy(AvroSerializerStrategy) method.

      Parameters:
      includeDefaultStrategies - flag controlling default registration, defaults to true.
      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 to true.
      Returns:
      builder instance.
    • includeSchemasInStackTraces

      public AvroSerializer.Builder includeSchemasInStackTraces(boolean includeSchemasInStackTraces)
      Sets a flag to print relevant schemas in stack traces.
      Parameters:
      includeSchemasInStackTraces - flag to set, defaults to false.
      Returns:
      builder instance.
    • validate

      protected void validate() throws AxonConfigurationException
      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

      public AvroSerializer build()
      Creates an Avro Serializer instance.
      Returns:
      working instance.