本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
检测传出 HTTP 调用
注意
End-of-support 注意 — 2027 年 2 月 25 日, Amazon X-Ray 将停止对 Amazon X-Ray SDKs 和守护程序的支持。2027 年 2 月 25 日之后,您将不再收到更新或发布。有关支持时间表的更多信息,请参阅X-Ray SDK 和守护程序终止支持时间表。我们建议迁移到 OpenTelemetry。有关迁移到的更多信息 OpenTelemetry,请参阅从 X-Ray 仪器迁移到 OpenTelemetry 仪器。
用户工厂类显示应用程序如何使用 X-Ray SDK for Java 的 HTTPClientBuilder
版本来检测传出 HTTP 调用。
例 src/main/java/scorekeep/UserFactory.java
— HTTPClient 仪器
import com.amazonaws.xray.proxies.apache.http.HttpClientBuilder;
public String randomName() throws IOException {
CloseableHttpClient httpclient = HttpClientBuilder.create().build();
HttpGet httpGet = new HttpGet("http://uinames.com/api/");
CloseableHttpResponse response = httpclient.execute(httpGet);
try {
HttpEntity entity = response.getEntity();
InputStream inputStream = entity.getContent();
ObjectMapper mapper = new ObjectMapper();
Map<String, String> jsonMap = mapper.readValue(inputStream, Map.class);
String name = jsonMap.get("name");
EntityUtils.consume(entity);
return name;
} finally {
response.close();
}
}
如果您当前使用 org.apache.http.impl.client.HttpClientBuilder
,则只需使用 com.amazonaws.xray.proxies.apache.http.HttpClientBuilder
的语句换出该类的导出语句。