From: HuabingZhao Date: Fri, 18 Aug 2017 08:18:01 +0000 (+0800) Subject: Modify Example code X-Git-Tag: v1.0.0~18 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=msb%2Fjava-sdk.git;a=commitdiff_plain;h=9252e604db14785fe5382e33cedffbdd2759091d Modify Example code Issue-Id: MSB-23 Change-Id: I03a05b27987015725234d31ccbef2b979be40f92 Signed-off-by: HuabingZhao --- diff --git a/example/src/main/java/org/onap/msb/sdk/httpclient/client/AnimalServiceClient.java b/example/src/main/java/org/onap/msb/sdk/example/client/AnimalServiceClient.java similarity index 85% rename from example/src/main/java/org/onap/msb/sdk/httpclient/client/AnimalServiceClient.java rename to example/src/main/java/org/onap/msb/sdk/example/client/AnimalServiceClient.java index 22101ad..8600241 100644 --- a/example/src/main/java/org/onap/msb/sdk/httpclient/client/AnimalServiceClient.java +++ b/example/src/main/java/org/onap/msb/sdk/example/client/AnimalServiceClient.java @@ -11,10 +11,10 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. ******************************************************************************/ -package org.onap.msb.sdk.httpclient.client; +package org.onap.msb.sdk.example.client; +import org.onap.msb.sdk.example.common.Animal; import org.onap.msb.sdk.httpclient.annotaion.ServiceHttpEndPoint; -import org.onap.msb.sdk.httpclient.common.Animal; import retrofit2.Call; import retrofit2.http.GET; @@ -25,10 +25,9 @@ import retrofit2.http.Path; * */ -@ServiceHttpEndPoint(serviceName = "animals", serviceVersion = "v1", nameSpace = "javaAF") +@ServiceHttpEndPoint(serviceName = "animals", serviceVersion = "v1") public interface AnimalServiceClient { @GET("animals/{name}") - Call queryAnimal(@Path("name") String name); - + Call queryAnimal1(@Path("name") String name); } diff --git a/example/src/main/java/org/onap/msb/sdk/httpclient/client/ExampleClient.java b/example/src/main/java/org/onap/msb/sdk/example/client/ExampleClient.java similarity index 86% rename from example/src/main/java/org/onap/msb/sdk/httpclient/client/ExampleClient.java rename to example/src/main/java/org/onap/msb/sdk/example/client/ExampleClient.java index 570078b..59263f1 100644 --- a/example/src/main/java/org/onap/msb/sdk/httpclient/client/ExampleClient.java +++ b/example/src/main/java/org/onap/msb/sdk/example/client/ExampleClient.java @@ -14,12 +14,12 @@ /** * */ -package org.onap.msb.sdk.httpclient.client; +package org.onap.msb.sdk.example.client; import java.io.IOException; +import org.onap.msb.sdk.example.common.Animal; import org.onap.msb.sdk.httpclient.RetrofitServiceCreater; -import org.onap.msb.sdk.httpclient.common.Animal; import org.onap.msb.sdk.httpclient.conf.HttpClientConf; import org.onap.msb.sdk.httpclient.msb.MSBServiceWrapperClient; @@ -31,16 +31,18 @@ public class ExampleClient { * @throws IOException */ public static void main(String[] args) throws IOException { - + String MSB_IP="127.0.0.1"; + int MSB_Port=10081; + HttpClientConf globalHttpClientConf = new HttpClientConf(); - MSBServiceWrapperClient msbClient = new MSBServiceWrapperClient("127.0.0.1", 10081); + MSBServiceWrapperClient msbClient = new MSBServiceWrapperClient(MSB_IP, MSB_Port); RetrofitServiceCreater retrofitServiceCreater = new RetrofitServiceCreater(globalHttpClientConf, msbClient); AnimalServiceClient implProxy = retrofitServiceCreater.createRetrofitService(AnimalServiceClient.class); - Animal animal = implProxy.queryAnimal("example").execute().body(); + Animal animal = implProxy.queryAnimal1("panda").execute().body(); System.out.println("animal:" + animal); } diff --git a/example/src/main/java/org/onap/msb/sdk/httpclient/common/Animal.java b/example/src/main/java/org/onap/msb/sdk/example/common/Animal.java similarity index 97% rename from example/src/main/java/org/onap/msb/sdk/httpclient/common/Animal.java rename to example/src/main/java/org/onap/msb/sdk/example/common/Animal.java index 092a2f7..03572ce 100644 --- a/example/src/main/java/org/onap/msb/sdk/httpclient/common/Animal.java +++ b/example/src/main/java/org/onap/msb/sdk/example/common/Animal.java @@ -11,7 +11,7 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. ******************************************************************************/ -package org.onap.msb.sdk.httpclient.common; +package org.onap.msb.sdk.example.common; import java.io.Serializable; diff --git a/example/src/main/java/org/onap/msb/sdk/httpclient/server/Config.java b/example/src/main/java/org/onap/msb/sdk/example/server/Config.java similarity index 95% rename from example/src/main/java/org/onap/msb/sdk/httpclient/server/Config.java rename to example/src/main/java/org/onap/msb/sdk/example/server/Config.java index 4dbb6eb..446e2c1 100644 --- a/example/src/main/java/org/onap/msb/sdk/httpclient/server/Config.java +++ b/example/src/main/java/org/onap/msb/sdk/example/server/Config.java @@ -11,7 +11,7 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. ******************************************************************************/ -package org.onap.msb.sdk.httpclient.server; +package org.onap.msb.sdk.example.server; import io.dropwizard.Configuration; diff --git a/example/src/main/java/org/onap/msb/sdk/httpclient/server/ExampleApp.java b/example/src/main/java/org/onap/msb/sdk/example/server/ExampleApp.java similarity index 89% rename from example/src/main/java/org/onap/msb/sdk/httpclient/server/ExampleApp.java rename to example/src/main/java/org/onap/msb/sdk/example/server/ExampleApp.java index 03c052a..b93875f 100644 --- a/example/src/main/java/org/onap/msb/sdk/httpclient/server/ExampleApp.java +++ b/example/src/main/java/org/onap/msb/sdk/example/server/ExampleApp.java @@ -11,10 +11,10 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. ******************************************************************************/ -package org.onap.msb.sdk.httpclient.server; +package org.onap.msb.sdk.example.server; +import org.onap.msb.sdk.example.server.resources.AnimalResource; import org.onap.msb.sdk.httpclient.msb.MSBServiceWrapperClient; -import org.onap.msb.sdk.httpclient.server.resources.AnimalResource; import io.dropwizard.Application; import io.dropwizard.setup.Environment; @@ -38,10 +38,13 @@ public class ExampleApp extends Application { @Override public void run(Config configuration, Environment environment) throws Exception { - + + String MSB_IP="127.0.0.1"; + int MSB_Port=10081; + environment.jersey().register(new AnimalResource()); - MSBServiceWrapperClient msbClient = new MSBServiceWrapperClient("127.0.0.1", 10081); + MSBServiceWrapperClient msbClient = new MSBServiceWrapperClient(MSB_IP, MSB_Port); MsbHelper helper = new MsbHelper(msbClient); helper.registerMsb(); diff --git a/example/src/main/java/org/onap/msb/sdk/httpclient/server/MsbHelper.java b/example/src/main/java/org/onap/msb/sdk/example/server/MsbHelper.java similarity index 97% rename from example/src/main/java/org/onap/msb/sdk/httpclient/server/MsbHelper.java rename to example/src/main/java/org/onap/msb/sdk/example/server/MsbHelper.java index ffaba08..7b0c79d 100644 --- a/example/src/main/java/org/onap/msb/sdk/httpclient/server/MsbHelper.java +++ b/example/src/main/java/org/onap/msb/sdk/example/server/MsbHelper.java @@ -11,7 +11,7 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. ******************************************************************************/ -package org.onap.msb.sdk.httpclient.server; +package org.onap.msb.sdk.example.server; import java.net.InetAddress; import java.util.HashSet; @@ -50,7 +50,7 @@ public class MsbHelper { msinfo.setUrl("/api/rpc/v1"); msinfo.setProtocol("REST"); msinfo.setVisualRange("0|1"); - + Set nodes = new HashSet<>(); Node node1 = new Node(); node1.setIp(InetAddress.getLocalHost().getHostAddress()); @@ -58,9 +58,5 @@ public class MsbHelper { nodes.add(node1); msinfo.setNodes(nodes); msbClient.registerMicroServiceInfo(msinfo, false); - } - - - } diff --git a/example/src/main/java/org/onap/msb/sdk/httpclient/server/resources/AnimalResource.java b/example/src/main/java/org/onap/msb/sdk/example/server/resources/AnimalResource.java similarity index 79% rename from example/src/main/java/org/onap/msb/sdk/httpclient/server/resources/AnimalResource.java rename to example/src/main/java/org/onap/msb/sdk/example/server/resources/AnimalResource.java index 7a51c0f..ce7115f 100644 --- a/example/src/main/java/org/onap/msb/sdk/httpclient/server/resources/AnimalResource.java +++ b/example/src/main/java/org/onap/msb/sdk/example/server/resources/AnimalResource.java @@ -11,7 +11,7 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. ******************************************************************************/ -package org.onap.msb.sdk.httpclient.server.resources; +package org.onap.msb.sdk.example.server.resources; import javax.ws.rs.GET; import javax.ws.rs.Path; @@ -20,7 +20,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import org.onap.msb.sdk.httpclient.common.Animal; +import org.onap.msb.sdk.example.common.Animal; @Path("/animals") @@ -30,9 +30,9 @@ public class AnimalResource { @GET @Path("/{name}") @Produces(MediaType.APPLICATION_JSON) - public Response query(@PathParam("name") String name) { - return Response.ok(new Animal("animal", name, (int) System.currentTimeMillis() % 10)).build(); + public Response queryJson(@PathParam("name") String name) { + return Response.ok(new Animal("animal", name, Math.abs((int) System.currentTimeMillis() % 10))) + .build(); } - } 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 c28f232..1bdeab8 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 @@ -27,34 +27,6 @@ public class Node implements Serializable { private String ttl = ""; - // 负载均衡策略参数 - private String lb_server_params = ""; - - // 健康检查参数 - private String checkType = ""; - private String checkUrl = ""; - private String checkInterval = ""; - private String checkTimeOut = ""; - - private String ha_role = ""; - - - public String getHa_role() { - return ha_role; - } - - - /** - * @Title setHa_role - * @Description TODO(实例主备状态,取值范围:active,standby) - * @param ha_role - * @return void - */ - public void setHa_role(String ha_role) { - this.ha_role = ha_role; - } - - public String getIp() { return ip; @@ -80,7 +52,6 @@ public class Node implements Serializable { this.ttl = ttl; } - @Override public String toString() { // TODO Auto-generated method stub @@ -88,79 +59,4 @@ public class Node implements Serializable { .toString(); } - public String getLb_server_params() { - return lb_server_params; - } - - /** - * @Title setLb_server_params - * @Description TODO(针对协议为TCP或UDP的服务实例配置负载均衡参数)
- * 支持的server参数设置:
- * 1. weight: server的权重,不显式设置默认为1
- * 2. - * max_fails:在fail_timeout设置的时间间隔内,允许失败尝试的次数,不显式设置默认为1.比如fail_timeout=30s,max_fails=6,那表示在30s内如果6次连接失败,那认定该server为unavailable - *
- * 3. fail_timeout:判定server为unavailable的时间间隔。如果不显式设置,默认设置为10s - * @param lb_server_params (示例:weight=5,max_fails=3,fail_timeout=30s) - * @return void - */ - public void setLb_server_params(String lb_server_params) { - this.lb_server_params = lb_server_params; - } - - public String getCheckType() { - return checkType; - } - - /** - * @Title setCheckType - * @Description TODO(健康检查类型,可选范围:TTL,HTTP,TCP)
- * 1.HTTP保活由"MSB"每隔checkInterval时间向"服务提供方"发送 GET请求。如果请求返回任何2xx状态码,检测成功。
- * 2.TCP保活原理同HTTP,协议不同。
- * 3.TTL保活由"服务提供方"向"MSB"发送HTTP请求以保持联通状态,在checkInterval设置的时间间隔内未能收到保活请求,服务发现将此服务状态设置为无效。 - * @param checkType - * @return void - */ - public void setCheckType(String checkType) { - this.checkType = checkType; - } - - public String getCheckUrl() { - return checkUrl; - } - - /** - * @Title setCheckUrl - * @Description TODO(健康检查类型为HTTP或TCP,填写检查URL) - * @param checkUrl - * @return void - */ - public void setCheckUrl(String checkUrl) { - this.checkUrl = checkUrl; - } - - public String getCheckInterval() { - return checkInterval; - } - - /** - * @Title setCheckInterval - * @Description TODO(健康检查轮询时间,单位:秒) - * @param checkInterval - * @return void - */ - public void setCheckInterval(String checkInterval) { - this.checkInterval = checkInterval; - } - - - public String getCheckTimeOut() { - return checkTimeOut; - } - - - public void setCheckTimeOut(String checkTimeOut) { - this.checkTimeOut = checkTimeOut; - } - } diff --git a/src/main/java/org/onap/msb/sdk/discovery/entity/Service.java b/src/main/java/org/onap/msb/sdk/discovery/entity/Service.java index a89ded9..306e59b 100644 --- a/src/main/java/org/onap/msb/sdk/discovery/entity/Service.java +++ b/src/main/java/org/onap/msb/sdk/discovery/entity/Service.java @@ -22,54 +22,52 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties(ignoreUnknown = true) public class Service implements Serializable { private static final long serialVersionUID = 1L; - // 服务名[必填] + private String serviceName; - // 版本号 ( 格式:v(小写)+数字) + private String version = ""; - // 服务url (格式:url地址以/开头,不能以/结尾) + private String url = ""; - // 服务对应协议,比如REST、UI、HTTP、MQ、FTP、SNMP、TCP、UDP + + //REST、UI private String protocol = ""; - // 服务的可见范围 0:系统间 1:系统内 + //0: External 1: Internal private String visualRange = "1"; - // 负载均衡策略类型 private String lb_policy = ""; - - private String host = ""; - private String path = ""; private Set nodes; - // 服务自身属性的键值对 private List metadata; - public String getHost() { - return host; - } - - public void setHost(String host) { - this.host = host; - } - public String getPath() { return path; } + /** + * The customized publish path of this service. + * If this parameter is specified when registering the service, the service will be published to api gateway under this path. + * Otherwise, the service will be published to api gateway using a fixed format: api/{serviceName} /{version}. + * Do not specific a path unless you know what you're doing. + * @param path + */ public void setPath(String path) { this.path = path; } + /** + * Load balancing method used when MSB routes the service requests. Currently, Round robin and IP hash are supported. + * @return + */ public String getLb_policy() { return lb_policy; } /** - * @Title setLb_policy - * @Description TODO(针对协议为TCP或UDP的服务选择负载均衡策略) - * @param lb_policy (可选策略:round-robin,ip_hash) + * Load balancing method used when MSB routes the service requests. Currently, Round robin and IP hash are supported. + * @param lb_policy (round-robin,ip_hash) * @return void */ public void setLb_policy(String lb_policy) { @@ -80,23 +78,19 @@ public class Service implements Serializable { return metadata; } - /** - * @Title setMetadata - * @Description TODO(配置服务特有的附加属性键值对) - * @param metadata - * @return void - */ public void setMetadata(List metadata) { this.metadata = metadata; } + /** + * The service instance nodes + */ public Set getNodes() { return nodes; } /** - * @Title setNodes - * @Description TODO(配置服务的服务器实例列表) + * The service instance nodes * @param nodes * @return void */ @@ -104,43 +98,47 @@ public class Service implements Serializable { this.nodes = nodes; } + /** + * An unique name of the service, it should be constant so the service consumer can access the service. + */ public String getServiceName() { return serviceName; } /** - * - * @Title setServiceName - * @Description TODO(服务名[必填]) + * An unique name of the service, it should be constant so the service consumer can access the service. * @param serviceName - * @return void */ public void setServiceName(String serviceName) { this.serviceName = serviceName; } + /** + * Service version. Only the major version of service is used in the URI. + * @return + */ public String getVersion() { return version; } /** - * - * @Title setVersion - * @Description TODO(版本号 ( 格式:v(小写)+数字)) + * Service version. Only the major version of service is used in the URI. * @param version - * @return void */ public void setVersion(String version) { this.version = version; } + /** + * The actual URL of the service to be registered. + * @return + */ public String getUrl() { return url; } /** - * @Title setUrl - * @Description TODO(目标服务URL地址 (格式:url地址以/开头,不能以/结尾)) + * The actual URL of the service to be registered. * @param url * @return void */ @@ -148,30 +146,36 @@ public class Service implements Serializable { this.url = url; } + /** + * supported protocols: 'REST', 'UI' + * @return + */ public String getProtocol() { return protocol; } /** - * @Title setProtocol - * @Description TODO(服务对应协议,比如REST、MQ、FTP、SNMP[必填]) + * supported protocols: 'REST', 'UI' * @param protocol - * @return void */ public void setProtocol(String protocol) { this.protocol = protocol; } - + /** + * Visibility of the service. + * External(can be accessed by external systems):0 + * Internal(can only be accessed by ONAP microservices):1 + */ public String getVisualRange() { return visualRange; } /** - * @Title setVisualRange - * @Description TODO(服务的可见范围 系统间:0 系统内:1 ,多个可见范围用 "|"分隔,如"0|1" ) + * Visibility of the service. + * External(can be accessed by external systems):0 + * Internal(can only be accessed by ONAP microservices):1 * @param visualRange - * @return void */ public void setVisualRange(String visualRange) { this.visualRange = visualRange;