Im Internet sehe ich nur einige Neuigkeiten über die Produktion des STRING-Typs durch Java.
Je nach Java-Produzentenklasse können Sie den Typ der gesendeten Nachricht anpassen, z. B. Producer.send(new KeyedMessage
Wenn Sie jedoch auf diese Weise ausführen, Es wird ein Fehler gemeldet. Bitte geben Sie wie folgt eine Expertenantwort:
Ausnahme im Thread „Thread-4“ java.lang.ClassCastException: java.util.HashMap kann nicht in java.lang.String umgewandelt werden
at kafka.serializer.StringEncoder.toBytes(Encoder.scala:46) at kafka.producer.async.DefaultEventHandler$$anonfun$serialize.apply(DefaultEventHandler.scala:130) at kafka.producer.async.DefaultEventHandler$$anonfun$serialize.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)
文档,序列化成String就行了