diff --git a/zyplayer-doc-dubbo/src/main/java/com/zyplayer/doc/dubbo/controller/DubboController.java b/zyplayer-doc-dubbo/src/main/java/com/zyplayer/doc/dubbo/controller/DubboController.java index 06089c14..18f66330 100644 --- a/zyplayer-doc-dubbo/src/main/java/com/zyplayer/doc/dubbo/controller/DubboController.java +++ b/zyplayer-doc-dubbo/src/main/java/com/zyplayer/doc/dubbo/controller/DubboController.java @@ -6,6 +6,8 @@ import com.zyplayer.doc.core.annotation.AuthMan; import com.zyplayer.doc.core.json.DocResponseJson; import com.zyplayer.doc.dubbo.controller.param.DubboRequestParam; import com.zyplayer.doc.dubbo.controller.vo.DubboInfoVo; +import com.zyplayer.doc.dubbo.controller.vo.NacosServiceInfoVo; +import com.zyplayer.doc.dubbo.controller.vo.NacosServiceListVo; import com.zyplayer.doc.dubbo.framework.bean.DubboDocInfo; import com.zyplayer.doc.dubbo.framework.bean.DubboInfo; import com.zyplayer.doc.dubbo.framework.bean.NacosDubboInfo; @@ -64,8 +66,8 @@ public class DubboController { private String metadataZookeeperUrl; @Value("${zyplayer.doc.dubbo.nacos.url:}") private String nacosUrl; - @Value("${zyplayer.doc.dubbo.nacos.service:}") - private String nacosService; +// @Value("${zyplayer.doc.dubbo.nacos.service:}") +// private String nacosService; @Resource private MgDubboStorageService mgDubboStorageService; @@ -113,7 +115,7 @@ public class DubboController { List providerList; try { if (StringUtils.isBlank(serviceZookeeperUrl)) { - if (StringUtils.isBlank(nacosUrl) || StringUtils.isBlank(nacosService)) { + if (StringUtils.isBlank(nacosUrl)) {// || StringUtils.isBlank(nacosService)) { return DocResponseJson.warn("zyplayer.doc.dubbo.zookeeper.url、zyplayer.doc.dubbo.nacos.url 参数均未配置"); } logger.info("zookeeper参数未配置,使用nacos配置"); @@ -303,9 +305,15 @@ public class DubboController { **/ private List getDubboInfoByNacos() { List providerList = new LinkedList<>(); - String[] nacosServiceArr = nacosService.split(";"); - for (String service : nacosServiceArr) { - String resultStr = HttpUtil.get(nacosUrl + "/v1/ns/instance/list?serviceName=providers:" + service); + // 获取所有的服务列表 + String serviceListStr = HttpUtil.get(nacosUrl + "/v1/ns/catalog/serviceList?startPg=1&pgSize=100000"); + NacosServiceInfoVo nacosServiceInfoVo = JSON.parseObject(serviceListStr, NacosServiceInfoVo.class); + if (nacosServiceInfoVo == null || nacosServiceInfoVo.getServiceList().isEmpty()) { + return providerList; + } + for (NacosServiceListVo service : nacosServiceInfoVo.getServiceList()) { + String serviceName = service.getName(); + String resultStr = HttpUtil.get(nacosUrl + "/v1/ns/instance/list?serviceName=" + serviceName); NacosDubboInfo dubboInstance = JSON.parseObject(resultStr, NacosDubboInfo.class); List hosts = dubboInstance.getHosts(); DubboInfo dubboInfo = new DubboInfo(); @@ -319,7 +327,10 @@ public class DubboController { dubboNodeInfo.setApplication(host.getMetadata().getApplication()); nodeList.add(dubboNodeInfo); } - dubboInfo.setInterfaceX(service); + if (serviceName.contains(":")) { + serviceName = serviceName.substring(serviceName.indexOf(":") + 1); + } + dubboInfo.setInterfaceX(serviceName); dubboInfo.setNodeList(nodeList); providerList.add(dubboInfo); } diff --git a/zyplayer-doc-dubbo/src/main/java/com/zyplayer/doc/dubbo/controller/vo/NacosServiceInfoVo.java b/zyplayer-doc-dubbo/src/main/java/com/zyplayer/doc/dubbo/controller/vo/NacosServiceInfoVo.java new file mode 100644 index 00000000..235802b9 --- /dev/null +++ b/zyplayer-doc-dubbo/src/main/java/com/zyplayer/doc/dubbo/controller/vo/NacosServiceInfoVo.java @@ -0,0 +1,26 @@ +package com.zyplayer.doc.dubbo.controller.vo; + +import java.util.List; + +public class NacosServiceInfoVo { + + private int count; + private List serviceList; + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + public List getServiceList() { + return serviceList; + } + + public void setServiceList(List serviceList) { + this.serviceList = serviceList; + } + +} diff --git a/zyplayer-doc-dubbo/src/main/java/com/zyplayer/doc/dubbo/controller/vo/NacosServiceListVo.java b/zyplayer-doc-dubbo/src/main/java/com/zyplayer/doc/dubbo/controller/vo/NacosServiceListVo.java new file mode 100644 index 00000000..230b5e15 --- /dev/null +++ b/zyplayer-doc-dubbo/src/main/java/com/zyplayer/doc/dubbo/controller/vo/NacosServiceListVo.java @@ -0,0 +1,40 @@ +package com.zyplayer.doc.dubbo.controller.vo; + +public class NacosServiceListVo { + private String name; + private int clusterCount; + private int ipCount; + private int healthyInstanceCount; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getClusterCount() { + return clusterCount; + } + + public void setClusterCount(int clusterCount) { + this.clusterCount = clusterCount; + } + + public int getIpCount() { + return ipCount; + } + + public void setIpCount(int ipCount) { + this.ipCount = ipCount; + } + + public int getHealthyInstanceCount() { + return healthyInstanceCount; + } + + public void setHealthyInstanceCount(int healthyInstanceCount) { + this.healthyInstanceCount = healthyInstanceCount; + } + } \ No newline at end of file diff --git a/zyplayer-doc-manage/src/main/resources/application.yml b/zyplayer-doc-manage/src/main/resources/application.yml index b10654e3..85e0ca48 100644 --- a/zyplayer-doc-manage/src/main/resources/application.yml +++ b/zyplayer-doc-manage/src/main/resources/application.yml @@ -43,14 +43,14 @@ zyplayer: dubbo: # 优先使用zookeeper,未配置时找nacos的配置 zookeeper: - url: 127.0.0.1:2181 +# url: 127.0.0.1:2181 # 服务参数那些信息的服务地址,dubbo7.0新特性 # metadata-url: 127.0.0.1:2181 nacos: -# url: http://127.0.0.1:8848/nacos - # 服务名称,多个使用 ; 分割,nacos没办法获取所有的服务列表,所以需要指定 - service: "com.zyplayer.dubbo.service.UserService;\ - com.zyplayer.dubbo.service.AnnotateService;" + url: http://127.0.0.1:8848/nacos + # 服务名称,多个使用 ; 分割,nacos没办法获取所有的服务列表,所以需要指定,好像通过后端接口可以获取,不知道后续版本会不会登录后才可以访问 +# service: "com.zyplayer.dubbo.service.UserService;\ +# com.zyplayer.dubbo.service.AnnotateService;" # ------数据库文档相关------ # 打开/zyplayer_doc_manage/doc-db.html即可看到这里配置的数据库的文档 db: