如何用Java向kafka發(fā)送json數(shù)據(jù)
問題描述
在網(wǎng)上都只看到一些Java生產(chǎn)STRING類型的消息。 按照J(rèn)ava的producer類來看,是可以自定義發(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)
問題解答
回答1:文檔,序列化成String就行了
相關(guān)文章:
1. docker 17.03 怎么配置 registry mirror ?2. html - 這種錯(cuò)位的時(shí)間軸怎么布局,然后用css實(shí)現(xiàn)?3. javascript - 微信里的文章通常是怎么制作出來的?4. javascript - 七牛接口如何在前端調(diào)用?5. css3里rotate怎么實(shí)現(xiàn)如圖的效果6. javascript - 使用location.href進(jìn)行頁面跳轉(zhuǎn)時(shí),并不立即跳轉(zhuǎn)?7. HTML與HTML5的區(qū)別8. IOS app應(yīng)用軟件的id號(hào)怎么查詢?比如百度貼吧的app-id=4779278139. css3安卓下效果卡10. javascript - 華為mate8,mate9手機(jī),微信內(nèi)置瀏覽器無法上傳文件。
