From 0f193240e82cbac95d34b1fad395a77a0035f4bd Mon Sep 17 00:00:00 2001 From: "kaiyi.lk" Date: Tue, 24 Oct 2023 15:27:44 +0800 Subject: [PATCH] [ISSUE #7497] Extract the frequency of calling updateNamesrvAddr into a configuration --- .../apache/rocketmq/container/BrokerContainer.java | 2 +- .../rocketmq/container/BrokerContainerConfig.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/container/src/main/java/org/apache/rocketmq/container/BrokerContainer.java b/container/src/main/java/org/apache/rocketmq/container/BrokerContainer.java index 5b712bc30db..d0a550be635 100644 --- a/container/src/main/java/org/apache/rocketmq/container/BrokerContainer.java +++ b/container/src/main/java/org/apache/rocketmq/container/BrokerContainer.java @@ -164,7 +164,7 @@ public void run0() { LOG.error("ScheduledTask fetchNameServerAddr exception", e); } } - }, 1000 * 10, 1000 * 60 * 2, TimeUnit.MILLISECONDS); + }, 1000 * 10, this.brokerContainerConfig.getUpdateNamesrvAddrInterval(), TimeUnit.MILLISECONDS); } else if (this.brokerContainerConfig.isFetchNamesrvAddrByAddressServer()) { this.scheduledExecutorService.scheduleAtFixedRate(new AbstractBrokerRunnable(BrokerIdentity.BROKER_CONTAINER_IDENTITY) { diff --git a/container/src/main/java/org/apache/rocketmq/container/BrokerContainerConfig.java b/container/src/main/java/org/apache/rocketmq/container/BrokerContainerConfig.java index 77422adde8f..e03b10c34d2 100644 --- a/container/src/main/java/org/apache/rocketmq/container/BrokerContainerConfig.java +++ b/container/src/main/java/org/apache/rocketmq/container/BrokerContainerConfig.java @@ -44,6 +44,11 @@ public class BrokerContainerConfig { */ private long fetchNamesrvAddrInterval = 10 * 1000; + /** + * The interval to update namesrv addr, default value is 120 second + */ + private long updateNamesrvAddrInterval = 60 * 2 * 1000; + public String getRocketmqHome() { return rocketmqHome; } @@ -95,4 +100,12 @@ public long getFetchNamesrvAddrInterval() { public void setFetchNamesrvAddrInterval(final long fetchNamesrvAddrInterval) { this.fetchNamesrvAddrInterval = fetchNamesrvAddrInterval; } + + public long getUpdateNamesrvAddrInterval() { + return updateNamesrvAddrInterval; + } + + public void setUpdateNamesrvAddrInterval(long updateNamesrvAddrInterval) { + this.updateNamesrvAddrInterval = updateNamesrvAddrInterval; + } }