You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by hu...@apache.org on 2019/04/30 08:47:43 UTC
[incubator-dubbo] branch master updated: #3952: Dubbo 2.7.1 delay
export function doesn't work, a follow up for #3957 (#3959)
This is an automated email from the ASF dual-hosted git repository.
huxing pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 78c7509 #3952: Dubbo 2.7.1 delay export function doesn't work, a follow up for #3957 (#3959)
78c7509 is described below
commit 78c75093f588b3ec3659fd426da774c392e5b10b
Author: Ian Luo <ia...@gmail.com>
AuthorDate: Tue Apr 30 16:47:30 2019 +0800
#3952: Dubbo 2.7.1 delay export function doesn't work, a follow up for #3957 (#3959)
---
.../org/apache/dubbo/config/ServiceConfig.java | 26 ++++++++++------------
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
index e540dc0..0c38b2f 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
@@ -335,35 +335,33 @@ public class ServiceConfig<T> extends AbstractServiceConfig {
}
if (shouldDelay()) {
- delayExportExecutor.schedule(this::doExport, delay, TimeUnit.MILLISECONDS);
+ delayExportExecutor.schedule(this::doExport, getDelay(), TimeUnit.MILLISECONDS);
} else {
doExport();
}
}
private boolean shouldExport() {
- Boolean shouldExport = getExport();
- if (shouldExport == null && provider != null) {
- shouldExport = provider.getExport();
- }
-
+ Boolean export = getExport();
// default value is true
- if (shouldExport == null) {
- return true;
- }
+ return export == null ? true : export;
+ }
- return shouldExport;
+ @Override
+ public Boolean getExport() {
+ return (export == null && provider != null) ? provider.getExport() : export;
}
private boolean shouldDelay() {
Integer delay = getDelay();
- if (delay == null && provider != null) {
- delay = provider.getDelay();
- }
- this.delay = delay;
return delay != null && delay > 0;
}
+ @Override
+ public Integer getDelay() {
+ return (delay == null && provider != null) ? provider.getDelay() : delay;
+ }
+
protected synchronized void doExport() {
if (unexported) {
throw new IllegalStateException("The service " + interfaceClass.getName() + " has already unexported!");