diff --git a/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/inbound/KafkaMessageSource.java b/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/inbound/KafkaMessageSource.java index b4e1ad67db..666586b6e3 100644 --- a/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/inbound/KafkaMessageSource.java +++ b/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/inbound/KafkaMessageSource.java @@ -262,6 +262,7 @@ public class KafkaMessageSource extends AbstractMessageSource synchronized (this.consumerMonitor) { if (this.consumer != null) { this.consumer.close(30, TimeUnit.SECONDS); + this.consumer = null; } } this.running = false; @@ -307,8 +308,8 @@ public class KafkaMessageSource extends AbstractMessageSource } protected void createConsumer() { - this.consumer = this.consumerFactory.createConsumer(this.groupId, this.clientId, null); synchronized (this.consumerMonitor) { + this.consumer = this.consumerFactory.createConsumer(this.groupId, this.clientId, null); this.consumer.subscribe(Arrays.asList(this.topics), new ConsumerRebalanceListener() { @Override @@ -332,6 +333,7 @@ public class KafkaMessageSource extends AbstractMessageSource } }); + this.running = true; } }