0
    @Incoming("kafka-consumer-incoming")
    @Blocking
    public void listen(ConsumerRecord<String, String> record) {
      String eventType=null;
     if(record.headers()!=null) {
           //eventType =IR/VR/CR/MR/BR possible values 
         Header eventTypeHeader = record.headers().lastHeader("milestoneEvent");
         
         if (eventTypeHeader != null && eventTypeHeader.value() != null) {
             eventType = new String(eventTypeHeader.value(), StandardCharsets.UTF_8);
             System.out.println("eventType=="+eventType);
         }      
}
}

eventType having different values,if eventType value is equals to IR/VR,then I need to listen/consume messages from kafka-consumer-incoming topic.

How can we control this in quarkus?

OneCricketeer
  • 179,855
  • 19
  • 132
  • 245

1 Answers1

0

You have to consume from all records; Kafka cannot be queried by headers. What you're doing is correct - check and filter for specific values within each consumed record, then process or ignore, accordingly.

OneCricketeer
  • 179,855
  • 19
  • 132
  • 245