Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

Error in Kafka Producer

$
0
0
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

Viewing all articles
Browse latest Browse all 5648

Trending Articles