我有我的自定義Java對象,並希望能夠充分利用JVM的內置序列化將其發送到卡夫卡的話題,但系列化失敗,下面的錯誤發送自定義Java對象卡夫卡主題
org.apache.kafka。 common.errors.SerializationException:不能類com.spring.kafka.Payload的 值轉換爲org.apache.kafka.common.serialization.ByteArraySerializer指定 類 value.serializer
有效載荷。 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;
}
}
在我的創作製片人,我有以下的屬性中設置
<entry key="key.serializer"
value="org.apache.kafka.common.serialization.ByteArraySerializer" />
<entry key="value.serializer"
value="org.apache.kafka.common.serialization.ByteArraySerializer" />
我發送調用是如下
kafkaProducer.send(new ProducerRecord<String, Payload>("test", new Payload()));
什麼是發送自定義Java對象正確的方法通過製作人製作一個卡夫卡主題?
另一種選擇是轉換成JSON格式發送 – ravthiru