diff --git a/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java b/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java index a4968cba505021232ae8c50014aa53722f2557df..293e51e9b8b5edec4b7509632c6ad339eb176b54 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java @@ -682,6 +682,22 @@ public class BrokerController { if (this.consumerFilterManager != null) { this.consumerFilterManager.persist(); } + + if (this.clientManageExecutor != null) { + this.clientManageExecutor.shutdown(); + } + + if (this.queryMessageExecutor != null) { + this.queryMessageExecutor.shutdown(); + } + + if (this.consumerManageExecutor != null) { + this.consumerManageExecutor.shutdown(); + } + + if (this.fileWatchService != null) { + this.fileWatchService.shutdown(); + } } private void unregisterBrokerAll() {