Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jersey 2.7-设置重试处理程序_Java_Apache_Jax Rs_Jersey 2.0_Jersey Client - Fatal编程技术网

Java Jersey 2.7-设置重试处理程序

Java Jersey 2.7-设置重试处理程序,java,apache,jax-rs,jersey-2.0,jersey-client,Java,Apache,Jax Rs,Jersey 2.0,Jersey Client,我想使用ApacheConnector为Jersey客户端设置重试处理程序。我希望这样做,因为我希望它在超时时重试(我的HAProxy将把它切换到另一台服务器)。我不知道如何在Jersey 2.7中实现这一点 示例代码: public static void Example() { ClientConfig clientConfig = new ClientConfig(); clientConfig.connectorProvider(new ApacheConnectorP

我想使用
ApacheConnector
Jersey
客户端设置重试处理程序。我希望这样做,因为我希望它在超时时重试(我的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));
}

如何使用此代码设置重试处理程序,以便在服务器响应错误时再次发送请求?有可能吗?

我想你在这方面运气不好吧?这是我需要从某个角度审视自己的事情。我只能想到两种方法:实现一个ClientInterceptor来完成这项工作,或者以某种方式连接到HttpClient并设置一个retryHandler,但我不认为Jersey公开HttpClientBuilder。等我解决了问题就会回来。