Following this tutorial: LINK
I'm implementing the org.apache.kafka.common.serialization.Serializer
interface in this way:
public class CustomSerializer implements Serializer {
private final ObjectMapper objectMapper = new ObjectMapper();
@Override
public byte[] serialize(String s, OrderDto data) {
try {
if (data == null) {
System.out.println("Null received at serializing");
return null;
}
System.out.println("Serializing...");
return objectMapper.writeValueAsBytes(data);
} catch (Exception e) {
throw new SerializationException("Error when serializing MessageDto to byte[]");
}
}
But I'm obtaining this error:
Class 'CustomSerializer' must either be declared abstract or implement abstract method 'serialize(String, T)' in 'Serializer'
If I override the serialize method in this way:
public byte[] serialize(String s, Object data) { ... }
Everything compile.
What I am missing ? OrderDto is an object too.