Hi Camel Users,

I can set key for an individual message using KafkaConstants.KEY in the header. 
However, the whole process took extremely long time (more than 20 mins) to 
produce 500K messages with key into Kafka topic. I also tried to produce 
messages in batch without assigning the key which took 14 seconds for 500K 
messages. So my question is how to assign the key for the batch messages?
Processor(GsonStreamProcessor):
if (numberOfRecords % batchSize == 0) {

List<String> batchList = new ArrayList<String>();

exchange.getIn().setBody(batchList);
exchange.getIn().setHeader(KafkaConstants.KEY, "key-"+keyCount);     //This 
line not working with batch messages

ProducerTemplate template = exchange.getContext().createProducerTemplate();

template.send("vm:msg", exchange); 
}

Route:
from("direct:start")
.process("GsonStreamProcessor")
.log("Done");
 from("vm:msg")
.to("kafka:.....");
 

Thank you,



Reply via email to