コンシューマー group.id の入手

複数のコンテナーで同じリスナーコードを実行する場合、レコードがどのコンテナー(group.id コンシューマープロパティによって識別される)からのものであるかを判別できると便利な場合があります。

これを行うには、リスナースレッドで KafkaUtils.getConsumerGroupId() を呼び出すことができます。または、メソッドパラメーターでグループ ID にアクセスすることもできます。

@KafkaListener(id = "id", topicPattern = "someTopic")
public void listener(@Payload String payload, @Header(KafkaHeaders.GROUP_ID) String groupId) {
    ...
}
これは、レコードの List<?> を受信するレコードリスナーおよびバッチリスナーで使用できます。ConsumerRecords<?, ?> 引数を受け取るバッチリスナーでは使用できません。その場合は KafkaUtils メカニズムを使用してください。