进行多个休息客户端调用
Making multiple rest client calls
我正在尝试使用 org.apache.wink.client.RestClient 对具有基本身份验证的服务进行多个客户端调用。
第一个 PUT 我得到 200 的状态代码,但随后我得到一个连接超时。
每次我要创建新的看跌期权时,我都尝试重新创建客户端。
这是我的代码:
for (int pos = 0; pos < jsonsToSend.size(); pos++) {
BasicAuthSecurityHandler secHandler = new BasicAuthSecurityHandler();
ClientConfig config = new ClientConfig();
secHandler.setUserName(username);
secHandler.setPassword(password);
config.handlers(secHandler);
RestClient client = new RestClient(config);
Resource resource = client.resource(url);
actualJson = JSONObject.parse(jsonsToSend.get(pos).toString());
response = putJson(actualJson, resource);
}
这是putJson方法:
private ClientResponse putJson(JSONObject jsonSend, Resource resource) throws Exception {
try {
ClientResponse response = resource.contentType("text/plain; charset=utf-8").accept("*/*").put(jsonSend.toString());
return response;
} catch (Exception e) {
throw e;
}
}
你知道如何拨打多个休息电话吗?
是的,你可以。这是我的做法:
服务层:
...
//第一
ResponseEntity> firstResponse = firstClient.createEntity(requestPayload1);
//第二个
ResponseEntity> secondResponse = secondClient.createEntity(requestPayload2);
两者都可以传递相同的 requestPayload 对象。
因此,您需要有两个客户端(如果您不想每次都动态更改构建器)
我假设您已经知道如何创建客户端。就我而言,我使用 restTemplate.getUriTemplateHandler() 创建 URI,然后使用 RequestEntity 和 ParameterizedTypeReference 进行交换。
如果你不做任何交易工作,我认为像我一样按顺序打电话就可以了。
我正在尝试使用 org.apache.wink.client.RestClient 对具有基本身份验证的服务进行多个客户端调用。
第一个 PUT 我得到 200 的状态代码,但随后我得到一个连接超时。
每次我要创建新的看跌期权时,我都尝试重新创建客户端。
这是我的代码:
for (int pos = 0; pos < jsonsToSend.size(); pos++) {
BasicAuthSecurityHandler secHandler = new BasicAuthSecurityHandler();
ClientConfig config = new ClientConfig();
secHandler.setUserName(username);
secHandler.setPassword(password);
config.handlers(secHandler);
RestClient client = new RestClient(config);
Resource resource = client.resource(url);
actualJson = JSONObject.parse(jsonsToSend.get(pos).toString());
response = putJson(actualJson, resource);
}
这是putJson方法:
private ClientResponse putJson(JSONObject jsonSend, Resource resource) throws Exception {
try {
ClientResponse response = resource.contentType("text/plain; charset=utf-8").accept("*/*").put(jsonSend.toString());
return response;
} catch (Exception e) {
throw e;
}
}
你知道如何拨打多个休息电话吗?
是的,你可以。这是我的做法: 服务层: ... //第一 ResponseEntity> firstResponse = firstClient.createEntity(requestPayload1);
//第二个 ResponseEntity> secondResponse = secondClient.createEntity(requestPayload2);
两者都可以传递相同的 requestPayload 对象。
因此,您需要有两个客户端(如果您不想每次都动态更改构建器)
我假设您已经知道如何创建客户端。就我而言,我使用 restTemplate.getUriTemplateHandler() 创建 URI,然后使用 RequestEntity 和 ParameterizedTypeReference 进行交换。
如果你不做任何交易工作,我认为像我一样按顺序打电话就可以了。