Hi all, I am a new user of Kafka. I tried Java example of it and it worked great. Now when I tried to write to a Producer (Java) and send ByteArray to it as a data, I get ClassCastException as below
java.lang.ClassCastException: java.lang.String cannot be cast to [B at kafka.serializer.DefaultEncoder.toBytes(Encoder.scala:34) at kafka.producer.async.DefaultEventHandler$$anonfun$serialize$1.apply(DefaultEventHandler.scala:128) at kafka.producer.async.DefaultEventHandler$$anonfun$serialize$1.apply(DefaultEventHandler.scala:125) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233) at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:34) at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:33) at scala.collection.TraversableLike$class.map(TraversableLike.scala:233) at scala.collection.mutable.WrappedArray.map(WrappedArray.scala:33) 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:76) at kafka.javaapi.producer.Producer.send(Producer.scala:33) ===================== I am setting up Kafka properties as below - props.put("serializer.class", "kafka.serializer.DefaultEncoder"); props.put("partitioner.class", "kafka.producer.DefaultPartitioner"); ===================== And I am sending data to producer as mentioned below - KeyedMessage<String,byte[]> data = new KeyedMessage<String, byte[]> ("Topic", key, bytearray ); producer.send(data); Can someone help me understand where actually this ClassCast problem is occurring? ..lCassa