Mam niestandardowego obiektu Java i chcą wykorzystać JVM jest w wybudowanym serializacji, aby wysłać go do tematu Kafki, ale nie serializacji z błędem poniżejWyślij do klienta Java Objects Kafka Temat
org.apache.kafka. common.errors.SerializationException: nie można konwertować wartość klasy com.spring.kafka.Payload do klasy określonym org.apache.kafka.common.serialization.ByteArraySerializer w value.serializer
ładunku. java
public class Payload implements Serializable {
private static final long serialVersionUID = 123L;
private String name="vinod";
private int anInt = 5;
private Double aDouble = new Double("5.0");
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAnInt() {
return anInt;
}
public void setAnInt(int anInt) {
this.anInt = anInt;
}
public Double getaDouble() {
return aDouble;
}
public void setaDouble(Double aDouble) {
this.aDouble = aDouble;
}
}
Podczas tworzenia producenta, mam następujące właściwości ustawione
<entry key="key.serializer"
value="org.apache.kafka.common.serialization.ByteArraySerializer" />
<entry key="value.serializer"
value="org.apache.kafka.common.serialization.ByteArraySerializer" />
Moja wyślij invoke jest poniżej
kafkaProducer.send(new ProducerRecord<String, Payload>("test", new Payload()));
Co jest poprawny sposób wysyłania niestandardowych obiektów java przez producenta do tematu kafka?
Innym rozwiązaniem jest konwersja do formatu JSON i wysłać – ravthiru