From be46282349dc38f7b1d257911d2c6f2ca7bc4237 Mon Sep 17 00:00:00 2001 From: Gary Russell Date: Thu, 1 Jun 2017 13:52:23 -0400 Subject: [PATCH] Fix Broken null-check for client.id Adding the group broke the client.id logic when no client.id configured. `EnableKafkaIntegrationTests`... 13:51:01.196 WARN [main][org.apache.kafka.common.utils.AppInfoParser] Error registering AppInfo mbean javax.management.InstanceAlreadyExistsException: kafka.consumer:type=app-info,id=null-0 --- .../kafka/core/DefaultKafkaConsumerFactory.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spring-kafka/src/main/java/org/springframework/kafka/core/DefaultKafkaConsumerFactory.java b/spring-kafka/src/main/java/org/springframework/kafka/core/DefaultKafkaConsumerFactory.java index fd6e873a..4df23bd0 100644 --- a/spring-kafka/src/main/java/org/springframework/kafka/core/DefaultKafkaConsumerFactory.java +++ b/spring-kafka/src/main/java/org/springframework/kafka/core/DefaultKafkaConsumerFactory.java @@ -98,7 +98,9 @@ public class DefaultKafkaConsumerFactory implements ConsumerFactory } protected KafkaConsumer createKafkaConsumer(String groupId, String clientIdSuffix) { - if (groupId == null && (!this.configs.containsKey(ConsumerConfig.CLIENT_ID_CONFIG) || clientIdSuffix == null)) { + boolean shouldModifyClientId = this.configs.containsKey(ConsumerConfig.CLIENT_ID_CONFIG) + && clientIdSuffix != null; + if (groupId == null && !shouldModifyClientId) { return createKafkaConsumer(); } else { @@ -106,7 +108,7 @@ public class DefaultKafkaConsumerFactory implements ConsumerFactory if (groupId != null) { modifiedConfigs.put(ConsumerConfig.GROUP_ID_CONFIG, groupId); } - if (clientIdSuffix != null) { + if (shouldModifyClientId) { modifiedConfigs.put(ConsumerConfig.CLIENT_ID_CONFIG, modifiedConfigs.get(ConsumerConfig.CLIENT_ID_CONFIG) + clientIdSuffix); }