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

liubao pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new e4be6e0  [SCB-607] Service registry failed when service before Service 
Center … (#717)
e4be6e0 is described below

commit e4be6e0f8834eb7611eba85a0477d403180d2f34
Author: laijianbin <731608...@qq.com>
AuthorDate: Mon May 21 14:28:09 2018 +0800

    [SCB-607] Service registry failed when service before Service Center … 
(#717)
    
    * [SCB-607] Service registry failed when service before Service Center 
start complete
    
    * [SCB-595] Compatible with old Servcie Center version
    
    * [SCB-595] Compatible with old Servcie Center version
    
    * Update AbstractServiceRegistry.java
    
    * Update AbstractServiceRegistry.java
    
    * [SCB-607] Service registry failed when service before Service Center 
starts complete
---
 .../api/registry/FrameworkVersions.java               | 19 +++++--------------
 .../serviceregistry/config/ServiceRegistryConfig.java |  4 +++-
 .../registry/AbstractServiceRegistry.java             | 17 +----------------
 3 files changed, 9 insertions(+), 31 deletions(-)

diff --git 
a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/FrameworkVersions.java
 
b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/FrameworkVersions.java
index f91ffd3..6e10241 100644
--- 
a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/FrameworkVersions.java
+++ 
b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/FrameworkVersions.java
@@ -16,10 +16,6 @@
  */
 package org.apache.servicecomb.serviceregistry.api.registry;
 
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
 import java.util.ServiceLoader;
 
 import org.apache.servicecomb.serviceregistry.api.Versions;
@@ -28,17 +24,12 @@ public class FrameworkVersions {
   private static final ServiceLoader<Versions> frameworkVersions = 
ServiceLoader.load(Versions.class);
 
   public static String allVersions() {
-    Map<String, String> versions = new HashMap<>();
-    Entry<String, String> entry;
     StringBuffer sb = new StringBuffer();
-
-    frameworkVersions.forEach(version -> 
versions.putAll(version.loadVersion()));
-    for (Iterator<Entry<String, String>> iterator = 
versions.entrySet().iterator(); iterator.hasNext();) {
-      entry = (Entry<String, String>) iterator.next();
-      sb.append(entry.getKey())
-          .append(":")
-          .append(entry.getValue())
-          .append(iterator.hasNext() ? ";" : "");
+    frameworkVersions.forEach(version -> version.loadVersion().forEach((key, 
value) -> {
+      sb.append(key).append(":").append(value).append(";");
+    }));
+    if (sb.length() > 0) {
+      sb.setLength(sb.length() - 1);
     }
     return sb.toString();
   }
diff --git 
a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
 
b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
index 113fed0..e91444f 100644
--- 
a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
+++ 
b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
@@ -85,10 +85,12 @@ public final class ServiceRegistryConfig {
   public static final String PROXY_USERNAME = PROXY_PRE_NAME + "username";
 
   public static final String PROXY_PASSWD = PROXY_PRE_NAME + "passwd";
-
+  
+  
   private ServiceRegistryConfig() {
 
   }
+  
 
   public String getMicroserviceVersionFactory() {
     return 
DynamicPropertyFactory.getInstance().getStringProperty(MICROSERVICE_VERSION_FACTORY,
 null).get();
diff --git 
a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/registry/AbstractServiceRegistry.java
 
b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/registry/AbstractServiceRegistry.java
index a3c25f9..d92bbcd 100644
--- 
a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/registry/AbstractServiceRegistry.java
+++ 
b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/registry/AbstractServiceRegistry.java
@@ -46,8 +46,6 @@ import 
org.apache.servicecomb.serviceregistry.definition.MicroserviceDefinition;
 import 
org.apache.servicecomb.serviceregistry.task.MicroserviceServiceCenterTask;
 import org.apache.servicecomb.serviceregistry.task.ServiceCenterTask;
 import org.apache.servicecomb.serviceregistry.task.event.ShutdownEvent;
-import org.apache.servicecomb.serviceregistry.version.Version;
-import org.apache.servicecomb.serviceregistry.version.VersionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -183,24 +181,11 @@ public abstract class AbstractServiceRegistry implements 
ServiceRegistry {
   private void loadFrameworkVersions() {
     Framework framework = new Framework();
     framework.setName(CONFIG_FRAMEWORK_DEFAULT_NAME);
-
-    if (needSetFrameworkVersion()) {
-      framework.setVersion(FrameworkVersions.allVersions());
-    }
+    framework.setVersion(FrameworkVersions.allVersions());
     microservice.setFramework(framework);
     microservice.setRegisterBy(CONFIG_DEFAULT_REGISTER_BY);
   }
 
-  private boolean needSetFrameworkVersion() {
-    if (serviceCenterInfo == null) {
-      LOGGER.warn("Server startup when service center not started and cannot 
retrieve version info, assume latest.");
-      return true;
-    }
-
-    Version scVersion = 
VersionUtils.getOrCreate(serviceCenterInfo.getVersion());
-    Version frameworkVersion = 
VersionUtils.getOrCreate(Const.SERVICECENTER_FRAMEWORK_VERSION);
-    return scVersion.compareTo(frameworkVersion) >= 0;
-  }
 
   private void loadStaticConfiguration() {
     // TODO 如果yaml定义了paths规则属性,替换默认值,现需要DynamicPropertyFactory支持数组获取

-- 
To stop receiving notification emails like this one, please contact
liu...@apache.org.

Reply via email to