我正在寻找使用 jersey 客户端(使用 apache http 客户端 4.x)执行 POST 请求的正确方法
由于 Client 实例和 WebResource 实例是线程安全的,编码该方法的自然方式是:
public AuthorizedAccount createAuthTokenFromUserPass(Credentials credentials)
throws AuthenticationServiceClientException {
ClientResponse response = resource.accept("application/x-protobuf").post(
ClientResponse.class, credentials);
return getAuthorizedAccountFromResponse(response);
}
ClientResponse 实例已正确释放。
当从多个线程执行此方法时,最终会为每个线程将相同的凭据实例发布到服务器。
一个解决方案是同步方法,但最终会按顺序执行 POST。
有不同的方法吗?(避免重新创建客户端实例)