我正在编写一个Java方法来向我们的一个端点触发发布请求。 方法只需担心的是发送请求,而不必担心端点是否已收到请求(即发即忘)。
我如何使用HttpUrlConnection实现此目标?
我有以下内容,但我不确定是否触发connection.disconnect();是最佳做法?
HttpURLConnection connection = (HttpURLConnection) EndpointUrl.openConnection();
// Set the http rest call to POST.
connection.setRequestMethod("POST");
// Set the request properties, including the Authorization tag.
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Authorization", header);
connection.setDoOutput(true);
ObjectMapper mapper = new ObjectMapper();
try(OutputStream outputStream = connection.getOutputStream()) {
byte[] input = mapper.writeValueAsBytes(log);
outputStream.write(input, 0, input.length);
}
connection.disconnect();
答案 0 :(得分:1)
disconnect()
表示在不久的将来不太可能向服务器发出其他请求。
为了简单地向客户端发送消息然后断开连接,我认为这是最安全的做法。请注意,调用disconnect()
并不意味着可以将HttpURLConnection
实例重新用于新连接。