我正在为项目使用jersey-client
,并希望Client
使用来自Apache httpclient librabry的HTTP客户端。
我以前认为这是可能的。
我使用泽西2.20。
答案 0 :(得分:11)
使用ApacheConnectorProvider。将实例传递给ClientConfig.connectorProvider()以获取将使用Apache HTTP客户端的ClientConfig
实例。
使用以下依赖项:
<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());
}
}