This is an automated email from the ASF dual-hosted git repository.

iluo pushed a commit to branch 2.7.0-release
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git


The following commit(s) were added to refs/heads/2.7.0-release by this push:
     new de76413  fix #3123.  support metadata xml config and support 
dubbo.properties format 'dubbo.metadata-report.address=XXx' (#3138)
de76413 is described below

commit de76413dbe8cd10dc02451e53f8c399e5e41b484
Author: cvictory <[email protected]>
AuthorDate: Fri Jan 4 15:23:41 2019 +0800

    fix #3123.  support metadata xml config and support dubbo.properties format 
'dubbo.metadata-report.address=XXx' (#3138)
    
    * fix #3124 . move RegistryDataConfig configuration into RegistryConfig and 
remove RegistryDataConfig
    
    * fix #3123.  support metadata xml configuration; support configuration 
format dubbo.metadata-report.address=xxx
---
 .../java/org/apache/dubbo/common/Constants.java    |  2 ++
 .../apache/dubbo/config/MetadataReportConfig.java  | 31 +++++++++++++++++-----
 .../annotation/DubboConfigConfiguration.java       |  3 ++-
 .../spring/schema/DubboNamespaceHandler.java       |  2 ++
 .../src/main/resources/META-INF/compat/dubbo.xsd   | 22 ++++++++++++++-
 .../src/main/resources/META-INF/dubbo.xsd          | 23 +++++++++++++++-
 6 files changed, 74 insertions(+), 9 deletions(-)

diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java 
b/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
index fa957b0..0ecc5fe 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
@@ -176,6 +176,8 @@ public class Constants {
 
     public static final String REMOVE_VALUE_PREFIX = "-";
 
+    public static final String PROPERTIES_CHAR_SEPERATOR = "-";
+
     public static final String HIDE_KEY_PREFIX = ".";
 
     public static final String DEFAULT_KEY_PREFIX = "default.";
diff --git 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
index a134eef..95c8795 100644
--- 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
+++ 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
@@ -16,11 +16,14 @@
  */
 package org.apache.dubbo.config;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.utils.StringUtils;
 import org.apache.dubbo.config.support.Parameter;
 
 import java.util.Map;
 
+import static org.apache.dubbo.common.Constants.PROPERTIES_CHAR_SEPERATOR;
+
 /**
  * RegistryConfig
  *
@@ -29,6 +32,12 @@ import java.util.Map;
 public class MetadataReportConfig extends AbstractConfig {
 
     private static final long serialVersionUID = 55233L;
+    /**
+     * the value is : metadata-report
+     */
+    private static final String PREFIX_TAG = StringUtils.camelToSplitName(
+            MetadataReportConfig.class.getSimpleName().substring(0, 
MetadataReportConfig.class.getSimpleName().length() - 6), 
PROPERTIES_CHAR_SEPERATOR);
+
     // Register center address
     private String address;
 
@@ -104,6 +113,7 @@ public class MetadataReportConfig extends AbstractConfig {
         this.parameters = parameters;
     }
 
+    @Parameter(key = "retry-times")
     public Integer getRetryTimes() {
         return retryTimes;
     }
@@ -112,6 +122,7 @@ public class MetadataReportConfig extends AbstractConfig {
         this.retryTimes = retryTimes;
     }
 
+    @Parameter(key = "retry-period")
     public Integer getRetryPeriod() {
         return retryPeriod;
     }
@@ -120,6 +131,7 @@ public class MetadataReportConfig extends AbstractConfig {
         this.retryPeriod = retryPeriod;
     }
 
+    @Parameter(key = "cycle-report")
     public Boolean getCycleReport() {
         return cycleReport;
     }
@@ -128,12 +140,7 @@ public class MetadataReportConfig extends AbstractConfig {
         this.cycleReport = cycleReport;
     }
 
-    @Override
-    @Parameter(excluded = true)
-    public boolean isValid() {
-        return StringUtils.isNotEmpty(address);
-    }
-
+    @Parameter(key = "sync-report")
     public Boolean getSyncReport() {
         return syncReport;
     }
@@ -141,4 +148,16 @@ public class MetadataReportConfig extends AbstractConfig {
     public void setSyncReport(Boolean syncReport) {
         this.syncReport = syncReport;
     }
+
+
+    @Parameter(excluded = true)
+    public String getPrefix() {
+        return StringUtils.isNotEmpty(prefix) ? prefix : (Constants.DUBBO + 
"." + PREFIX_TAG);
+    }
+
+    @Override
+    @Parameter(excluded = true)
+    public boolean isValid() {
+        return StringUtils.isNotEmpty(address);
+    }
 }
diff --git 
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
 
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
index 6433070..de60b5d 100644
--- 
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
+++ 
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
@@ -75,7 +75,8 @@ public class DubboConfigConfiguration {
             @EnableDubboConfigBinding(prefix = "dubbo.monitors", type = 
MonitorConfig.class, multiple = true),
             @EnableDubboConfigBinding(prefix = "dubbo.providers", type = 
ProviderConfig.class, multiple = true),
             @EnableDubboConfigBinding(prefix = "dubbo.consumers", type = 
ConsumerConfig.class, multiple = true),
-            @EnableDubboConfigBinding(prefix = "dubbo.config-centers", type = 
ConfigCenterBean.class, multiple = true)
+            @EnableDubboConfigBinding(prefix = "dubbo.config-centers", type = 
ConfigCenterBean.class, multiple = true),
+            @EnableDubboConfigBinding(prefix = "dubbo.metadata-reports", type 
= MetadataReportConfig.class, multiple = true)
     })
     public static class Multiple {
 
diff --git 
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/schema/DubboNamespaceHandler.java
 
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/schema/DubboNamespaceHandler.java
index d4ea6ed..4d7b0af 100644
--- 
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/schema/DubboNamespaceHandler.java
+++ 
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/schema/DubboNamespaceHandler.java
@@ -19,6 +19,7 @@ package org.apache.dubbo.config.spring.schema;
 import org.apache.dubbo.common.Version;
 import org.apache.dubbo.config.ApplicationConfig;
 import org.apache.dubbo.config.ConsumerConfig;
+import org.apache.dubbo.config.MetadataReportConfig;
 import org.apache.dubbo.config.ModuleConfig;
 import org.apache.dubbo.config.MonitorConfig;
 import org.apache.dubbo.config.ProtocolConfig;
@@ -47,6 +48,7 @@ public class DubboNamespaceHandler extends 
NamespaceHandlerSupport {
         registerBeanDefinitionParser("module", new 
DubboBeanDefinitionParser(ModuleConfig.class, true));
         registerBeanDefinitionParser("registry", new 
DubboBeanDefinitionParser(RegistryConfig.class, true));
         registerBeanDefinitionParser("config-center", new 
DubboBeanDefinitionParser(ConfigCenterBean.class, true));
+        registerBeanDefinitionParser("metadata-report", new 
DubboBeanDefinitionParser(MetadataReportConfig.class, true));
         registerBeanDefinitionParser("monitor", new 
DubboBeanDefinitionParser(MonitorConfig.class, true));
         registerBeanDefinitionParser("provider", new 
DubboBeanDefinitionParser(ProviderConfig.class, true));
         registerBeanDefinitionParser("consumer", new 
DubboBeanDefinitionParser(ConsumerConfig.class, true));
diff --git 
a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd 
b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd
index 3d3c371..98e8f66 100644
--- 
a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd
+++ 
b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd
@@ -606,6 +606,26 @@
                 <xsd:documentation><![CDATA[ The request timeout. 
]]></xsd:documentation>
             </xsd:annotation>
         </xsd:attribute>
+        <xsd:attribute name="retry-times" type="xsd:integer" use="optional">
+            <xsd:annotation>
+                <xsd:documentation><![CDATA[ if fail, retry times. 
]]></xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
+        <xsd:attribute name="retry-period" type="xsd:integer" use="optional">
+            <xsd:annotation>
+                <xsd:documentation><![CDATA[ if fail, retry period. 
]]></xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
+        <xsd:attribute name="cycle-report" type="xsd:boolean" use="optional">
+            <xsd:annotation>
+                <xsd:documentation><![CDATA[ report cyclely. 
]]></xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
+        <xsd:attribute name="sync-report" type="xsd:boolean" use="optional">
+            <xsd:annotation>
+                <xsd:documentation><![CDATA[ Sync or Async report. 
]]></xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
     </xsd:complexType>
 
     <xsd:complexType name="configCenterType">
@@ -1342,7 +1362,7 @@
         </xsd:annotation>
     </xsd:element>
 
-    <xsd:element name="metadata" type="metadataReportType">
+    <xsd:element name="metadata-report" type="metadataReportType">
         <xsd:annotation>
             <xsd:documentation><![CDATA[ The metadataReport config 
]]></xsd:documentation>
             <xsd:appinfo>
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 d0db0be..05ff2d5 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
@@ -600,6 +600,27 @@
                 <xsd:documentation><![CDATA[ The request timeout. 
]]></xsd:documentation>
             </xsd:annotation>
         </xsd:attribute>
+
+        <xsd:attribute name="retry-times" type="xsd:integer" use="optional">
+            <xsd:annotation>
+                <xsd:documentation><![CDATA[ if fail, retry times. 
]]></xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
+        <xsd:attribute name="retry-period" type="xsd:integer" use="optional">
+            <xsd:annotation>
+                <xsd:documentation><![CDATA[ if fail, retry period. 
]]></xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
+        <xsd:attribute name="cycle-report" type="xsd:boolean" use="optional">
+            <xsd:annotation>
+                <xsd:documentation><![CDATA[ report cyclely. 
]]></xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
+        <xsd:attribute name="sync-report" type="xsd:boolean" use="optional">
+            <xsd:annotation>
+                <xsd:documentation><![CDATA[ Sync or Async report. 
]]></xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
     </xsd:complexType>
 
     <xsd:complexType name="configCenterType">
@@ -1336,7 +1357,7 @@
         </xsd:annotation>
     </xsd:element>
 
-    <xsd:element name="metadata" type="metadataReportType">
+    <xsd:element name="metadata-report" type="metadataReportType">
         <xsd:annotation>
             <xsd:documentation><![CDATA[ The metadataReport config 
]]></xsd:documentation>
         </xsd:annotation>

Reply via email to