aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhaoxing Meng <meng.zhaoxing1@zte.com.cn>2018-03-21 01:45:52 +0000
committerGerrit Code Review <gerrit@onap.org>2018-03-21 01:45:52 +0000
commit01b109873fa129319830a4619a01c503c139cd29 (patch)
tree7cf02867e88cdfc38499b64a887fd55c3c3724d8
parentb0fd041c7ec97e762109c1a0700400bb2f3aef12 (diff)
parentfd00a6849e072eb429e7ed7181588389f39bbdff (diff)
Merge "Support healthy check for registered services"v1.1.0
-rw-r--r--example/pom.xml2
-rw-r--r--example/src/main/java/org/onap/msb/sdk/example/client/AnimalServiceClient.java4
-rw-r--r--example/src/main/java/org/onap/msb/sdk/example/client/ExampleClient.java4
-rw-r--r--example/src/main/java/org/onap/msb/sdk/example/server/ExampleApp.java4
-rw-r--r--example/src/main/java/org/onap/msb/sdk/example/server/MsbHelper.java55
-rw-r--r--src/main/java/org/onap/msb/sdk/discovery/entity/Node.java127
-rw-r--r--src/test/java/org/onap/msb/sdk/discovery/MSBServiceTest.java2
-rw-r--r--src/test/java/org/onap/msb/sdk/httpclient/msb/MSBServiceClientTest.java2
8 files changed, 135 insertions, 65 deletions
diff --git a/example/pom.xml b/example/pom.xml
index 81dc972..19c3ebf 100644
--- a/example/pom.xml
+++ b/example/pom.xml
@@ -2,11 +2,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+ <!--
<parent>
<groupId>org.onap.oparent</groupId>
<artifactId>oparent</artifactId>
<version>1.1.0-SNAPSHOT</version>
</parent>
+ -->
<groupId>org.onap.msb.java-sdk</groupId>
<artifactId>msb-java-sdk-example</artifactId>
diff --git a/example/src/main/java/org/onap/msb/sdk/example/client/AnimalServiceClient.java b/example/src/main/java/org/onap/msb/sdk/example/client/AnimalServiceClient.java
index cd9ebbb..aa6b9e3 100644
--- a/example/src/main/java/org/onap/msb/sdk/example/client/AnimalServiceClient.java
+++ b/example/src/main/java/org/onap/msb/sdk/example/client/AnimalServiceClient.java
@@ -23,6 +23,6 @@ import retrofit2.http.Path;
@ServiceHttpEndPoint(serviceName = "animals", serviceVersion = "v1")
public interface AnimalServiceClient {
- @GET("animals/{name}")
- Call<Animal> queryAnimal(@Path("name") String name);
+ @GET("animals/{name}")
+ Call<Animal> queryAnimal(@Path("name") String name);
}
diff --git a/example/src/main/java/org/onap/msb/sdk/example/client/ExampleClient.java b/example/src/main/java/org/onap/msb/sdk/example/client/ExampleClient.java
index 4184b02..968621f 100644
--- a/example/src/main/java/org/onap/msb/sdk/example/client/ExampleClient.java
+++ b/example/src/main/java/org/onap/msb/sdk/example/client/ExampleClient.java
@@ -29,8 +29,8 @@ public class ExampleClient {
public static void main(String[] args) throws IOException {
// For real use case, MSB discovery IP and Port should come from configuration file instead
// of hard code here
- String msb_discovery_ip = "127.0.0.1";
- int msb_discovery_port = 10081;
+ String msb_discovery_ip = "10.96.33.44";
+ int msb_discovery_port = 30080;
MSBServiceClient msbClient = new MSBServiceClient(msb_discovery_ip, msb_discovery_port);
diff --git a/example/src/main/java/org/onap/msb/sdk/example/server/ExampleApp.java b/example/src/main/java/org/onap/msb/sdk/example/server/ExampleApp.java
index 7e74ed2..002a358 100644
--- a/example/src/main/java/org/onap/msb/sdk/example/server/ExampleApp.java
+++ b/example/src/main/java/org/onap/msb/sdk/example/server/ExampleApp.java
@@ -40,8 +40,8 @@ public class ExampleApp extends Application<Config> {
public void run(Config configuration, Environment environment) throws Exception {
// For real use case, MSB discovery IP and Port should come from configuration file instead
// of hard code here
- String msb_discovery_ip = "127.0.0.1";
- int msb_discovery_port = 10081;
+ String msb_discovery_ip = "10.96.33.44";
+ int msb_discovery_port = 30081;
environment.jersey().register(new AnimalResource());
diff --git a/example/src/main/java/org/onap/msb/sdk/example/server/MsbHelper.java b/example/src/main/java/org/onap/msb/sdk/example/server/MsbHelper.java
index bd49a9b..c3cab67 100644
--- a/example/src/main/java/org/onap/msb/sdk/example/server/MsbHelper.java
+++ b/example/src/main/java/org/onap/msb/sdk/example/server/MsbHelper.java
@@ -24,32 +24,31 @@ import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
public class MsbHelper {
- private MSBServiceClient msbClient;
-
- public MsbHelper(MSBServiceClient msbClient) {
- super();
- this.msbClient = msbClient;
- }
-
-
-
- public void registerMsb() throws Exception {
-
-
- MicroServiceInfo msinfo = new MicroServiceInfo();
-
- msinfo.setServiceName("animals");
- msinfo.setVersion("v1");
- msinfo.setUrl("/api/rpc/v1");
- msinfo.setProtocol("REST");
- msinfo.setVisualRange("0|1");
-
- Set<Node> nodes = new HashSet<>();
- Node node1 = new Node();
- node1.setIp(InetAddress.getLocalHost().getHostAddress());
- node1.setPort("9090");
- nodes.add(node1);
- msinfo.setNodes(nodes);
- msbClient.registerMicroServiceInfo(msinfo, false);
- }
+ private MSBServiceClient msbClient;
+
+ public MsbHelper(MSBServiceClient msbClient) {
+ super();
+ this.msbClient = msbClient;
+ }
+
+
+
+ public void registerMsb() throws Exception {
+ MicroServiceInfo msinfo = new MicroServiceInfo();
+ msinfo.setServiceName("animals");
+ msinfo.setVersion("v1");
+ msinfo.setUrl("/api/rpc/v1");
+ msinfo.setProtocol("REST");
+ msinfo.setVisualRange("0|1");
+
+ Set<Node> nodes = new HashSet<>();
+ Node node1 = new Node();
+ node1.setIp(InetAddress.getLocalHost().getHostAddress());
+ node1.setPort("9090");
+ node1.setCheckType("HTTP");
+ node1.setCheckUrl("http://10.74.57.151:9090/api/rpc/v1/animals/panda");
+ nodes.add(node1);
+ msinfo.setNodes(nodes);
+ msbClient.registerMicroServiceInfo(msinfo, false);
+ }
}
diff --git a/src/main/java/org/onap/msb/sdk/discovery/entity/Node.java b/src/main/java/org/onap/msb/sdk/discovery/entity/Node.java
index 1bdeab8..51e8f8b 100644
--- a/src/main/java/org/onap/msb/sdk/discovery/entity/Node.java
+++ b/src/main/java/org/onap/msb/sdk/discovery/entity/Node.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright 2017 ZTE, Inc. and others.
+ * Copyright 2017-2018 ZTE, Inc. and others.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
@@ -17,46 +17,115 @@ import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
@JsonIgnoreProperties(ignoreUnknown = true)
public class Node implements Serializable {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
+
+ private String ip;
+
+ private String port;
+
+ private String ttl = "";
+
+ // 健康检查参数
+ // health check type, allowableValues = "HTTP,TCP, TTL", example = "HTTP")
+ private String checkType = "HTTP";
+ // health check url, example for http "http://192.168.0.2:80/heallth", example for tcp
+ // "192.168.1.100:80"
+ private String checkUrl = "";
+
+ // TCP or HTTP health check Interval,Unit: second", example = "10s"
+ private String checkInterval = "10s";
+
+ // TCP or HTTP health check TimeOut,Unit: second", example = "10s"
+ private String checkTimeOut = "10s";
+
+
+ public String getIp() {
+ return ip;
+ }
+
+ public void setIp(String ip) {
+ this.ip = ip;
+ }
+
+ public String getPort() {
+ return port;
+ }
+
+ public void setPort(String port) {
+ this.port = port;
+ }
- private String ip;
+ public String getTtl() {
+ return ttl;
+ }
- private String port;
+ public void setTtl(String ttl) {
+ this.ttl = ttl;
+ }
- private String ttl = "";
+ /**
+ * @return the checkType
+ */
+ public String getCheckType() {
+ return checkType;
+ }
+ /**
+ * @param checkType the checkType to set
+ */
+ public void setCheckType(String checkType) {
+ this.checkType = checkType;
+ }
- public String getIp() {
- return ip;
- }
+ /**
+ * @return the checkUrl
+ */
+ public String getCheckUrl() {
+ return checkUrl;
+ }
- public void setIp(String ip) {
- this.ip = ip;
- }
+ /**
+ * @param checkUrl the checkUrl to set
+ */
+ public void setCheckUrl(String checkUrl) {
+ this.checkUrl = checkUrl;
+ }
- public String getPort() {
- return port;
- }
+ /**
+ * @return the checkInterval
+ */
+ public String getCheckInterval() {
+ return checkInterval;
+ }
- public void setPort(String port) {
- this.port = port;
- }
+ /**
+ * @param checkInterval the checkInterval to set
+ */
+ public void setCheckInterval(String checkInterval) {
+ this.checkInterval = checkInterval;
+ }
- public String getTtl() {
- return ttl;
- }
+ /**
+ * @return the checkTimeOut
+ */
+ public String getCheckTimeOut() {
+ return checkTimeOut;
+ }
- public void setTtl(String ttl) {
- this.ttl = ttl;
- }
+ /**
+ * @param checkTimeOut the checkTimeOut to set
+ */
+ public void setCheckTimeOut(String checkTimeOut) {
+ this.checkTimeOut = checkTimeOut;
+ }
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return (new StringBuilder().append(ip).append(":").append(port).append(" ttl:").append(ttl))
- .toString();
- }
+ @Override
+ public String toString() {
+ // TODO Auto-generated method stub
+ return (new StringBuilder().append(ip).append(":").append(port).append(" ttl:").append(ttl)).toString();
+ }
}
diff --git a/src/test/java/org/onap/msb/sdk/discovery/MSBServiceTest.java b/src/test/java/org/onap/msb/sdk/discovery/MSBServiceTest.java
index 98103e0..b6936be 100644
--- a/src/test/java/org/onap/msb/sdk/discovery/MSBServiceTest.java
+++ b/src/test/java/org/onap/msb/sdk/discovery/MSBServiceTest.java
@@ -43,7 +43,7 @@ public class MSBServiceTest {
"http://127.0.0.1:10081/api/microservices/v1/services/aai/version/v8";
private static final String MOCK_REG_SERVICE_JSON =
- "{\"serviceName\":\"aai\",\"version\":\"v8\",\"url\":\"/aai/v8\",\"protocol\":\"REST\",\"visualRange\":\"1\",\"lb_policy\":\"\",\"path\":\"/aai/v8\",\"nodes\":[{\"ip\":\"10.74.44.1\",\"port\":\"8443\",\"ttl\":\"20\"}],\"metadata\":[{\"key\":\"key1\",\"value\":\"value1\"}],\"enable_ssl\":false}";
+ "{\"serviceName\":\"aai\",\"version\":\"v8\",\"url\":\"/aai/v8\",\"protocol\":\"REST\",\"visualRange\":\"1\",\"lb_policy\":\"\",\"path\":\"/aai/v8\",\"nodes\":[{\"ip\":\"10.74.44.1\",\"port\":\"8443\",\"ttl\":\"20\",\"checkType\":\"HTTP\",\"checkUrl\":\"\",\"checkInterval\":\"10s\",\"checkTimeOut\":\"10s\"}],\"metadata\":[{\"key\":\"key1\",\"value\":\"value1\"}],\"enable_ssl\":false}";
@Test
public void test_registration_update_true() throws RouteException {
diff --git a/src/test/java/org/onap/msb/sdk/httpclient/msb/MSBServiceClientTest.java b/src/test/java/org/onap/msb/sdk/httpclient/msb/MSBServiceClientTest.java
index 5ee191b..92e198e 100644
--- a/src/test/java/org/onap/msb/sdk/httpclient/msb/MSBServiceClientTest.java
+++ b/src/test/java/org/onap/msb/sdk/httpclient/msb/MSBServiceClientTest.java
@@ -39,7 +39,7 @@ public class MSBServiceClientTest {
"http://127.0.0.1:10081/api/microservices/v1/services/aai/version/v8";
private static final String MOCK_REG_SERVICE_JSON =
- "{\"serviceName\":\"aai\",\"version\":\"v8\",\"url\":\"/aai/v8\",\"protocol\":\"REST\",\"visualRange\":\"1\",\"lb_policy\":\"\",\"path\":\"/aai/v8\",\"nodes\":[{\"ip\":\"10.74.44.1\",\"port\":\"8443\",\"ttl\":\"\"}],\"metadata\":null,\"enable_ssl\":false}";
+ "{\"serviceName\":\"aai\",\"version\":\"v8\",\"url\":\"/aai/v8\",\"protocol\":\"REST\",\"visualRange\":\"1\",\"lb_policy\":\"\",\"path\":\"/aai/v8\",\"nodes\":[{\"ip\":\"10.74.44.1\",\"port\":\"8443\",\"ttl\":\"\",\"checkType\":\"HTTP\",\"checkUrl\":\"\",\"checkInterval\":\"10s\",\"checkTimeOut\":\"10s\"}],\"metadata\":null,\"enable_ssl\":false}";
@Test
public void test_registration_update_true() throws RouteException {