Jeff Klukas created KAFKA-3801: ---------------------------------- Summary: Provide static serialize() and deserialize() for use as method references Key: KAFKA-3801 URL: https://issues.apache.org/jira/browse/KAFKA-3801 Project: Kafka Issue Type: Improvement Components: clients, streams Reporter: Jeff Klukas Assignee: Guozhang Wang Priority: Minor Fix For: 0.10.1.0
While most calls to {{Serializer.serialize}} and {{Deserializer.deserialize}} are abstracted away in Kafka Streams through the use of `Serdes` classes, there are some instances where developers may want to call them directly. The serializers and deserializers for simple types don't require any configuration and could be static, but currently it's necessary to create an instance to use those methods. I'd propose moving serialization logic into a {{static public byte[] serialize(? data)}} method and deserialization logic into a {{static public ? deserialize(byte[] data)}} method. The existing instance methods would simply call the static versions. See a full example for LongSerializer and LongDeserializer here: https://github.com/apache/kafka/compare/trunk...jklukas:static-serde-methods?expand=1 In Java 8, these static methods then become available for method references in code like {{kstream.mapValues(LongDeserializer::deserialize)}} without the user needing to create an instance of {{LongDeserializer}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)