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());
}