如何在下面使用带有 Apache httpclient 的 jersey-client?

How can I use jersey-client with Apache httpclient underneath?

我正在为一个项目使用 jersey-client,并且想让 Client 使用来自 Apache httpclient 库的 HTTP 客户端。

我之前看到这是可能的。

我正在使用 Jersey 2.20。

使用 ApacheConnectorProvider. Pass an instance to ClientConfig.connectorProvider() 获取 ClientConfig 的实例,该实例将在后台使用 Apache HTTP 客户端。

使用以下依赖项:

<dependency>
        <groupId>org.glassfish.jersey.connectors</groupId>
        <artifactId>jersey-apache-connector</artifactId>
        <version>2.20</version>
</dependency>

这是一个工作示例:

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;

import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
import org.glassfish.jersey.client.ClientConfig;


public class Test {
    @org.junit.Test
    public void test() {
        ClientConfig cc = new ClientConfig().connectorProvider(new ApacheConnectorProvider());
        Client client = ClientBuilder.newClient(cc);
        System.out.println(client.target("http://example.com/").request().get().getStatus());
    }
}