Java 使用带有Apache连接器的Jersey客户端时,超时不会';行不通

Java 使用带有Apache连接器的Jersey客户端时,超时不会';行不通,java,apache,timeout,jersey-2.0,Java,Apache,Timeout,Jersey 2.0,我正在使用Jersey客户端实现一个Restful客户端,如下所示: ClientConfig clientConfig = new ClientConfig(); clientConfig.property(ClientProperties.CONNECT_TIMEOUT, 60000); clientConfig.property(ClientProperties.READ_TIMEOUT, 60000); Client client = ClientBuilder.newClient(cl

我正在使用Jersey客户端实现一个Restful客户端,如下所示:

ClientConfig clientConfig = new ClientConfig();
clientConfig.property(ClientProperties.CONNECT_TIMEOUT, 60000);
clientConfig.property(ClientProperties.READ_TIMEOUT, 60000);
Client client = ClientBuilder.newClient(clientConfig);
只要请求时间超过定义的值,此代码就可以正常工作,并正确抛出超时异常。但是,当我决定切换到使用ApacheConnector时,如下所示:

ClientConfig clientConfig = new ClientConfig();    
clientConfig.register(JacksonFeature.class);       
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
clientConfig.property(ApacheClientProperties.CONNECTION_MANAGER, connectionManager);
ApacheConnectorProvider provider = new ApacheConnectorProvider();        
clientConfig.connectorProvider(provider);
clientConfig.property(ClientProperties.CONNECT_TIMEOUT, 60000);
clientConfig.property(ClientProperties.READ_TIMEOUT, 60000);
Client client = ClientBuilder.newClient(clientConfig);
超时似乎不再起作用了,所以现在当服务器无法响应时,我的客户端将一直等待,直到永远不会抛出超时异常

以前有没有人遇到过这个问题,或者知道我做错了什么?
谢谢

尝试创建并注册一个
org.apache.http.client.config.RequestConfig

clientConfig.property(ApacheClientProperties.REQUEST_CONFIG, RequestConfig.custom()
  .setConnectTimeout(60000)
  .setSocketTimeout(60000)
  .build());

你的问题有答案吗?我面临着同样的行为,但时断时续。。
RequestConfig reqConfig = RequestConfig.custom()
        .setConnectionRequestTimeout(time_out_value).build();