You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/01/10 08:03:04 UTC

[incubator-servicecomb-java-chassis] 01/03: [SCB-214] AbstractServiceRegistry findServiceInstance do not process null return value, not print too much exception

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

commit e227bcab013e9fe967857c36d14eab691cc08f95
Author: laijianbin <la...@huawei.com>
AuthorDate: Wed Jan 10 11:30:32 2018 +0800

    [SCB-214] AbstractServiceRegistry findServiceInstance do not process null return value,not print too much exception
---
 .../client/http/ServiceRegistryClientImpl.java              | 13 +++++++++----
 .../serviceregistry/registry/AbstractServiceRegistry.java   |  3 +++
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/ServiceRegistryClientImpl.java b/service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/ServiceRegistryClientImpl.java
index dbc4cbe..f1ee698 100644
--- a/service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/ServiceRegistryClientImpl.java
+++ b/service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/ServiceRegistryClientImpl.java
@@ -169,10 +169,15 @@ public final class ServiceRegistryClientImpl implements ServiceRegistryClient {
           bodyBuffer -> {
             try {
               mInstances.setRevision(response.getHeader("X-Resource-Revision"));
-              if (response.statusCode() == 304) {
-                mInstances.setNeedRefresh(false);
-              } else {
-                mInstances.setInstancesResponse(JsonUtils.readValue(bodyBuffer.getBytes(), FindInstancesResponse.class));
+              switch (response.statusCode()) {
+                case 304:
+                  mInstances.setNeedRefresh(false);
+                  break;
+                case 200:
+                  mInstances.setInstancesResponse(JsonUtils.readValue(bodyBuffer.getBytes(), FindInstancesResponse.class));
+                  break;
+                default:
+                  LOGGER.error(bodyBuffer.toString());
               }
             } catch (Exception e) {
               LOGGER.warn(bodyBuffer.toString(), e);
diff --git a/service-registry/src/main/java/io/servicecomb/serviceregistry/registry/AbstractServiceRegistry.java b/service-registry/src/main/java/io/servicecomb/serviceregistry/registry/AbstractServiceRegistry.java
index db72748..a92e1fe 100644
--- a/service-registry/src/main/java/io/servicecomb/serviceregistry/registry/AbstractServiceRegistry.java
+++ b/service-registry/src/main/java/io/servicecomb/serviceregistry/registry/AbstractServiceRegistry.java
@@ -204,6 +204,9 @@ public abstract class AbstractServiceRegistry implements ServiceRegistry {
   public List<MicroserviceInstance> findServiceInstance(String appId, String serviceName,
       String versionRule) {
     MicroserviceInstances instances = findServiceInstances(appId, serviceName, versionRule, null);
+    if (instances == null) {
+      return null;
+    }
     return instances.getInstancesResponse().getInstances();
   }
 

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.