如何用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. MySQL主鍵沖突時(shí)的更新操作和替換操作在功能上有什么差別(如圖)2. 關(guān)于mysql聯(lián)合查詢一對(duì)多的顯示結(jié)果問(wèn)題3. python - scrapy url去重4. mysql在限制條件下篩選某列數(shù)據(jù)相同的值5. 數(shù)據(jù)庫(kù) - Mysql的存儲(chǔ)過(guò)程真的是個(gè)坑!求助下面的存儲(chǔ)過(guò)程哪里錯(cuò)啦,實(shí)在是找不到哪里的問(wèn)題了。6. 小白學(xué)python的問(wèn)題 關(guān)于%d和%s的區(qū)別7. python執(zhí)行cmd命令,怎么讓他執(zhí)行類似Ctrl+C效果將其結(jié)束命令?8. 實(shí)現(xiàn)bing搜索工具urlAPI提交9. python - Django有哪些成功項(xiàng)目?10. Python從URL中提取域名
