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/06/30 03:24:58 UTC

[incubator-servicecomb-java-chassis] branch master updated (060af8d -> d59762f)

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

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


    from 060af8d  add some unit tests
     new 0ea48fc  [SCB-693] registry microservice failed if failed to get host address
     new ae6596d  Update TestNetUtils.java
     new d59762f  refactor test demo

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../servicecomb/foundation/common/net/NetUtils.java       | 14 ++++++++++++++
 .../servicecomb/foundation/common/net/TestNetUtils.java   | 15 +++++++++++++++
 2 files changed, 29 insertions(+)


[incubator-servicecomb-java-chassis] 01/03: [SCB-693] registry microservice failed if failed to get host address

Posted by li...@apache.org.
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 0ea48fce6f4f67edd4ead3bfd1fe5db6ab22d980
Author: laijianbin <73...@qq.com>
AuthorDate: Fri Jun 29 00:08:30 2018 +0800

    [SCB-693] registry microservice failed if failed to get host address
---
 .../servicecomb/foundation/common/net/NetUtils.java   | 14 ++++++++++++++
 .../foundation/common/net/TestNetUtils.java           | 19 +++++++++++++++++++
 2 files changed, 33 insertions(+)

diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/net/NetUtils.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/net/NetUtils.java
index dbe8703..a25ec9a 100644
--- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/net/NetUtils.java
+++ b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/net/NetUtils.java
@@ -55,6 +55,10 @@ public final class NetUtils {
   private static String hostAddress;
 
   static {
+    doGetHostNameAndHostAddress();
+  }
+
+  private static void doGetHostNameAndHostAddress() {
     try {
       doGetIpv4AddressFromNetworkInterface();
       // getLocalHost will throw exception in some docker image and sometimes will do a hostname lookup and time consuming
@@ -193,10 +197,20 @@ public final class NetUtils {
   }
 
   public static String getHostName() {
+    //If failed to get host name ,micro-service will registry failed
+    //So I add retry mechanism
+    if(hostName == null) {
+      doGetHostNameAndHostAddress();
+    }
     return hostName;
   }
 
   public static String getHostAddress() {
+    //If failed to get host address ,micro-service will registry failed
+    //So I add retry mechanism
+    if(hostAddress == null) {
+      doGetHostNameAndHostAddress();
+    }
     return hostAddress;
   }
 
diff --git a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java
index 85eebe2..34efa4e 100644
--- a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java
+++ b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java
@@ -18,6 +18,7 @@
 package org.apache.servicecomb.foundation.common.net;
 
 import java.io.IOException;
+import java.lang.reflect.Field;
 import java.net.InetAddress;
 import java.net.ServerSocket;
 import java.util.HashMap;
@@ -107,4 +108,22 @@ public class TestNetUtils {
 
     Assert.assertTrue(NetUtils.canTcpListen(address, port));
   }
+  
+  @Test
+  public void testGetHostName() throws Exception {
+    Assert.assertNotEquals(null, NetUtils.getHostAddress());
+    Assert.assertNotEquals(null, NetUtils.getHostName());
+    
+    Class<?> clazz = Class.forName("org.apache.servicecomb.foundation.common.net.NetUtils");
+    Field hostNameField = clazz.getDeclaredField("hostName");
+    hostNameField.setAccessible(true);
+    hostNameField.set(NetUtils.class, null);
+    Assert.assertNotEquals(null, NetUtils.getHostName());
+    
+    Field hostAddressField = clazz.getDeclaredField("hostAddress");
+    hostAddressField.setAccessible(true);
+    hostAddressField.set(NetUtils.class, null);
+    Assert.assertNotEquals(null, NetUtils.getHostAddress());
+  
+  }
 }


[incubator-servicecomb-java-chassis] 03/03: refactor test demo

Posted by li...@apache.org.
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 d59762f56ddc9538e380a790683df21279466376
Author: laijianbin <73...@qq.com>
AuthorDate: Fri Jun 29 09:57:21 2018 +0800

    refactor test demo
---
 .../servicecomb/foundation/common/net/TestNetUtils.java       | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java
index f80ce51..8766b84 100644
--- a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java
+++ b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java
@@ -110,15 +110,16 @@ public class TestNetUtils {
   }
   
   @Test
-  public void testGetHostName() throws Exception {
+  public void testGetHostName() {
     Assert.assertNotEquals(null, NetUtils.getHostName());
-    Assert.assertNotEquals(null, NetUtils.getHostAddress());
-     
     Deencapsulation.setField(NetUtils.class, "hostName", null);
     Assert.assertNotEquals(null, NetUtils.getHostName());
-      
+  }
+
+  @Test
+  public void testGetHostAddress() {
+    Assert.assertNotEquals(null, NetUtils.getHostAddress());
     Deencapsulation.setField(NetUtils.class, "hostAddress", null);
     Assert.assertNotEquals(null, NetUtils.getHostAddress());
-  
   }
 }


[incubator-servicecomb-java-chassis] 02/03: Update TestNetUtils.java

Posted by li...@apache.org.
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 ae6596d1a9325646fd0ee4b9aca8a0fe24e586d5
Author: laijianbin <73...@qq.com>
AuthorDate: Fri Jun 29 09:54:00 2018 +0800

    Update TestNetUtils.java
---
 .../servicecomb/foundation/common/net/TestNetUtils.java   | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java
index 34efa4e..f80ce51 100644
--- a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java
+++ b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java
@@ -111,18 +111,13 @@ public class TestNetUtils {
   
   @Test
   public void testGetHostName() throws Exception {
-    Assert.assertNotEquals(null, NetUtils.getHostAddress());
     Assert.assertNotEquals(null, NetUtils.getHostName());
-    
-    Class<?> clazz = Class.forName("org.apache.servicecomb.foundation.common.net.NetUtils");
-    Field hostNameField = clazz.getDeclaredField("hostName");
-    hostNameField.setAccessible(true);
-    hostNameField.set(NetUtils.class, null);
+    Assert.assertNotEquals(null, NetUtils.getHostAddress());
+     
+    Deencapsulation.setField(NetUtils.class, "hostName", null);
     Assert.assertNotEquals(null, NetUtils.getHostName());
-    
-    Field hostAddressField = clazz.getDeclaredField("hostAddress");
-    hostAddressField.setAccessible(true);
-    hostAddressField.set(NetUtils.class, null);
+      
+    Deencapsulation.setField(NetUtils.class, "hostAddress", null);
     Assert.assertNotEquals(null, NetUtils.getHostAddress());
   
   }