|
16 | 16 | */ |
17 | 17 | package org.apache.dubbo.admin.registry.nacos; |
18 | 18 |
|
| 19 | +import org.apache.dubbo.admin.controller.AccessesController; |
19 | 20 | import org.apache.dubbo.common.URL; |
| 21 | +import org.apache.dubbo.common.logger.Logger; |
| 22 | +import org.apache.dubbo.common.logger.LoggerFactory; |
20 | 23 | import org.apache.dubbo.common.utils.StringUtils; |
21 | 24 |
|
22 | 25 | import com.alibaba.fastjson2.JSON; |
| 26 | +import net.bytebuddy.implementation.bytecode.Throw; |
23 | 27 |
|
24 | 28 | import java.io.BufferedReader; |
25 | 29 | import java.io.IOException; |
|
30 | 34 | import java.util.List; |
31 | 35 |
|
32 | 36 | public class NacosOpenapiUtil { |
| 37 | + |
| 38 | + private static final Logger logger = LoggerFactory.getLogger(NacosOpenapiUtil.class); |
| 39 | + |
33 | 40 | public static List<NacosData> getSubscribeAddressesWithHttpEndpoint(URL url, String serviceName) { |
34 | 41 | // 定义Nacos OpenAPI的URL |
35 | 42 | String nacosUrl = "http://" + url.getAddress() + "/nacos/v1/ns/service/subscribers?serviceName=" + serviceName; |
@@ -60,23 +67,25 @@ public static List<NacosData> getSubscribeAddressesWithHttpEndpoint(URL url, Str |
60 | 67 | // 发送请求并获取响应状态码 |
61 | 68 | int responseCode = connection.getResponseCode(); |
62 | 69 |
|
63 | | - // 读取响应内容 |
64 | | - BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); |
65 | | - String line; |
66 | | - StringBuilder response = new StringBuilder(); |
67 | | - while ((line = reader.readLine()) != null) { |
68 | | - response.append(line); |
69 | | - } |
70 | | - reader.close(); |
| 70 | + if (responseCode == 200) { |
| 71 | + // 读取响应内容 |
| 72 | + StringBuilder response = new StringBuilder(); |
| 73 | + try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) { |
| 74 | + String line; |
| 75 | + while ((line = reader.readLine()) != null) { |
| 76 | + response.append(line); |
| 77 | + } |
| 78 | + } catch (Throwable t) { |
| 79 | + logger.error("Error requesting nacos openapi, " + nacosUrl, t); |
| 80 | + } |
71 | 81 |
|
72 | | - // 打印响应结果 |
73 | | - System.out.println("Response Code: " + responseCode); |
74 | | - System.out.println("Response Body: " + response.toString()); |
75 | | - |
76 | | - NacosResponse nacosResponse = JSON.parseObject(response.toString(), NacosResponse.class); |
77 | | - return nacosResponse.getSubscribers(); |
| 82 | + NacosResponse nacosResponse = JSON.parseObject(response.toString(), NacosResponse.class); |
| 83 | + return nacosResponse.getSubscribers(); |
| 84 | + } else { |
| 85 | + logger.error("Error requesting nacos openapi, " + nacosUrl + ", error code is " + responseCode); |
| 86 | + } |
78 | 87 | } catch (IOException e) { |
79 | | - e.printStackTrace(); |
| 88 | + logger.error("Error requesting nacos openapi, " + nacosUrl, e); |
80 | 89 | } finally { |
81 | 90 | // 关闭连接 |
82 | 91 | if (connection != null) { |
|
0 commit comments