コンシューマー 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 メカニズムを使用してください。 |