2 回答

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
嘗試實(shí)現(xiàn)一個(gè)反序列化器并將其作為值反序列化器傳遞給KafkaConsumer構(gòu)造函數(shù)。它可能看起來(lái)像這樣:
class SolidListDeserializer implements Deserializer<SolidList> {
public SolidList deserialize(final String topic, byte[] data) {
return SolidList.parseFrom(data);
}
...
}
...
KafkaConsumer<Long, SolidList> consumer = new KafkaConsumer<>(props, new LongDeserializer(), new SolidListDeserializer())

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以將 kafka 讀作ConsumerRecords<Long, String>
. 接著SolidList.parseFrom(ByteBuffer.wrap(record.value().getBytes("UTF-8")));
添加回答
舉報(bào)