开发者社区> 问答> 正文

如何用Java向kafka发送json数据 报错

"

在网上都只看到一些Java生产STRING类型的消息。
按照Java的producer类来看,是可以自定义发送消息的类型,比如 producer.send(new KeyedMessage<String, HashMap<String , String>>(topic,message);
可是这样运行会报错,报错如下,请求高人解答:
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)
" image.png

展开
收起
因为相信,所以看见。 2020-05-25 15:58:10 1844 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    文档,序列化成String就行了

    ![image.png](https://ucc.alicdn.com/pic/developer-ecology/5bbafc4e81f741a8ae06fcd77d934183.png)
    2020-05-25 22:53:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载