...
KafkaFuture.Function
and KafkaFuture.BiCosumer
are currently public abstract classes with only one abstract method.
This means you cannot implement use them with a java 8 lambda, as that only works for functional interfaces.
Replacing those classes with interfaces makes them lambda compatible.
Public Interfaces
In the public interface, only org.apache.kafka.common.KafkaFuture
has helper classes which can better be expressed as functional interfaces.
...
As the Biconsumer
class was not used in the public interface, I decided to stick there with a backwards incompatible change.
See the pull request for more details.
Compatibility, Deprecation, and Migration Plan
...