如何用Java向kafka發(fā)送json數(shù)據(jù)
問(wèn)題描述
在網(wǎng)上都只看到一些Java生產(chǎn)STRING類型的消息。 按照J(rèn)ava的producer類來(lái)看,是可以自定義發(fā)送消息的類型,比如 producer.send(new KeyedMessage<String, HashMap<String , String>>(topic,message); 可是這樣運(yùn)行會(huì)報(bào)錯(cuò),報(bào)錯(cuò)如下,請(qǐng)求高人解答:Exception in thread 'Thread-4' java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
at kafka.serializer.StringEncoder.toBytes(Encoder.scala:46)at kafka.producer.async.DefaultEventHandler$$anonfun$serialize$1.apply(DefaultEventHandler.scala:130)at kafka.producer.async.DefaultEventHandler$$anonfun$serialize$1.apply(DefaultEventHandler.scala:125)at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:34)at kafka.producer.async.DefaultEventHandler.serialize(DefaultEventHandler.scala:125)at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:52)at kafka.producer.Producer.send(Producer.scala:77)at kafka.javaapi.producer.Producer.send(Producer.scala:33)at com.Model.Producer.kafkaProducer.run(kafkaProducer.java:35)
問(wèn)題解答
回答1:文檔,序列化成String就行了
相關(guān)文章:
1. PHPExcel表格導(dǎo)入數(shù)據(jù)庫(kù)怎么導(dǎo)入2. python - sqlalchemy更新數(shù)據(jù)報(bào)錯(cuò)3. javascript - 添加一個(gè)tr標(biāo)簽到table標(biāo)簽里,在控制臺(tái)顯示table標(biāo)簽時(shí),有2個(gè)子元素?我想要的是tr標(biāo)簽包含到table標(biāo)簽里面4. html - 網(wǎng)頁(yè)的a標(biāo)簽到底要不要寫(xiě)上域名?5. macos - 無(wú)法source activate python276. css - 移動(dòng)端 盒子內(nèi)加overflow-y:scroll后 字體會(huì)變大7. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?8. html5 - 前端面試碰到了一個(gè)緩存數(shù)據(jù)的問(wèn)題,來(lái)論壇上請(qǐng)教一下9. 我在導(dǎo)入模板資源時(shí)遇到無(wú)法顯示的問(wèn)題,請(qǐng)老師解答下10. javascript - react如何獲取offsetX?

網(wǎng)公網(wǎng)安備