[ https://issues.apache.org/jira/browse/KAFKA-4449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Guo updated KAFKA-4449: ----------------------------- Description: Currently, there are only build-in serializer/deserializer for basic data type (String, Long, etc). It's better to have serializer/deserializer for POJO. If we had this, user can serialize/deserialize all of their POJO with it. Otherwise, user may need to create e pair of serializer and deserializer for each kind of POJO, just like the implementation in the stream example PageViewTypeDemo https://github.com/apache/kafka/blob/trunk/streams/examples/src/main/java/org/apache/kafka/streams/examples/pageview/PageViewTypedDemo.java Let's take above streams-example as an example, Serde was created for PageView as below final Serializer<PageView> pageViewSerializer = new JsonPOJOSerializer<>(); serdeProps.put("JsonPOJOClass", PageView.class); pageViewSerializer.configure(serdeProps, false); final Deserializer<PageView> pageViewDeserializer = new JsonPOJODeserializer<>(); serdeProps.put("JsonPOJOClass", PageView.class); pageViewDeserializer.configure(serdeProps, false); final Serde<PageView> pageViewSerde = Serdes.serdeFrom(pageViewSerializer, pageViewDeserializer); If we use this POJO serializer/deserializer, the Serde can be created with only one line Serdes.serdeFrom(RegionCount.class) was: Currently, there are only build-in serializer/deserializer for basic data type. It's better to have serializer/deserializer for POJO. If we had this, user can serialize/deserialize all of their POJO with it. Otherwise, user may need to create e pair of serializer and deserializer for each kind of POJO, just like the implementation in the stream example PageViewTypeDemo https://github.com/apache/kafka/blob/trunk/streams/examples/src/main/java/org/apache/kafka/streams/examples/pageview/PageViewTypedDemo.java > Add Serializer/Deserializer for POJO > ------------------------------------ > > Key: KAFKA-4449 > URL: https://issues.apache.org/jira/browse/KAFKA-4449 > Project: Kafka > Issue Type: Improvement > Components: clients > Affects Versions: 0.10.0.1 > Reporter: Jason Guo > Priority: Minor > Labels: easyfix, features > Fix For: 0.10.1.0 > > Original Estimate: 1h > Remaining Estimate: 1h > > Currently, there are only build-in serializer/deserializer for basic data > type (String, Long, etc). It's better to have serializer/deserializer for > POJO. > If we had this, user can serialize/deserialize all of their POJO with it. > Otherwise, user may need to create e pair of serializer and deserializer for > each kind of POJO, just like the implementation in the stream example > PageViewTypeDemo > https://github.com/apache/kafka/blob/trunk/streams/examples/src/main/java/org/apache/kafka/streams/examples/pageview/PageViewTypedDemo.java > Let's take above streams-example as an example, Serde was created for > PageView as below > final Serializer<PageView> pageViewSerializer = new > JsonPOJOSerializer<>(); > serdeProps.put("JsonPOJOClass", PageView.class); > pageViewSerializer.configure(serdeProps, false); > final Deserializer<PageView> pageViewDeserializer = new > JsonPOJODeserializer<>(); > serdeProps.put("JsonPOJOClass", PageView.class); > pageViewDeserializer.configure(serdeProps, false); > final Serde<PageView> pageViewSerde = > Serdes.serdeFrom(pageViewSerializer, pageViewDeserializer); > If we use this POJO serializer/deserializer, the Serde can be created with > only one line > Serdes.serdeFrom(RegionCount.class) -- This message was sent by Atlassian JIRA (v6.3.4#6332)