anchor.diff:  
   == Introduction
   
  -When organizations have a messaging based pub/sub architecture and multiple producer and consumer microservices communicate each other, it is often necessary for all those microservices to agree on a contract that is based on a schema.
  +When organizations have a messaging based pub/sub architecture and multiple producer and consumer microservices communicate with each other, it is often necessary for all those microservices to agree on a contract that is based on a schema.
   When such a schema needs to evolve to accommodate new business requirements, the existing components are still required to continue to work.
  -This project provides support for a standalone schema registry server using which aforementioned schema can be registered and used by the applications.
  -It also contains support for avro based schema registry clients, which essentially provide message converters that communicates with the schema registry for reconciling schema during message conversion.
  -The schema evolution support provided by this project works both with the aforementioned standalone schema registry as well as the schema registry provided by Confluent that specifically works with Apache Kafka.
  +Spring Cloud Stream provides support for a standalone schema registry server using which aforementioned schema can be registered and used by the applications.
  +Spring Cloud Stream schema registry support also provides support for avro based schema registry clients, which essentially provide message converters that communicates with the schema registry for reconciling schema during message conversion.
  +The schema evolution support provided by Spring Cloud Stream works both with the aforementioned standalone schema registry as well as the schema registry provided by Confluent that specifically works with Apache Kafka.
   
   ==== Spring Cloud Stream Schema Registry overview
   
  -Spring Cloud Stream Schema Registry provides support for schema evolution so that the data can be evolved over time and still work with older or newer producers and consumers and vice versa. Most serialization models, especially the ones that aim for portability across different platforms and languages, rely on a schema that describes how the data is serialized in the binary payload. In order to serialize the data and then to interpret it, both the sending and receiving sides must have access to a schema that describes the binary format. In certain cases, the schema can be inferred from the payload type on serialization or from the target type on deserialization.
  +Spring Cloud Stream Schema Registry provides support for schema evolution so that the data can be evolved over time and still work with older or newer producers and consumers and vice versa.
  +Most serialization models, especially the ones that aim for portability across different platforms and languages, rely on a schema that describes how the data is serialized in the binary payload.
  +In order to serialize the data and then to interpret it, both the sending and receiving sides must have access to a schema that describes the binary format.
  +In certain cases, the schema can be inferred from the payload type on serialization or from the target type on deserialization.
   However, many applications benefit from having access to an explicit schema that describes the binary data format.
   A schema registry lets you store schema information in a textual format (typically JSON) and makes that information accessible to various applications that need it to receive and send data in binary format.
   A schema is referenceable as a tuple consisting of:
  
positive.code: 
  ==== Avro Schema Registry Message Converter Properties
  
  If you have enabled Avro based schema registry client by setting `spring.cloud.stream.stream.bindings.output.contentType=application/*+avro`, you can customize the behavior of the registration by setting the following properties.
  
  spring.cloud.stream.schema.avro.dynamicSchemaGenerationEnabled:: Enable if you want the converter to use reflection to infer a Schema from a POJO.
  +
  Default: `false`
  +
  spring.cloud.stream.schema.avro.readerSchema:: Avro compares schema versions by looking at a writer schema (origin payload) and a reader schema (your application payload). See the https://avro.apache.org/docs/1.7.6/spec.html[Avro documentation] for more information. If set, this overrides any lookups at the schema server and uses the local schema as the reader schema.
  Default: `null`
  +
  spring.cloud.stream.schema.avro.schemaLocations:: Registers any `.avsc` files listed in this property with the Schema Server.
  
negative.code: 
  [source,java]
  ----
  @SpringBootApplication
  public static class SinkApplication {
  
  