New sample for Kafka native serialization with functions

This commit is contained in:
Soby Chacko
2020-01-09 17:32:28 -05:00
parent 6f263291a6
commit 85551b3376
14 changed files with 917 additions and 0 deletions
@@ -0,0 +1,24 @@
package com.example.kafkanativeserialization;
import java.util.function.Function;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class KafkaNativeSerializationApplication {
public static void main(String[] args) {
SpringApplication.run(KafkaNativeSerializationApplication.class, args);
}
@Bean
public Function<String, Person> process() {
return str -> {
Person item = new Person(str);
return item;
};
}
}
@@ -0,0 +1,6 @@
package com.example.kafkanativeserialization;
import org.springframework.kafka.support.serializer.JsonDeserializer;
public class MyJsonDeserializer extends JsonDeserializer<Person> {
}
@@ -0,0 +1,19 @@
package com.example.kafkanativeserialization;
import org.apache.kafka.common.header.Headers;
import org.springframework.kafka.support.serializer.JsonSerializer;
import org.springframework.lang.Nullable;
public class MyJsonSerializer extends JsonSerializer<Object> {
@Override
@Nullable
public byte[] serialize(String topic, Headers headers, @Nullable Object data) {
return super.serialize(topic, headers, data);
}
@Override
@Nullable
public byte[] serialize(String topic, @Nullable Object data) {
return super.serialize(topic, data);
}
}
@@ -0,0 +1,17 @@
package com.example.kafkanativeserialization;
public class Person {
private String name;
public Person() {
}
public Person(String name) {
this.setName(name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}