Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Adds the ability for producers to set standard header key=value value pairs
  • No incompatible client api change (only new methods)
  • Allows users to specify the serialisation of the header value per header
  • Provides a standardised interface to eco systems of tools that then can grow around the feature

The disadvantage of this proposal is:

  • Change to the message object

Create a Headers Interface and Implementation to encapsulate headers protocol.

  • Fields:
    • Headers[] headersArray
  • Constructors
    • ()
    • (bytes[] headerBytes)
  • Methods
    • Collection<Header> getIterable<Header> filter(String key)
    • Headers add(Header header)Collection<String> keys(append(Iterable<Header> headers)
    • byte[] asBytes()

Add a headers field Headers to both ProducerRecord and ConsumerRecord

  • Accessor methods of Headers getHeaders() added to interface of the ProducerRecord/ConsumerRecord.
  • Add constructor(s) of Producer/ConsumerRecord to allow passing in of existing he Iterable<Header> 
    1. use case is MirrorMakers able to copy headers.

...