Skip to content

Commit 02dc029

Browse files
garyrussellartembilan
authored andcommitted
GH-1102: Fix KLEndpointRegistry SmartLifecycle
Resolves #1102 Add `running` boolean for `isRunning()`. Previously the registry returned `true` if at least one of its containers had been previously started manually.
1 parent 05d5891 commit 02dc029

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

spring-kafka/src/main/java/org/springframework/kafka/config/KafkaListenerEndpointRegistry.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ public class KafkaListenerEndpointRegistry implements DisposableBean, SmartLifec
7979

8080
private boolean contextRefreshed;
8181

82+
private volatile boolean running;
8283

8384
@Override
8485
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
@@ -254,13 +255,15 @@ public void start() {
254255
for (MessageListenerContainer listenerContainer : getListenerContainers()) {
255256
startIfNecessary(listenerContainer);
256257
}
258+
this.running = true;
257259
}
258260

259261
@Override
260262
public void stop() {
261263
for (MessageListenerContainer listenerContainer : getListenerContainers()) {
262264
listenerContainer.stop();
263265
}
266+
this.running = false;
264267
}
265268

266269
@Override
@@ -279,12 +282,7 @@ public void stop(Runnable callback) {
279282

280283
@Override
281284
public boolean isRunning() {
282-
for (MessageListenerContainer listenerContainer : getListenerContainers()) {
283-
if (listenerContainer.isRunning()) {
284-
return true;
285-
}
286-
}
287-
return false;
285+
return this.running;
288286
}
289287

290288

0 commit comments

Comments
 (0)