我的问题是以下语句导致退出程序挂起至少 30 秒。
OkHttpClient client = new OkHttpClient.Builder().build();
...
Request request = new Request.Builder()
.method("POST", RequestBody.create(mediaType, ""))
.url(myURL)
.addHeader("Content-Type", "application/json").build();
...
try (Response response = client.newCall(request).execute()) //! Causes hang for some reason
{
resBody = response.body().string();
}
此方法已通过,我得到了成功的响应。但是当程序到达最后一个语句时,它会再挂起大约 30 秒。
如果我切换到使用 HttpUrlConnection 代码,则看不到任何问题。
我尝试使用jstack,但不确定我在看什么。你也不能用jstack"尾巴"。 OkHttp3 库的某些内容导致了这种情况。
我正在点击一个httpsmulesoft API,以防您需要一些详细信息。但是 Mulesoft 应用程序日志显示干净的请求和响应,没有错误。
有什么想法吗?
https://github.com/square/okhttp/issues/5832 - 说简单地获取 OkHttp3 的最新库。