I have a Service that consumes kafka messages and triggers a long process. It can take more than 10 min to process one message. Currently no new message is consumed until "doSomething()" method finishes. How can I make this a concurrent processing and process messages in parallel?
@Service
public class MyService {
@KafkaListener(topics = "request-topic", groupId = "group_id"),
containerFactory = "requirementsKafkaListenerFactory")
private void consumeKafkaRequirementsDataJson(KafkaRequirementsData kafkaRequirementsData) {
System.out.println("Consumed JSON Message from kafka Topic: " + kafkaRequirementsData);
doSomething(kafkaRequirementsData);
}