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 e8f9437029..6aba70cb21 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java @@ -1302,6 +1302,10 @@ public class BrokerController { this.fastRemotingServer.shutdown(); } + if (this.brokerMetricsManager != null) { + this.brokerMetricsManager.shutdown(); + } + if (this.brokerStatsManager != null) { this.brokerStatsManager.shutdown(); } @@ -1324,6 +1328,10 @@ public class BrokerController { this.ackMessageProcessor.shutdownPopReviveService(); } + if (this.transactionalMessageService != null) { + this.transactionalMessageService.close(); + } + if (this.notificationProcessor != null) { this.notificationProcessor.getPopLongPollingService().shutdown(); } diff --git a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java index 93fa725a93..48db828e0a 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java @@ -629,7 +629,9 @@ public class TransactionalMessageServiceImpl implements TransactionalMessageServ @Override public void close() { - + if (this.transactionalOpBatchService != null) { + this.transactionalOpBatchService.shutdown(); + } } public Message getOpMessage(int queueId, String moreData) {