You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2023/06/12 11:28:12 UTC
[dubbo] branch 3.2 updated: Support Reference check timeout (#12506)
This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.2 by this push:
new 784edd7a85 Support Reference check timeout (#12506)
784edd7a85 is described below
commit 784edd7a85e95ef1512232a13182df6b251329d2
Author: Albumen Kevin <jh...@gmail.com>
AuthorDate: Mon Jun 12 19:28:03 2023 +0800
Support Reference check timeout (#12506)
---
.../src/main/java/org/apache/dubbo/config/ModuleConfig.java | 13 +++++++++++++
.../apache/dubbo/config/deploy/DefaultModuleDeployer.java | 5 ++++-
.../src/main/resources/META-INF/dubbo.xsd | 5 +++++
3 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/config/ModuleConfig.java b/dubbo-common/src/main/java/org/apache/dubbo/config/ModuleConfig.java
index 539fe9137d..511c6bbfb7 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/ModuleConfig.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/ModuleConfig.java
@@ -92,6 +92,11 @@ public class ModuleConfig extends AbstractConfig {
*/
private Integer exportThreadNum;
+ /**
+ * The timeout to check references
+ */
+ private Long checkReferenceTimeout;
+
public ModuleConfig() {
super();
}
@@ -251,4 +256,12 @@ public class ModuleConfig extends AbstractConfig {
public void setExportAsync(Boolean exportAsync) {
this.exportAsync = exportAsync;
}
+
+ public Long getCheckReferenceTimeout() {
+ return checkReferenceTimeout;
+ }
+
+ public void setCheckReferenceTimeout(Long checkReferenceTimeout) {
+ this.checkReferenceTimeout = checkReferenceTimeout;
+ }
}
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultModuleDeployer.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultModuleDeployer.java
index 7c4eaf6baa..6bde316558 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultModuleDeployer.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultModuleDeployer.java
@@ -46,6 +46,7 @@ import org.apache.dubbo.rpc.model.ProviderModel;
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
@@ -395,8 +396,10 @@ public class DefaultModuleDeployer extends AbstractDeployer<ModuleModel> impleme
}
private void checkReferences() {
+ Optional<ModuleConfig> module = configManager.getModule();
+ long timeout = module.map(ModuleConfig::getCheckReferenceTimeout).orElse(30000L);
for (ReferenceConfigBase<?> rc : configManager.getReferences()) {
- referenceCache.check(rc, 3000);
+ referenceCache.check(rc, timeout);
}
}
diff --git a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd
index 73e059465a..a2bcbee0bd 100644
--- a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd
+++ b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd
@@ -624,6 +624,11 @@
<xsd:documentation><![CDATA[ Thread num for asynchronous export pool size. ]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute name="check-reference-timeout" type="xsd:long">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[ The timeout to check references. ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
</xsd:complexType>
<xsd:complexType name="registryType">