我想使用Jersey
为ApacheConnector
客户端设置重试处理程序。我希望这样做,因为我希望它在超时时重试(我的HAProxy会将其切换到另一台服务器)。我不知道如何在Jersey 2.7
中执行此操作。
示例代码:
public static void Example() {
ClientConfig clientConfig = new ClientConfig();
clientConfig.connectorProvider(new ApacheConnectorProvider());
clientConfig.property(ApacheClientProperties.CONNECTION_MANAGER, new PoolingHttpClientConnectionManager());
RequestConfig reqConfig = RequestConfig.custom().build();
clientConfig.property(ApacheClientProperties.REQUEST_CONFIG, reqConfig);
Client client = ClientBuilder.newClient(clientConfig);
WebTarget apiTarget = client.target("http://127.0.0.1/rest");
System.out.println(apiTarget.path(ApiConstant.PING)
.path(ApiConstant.PING1)
.request(MediaType.TEXT_PLAIN)
.get(String.class));
}
如果使用此代码,我可以设置重试处理程序,以便在服务器响应错误时再次发送请求?有可能吗?