Skip to content

Commit 715d43d

Browse files
artembilangaryrussell
authored andcommitted
Fix SmartLifecycle.stop(Runnable) usage
* Also remove redundant `stop(Runnable)` implementations which repeat a `default` one in the `SmartLifecycle` **Cherry-pick to 2.1.x & 2.0.x**
1 parent f1541f4 commit 715d43d

File tree

5 files changed

+16
-30
lines changed

5 files changed

+16
-30
lines changed

spring-rabbit/src/main/java/org/springframework/amqp/rabbit/AsyncRabbitTemplate.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -554,12 +554,6 @@ public boolean isAutoStartup() {
554554
return this.autoStartup;
555555
}
556556

557-
@Override
558-
public void stop(Runnable callback) {
559-
stop();
560-
callback.run();
561-
}
562-
563557
@SuppressWarnings("unchecked")
564558
@Override
565559
public void onMessage(Message message, Channel channel) {

spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerFactoryBean.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,9 @@ public void stop(Runnable callback) {
515515
if (this.listenerContainer != null) {
516516
this.listenerContainer.stop(callback);
517517
}
518+
else {
519+
callback.run();
520+
}
518521
}
519522

520523
/**

spring-rabbit/src/main/java/org/springframework/amqp/rabbit/core/BrokerEventListener.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,12 +185,6 @@ public void setAutoStartup(boolean autoStartup) {
185185
this.autoStartup = autoStartup;
186186
}
187187

188-
@Override
189-
public void stop(Runnable callback) {
190-
stop();
191-
callback.run();
192-
}
193-
194188
@Override
195189
public void onMessage(Message message) {
196190
if (this.applicationEventPublisher != null) {

spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/AbstractMessageListenerContainer.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1336,16 +1336,6 @@ public void stop() {
13361336
}
13371337
}
13381338

1339-
@Override
1340-
public void stop(Runnable callback) {
1341-
try {
1342-
stop();
1343-
}
1344-
finally {
1345-
callback.run();
1346-
}
1347-
}
1348-
13491339
/**
13501340
* This method is invoked when the container is stopping.
13511341
*/

spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/RabbitListenerEndpointRegistry.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -260,17 +260,22 @@ public void stop() {
260260
@Override
261261
public void stop(Runnable callback) {
262262
Collection<MessageListenerContainer> containers = getListenerContainers();
263-
AggregatingCallback aggregatingCallback = new AggregatingCallback(containers.size(), callback);
264-
for (MessageListenerContainer listenerContainer : containers) {
265-
try {
266-
listenerContainer.stop(aggregatingCallback);
267-
}
268-
catch (Exception e) {
269-
if (this.logger.isWarnEnabled()) {
270-
this.logger.warn("Failed to stop listener container [" + listenerContainer + "]", e);
263+
if (containers.size() > 0) {
264+
AggregatingCallback aggregatingCallback = new AggregatingCallback(containers.size(), callback);
265+
for (MessageListenerContainer listenerContainer : containers) {
266+
try {
267+
listenerContainer.stop(aggregatingCallback);
268+
}
269+
catch (Exception e) {
270+
if (this.logger.isWarnEnabled()) {
271+
this.logger.warn("Failed to stop listener container [" + listenerContainer + "]", e);
272+
}
271273
}
272274
}
273275
}
276+
else {
277+
callback.run();
278+
}
274279
}
275280

276281
@Override

0 commit comments

Comments
 (0)