consumerProps.put("group.id", "my-group"); consumerProps.put("group.instance.id", "consumer-1"); // Consumer subscribes and polls messages consumer.subscribe(Collections.singletonList("my-topic")); ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(1)); System.out.println("Polled records count: " + records.count()); // Consumer closes and restarts with same group.instance.id consumer.close(); consumer = new KafkaConsumer<>(consumerProps); consumer.subscribe(Collections.singletonList("my-topic")); records = consumer.poll(Duration.ofSeconds(1)); System.out.println("Polled records count after restart: " + records.count());
consumerProps.put("group.id", "my-group"); consumerProps.put("group.instance.id", "consumer-42"); consumer.subscribe(Collections.singletonList("my-topic"), new ConsumerRebalanceListener() { public void onPartitionsRevoked(Collection<TopicPartition> partitions) { System.out.println("Partitions revoked: " + partitions); } public void onPartitionsAssigned(Collection<TopicPartition> partitions) { System.out.println("Partitions assigned: " + partitions); } }); consumer.poll(Duration.ofSeconds(1)); consumer.close(); // Restart consumer with same group.instance.id consumer = new KafkaConsumer<>(consumerProps); consumer.subscribe(Collections.singletonList("my-topic"), new ConsumerRebalanceListener() { public void onPartitionsRevoked(Collection<TopicPartition> partitions) { System.out.println("Partitions revoked: " + partitions); } public void onPartitionsAssigned(Collection<TopicPartition> partitions) { System.out.println("Partitions assigned: " + partitions); } }); consumer.poll(Duration.ofSeconds(1));
