从org.apache.http.client.HttpClient创建webClient

时间:2018-08-09 11:22:36

标签: java reactive-programming spring-webflux

我想从org.apache.http.client.HttpClient创建Web客户端以在异步操作中使用它。有关如何操作的任何想法

2 个答案:

答案 0 :(得分:2)

随着 Spring Framework 5.3 Spring Boot 2.4 的发布,现在Apache HttpClient 5.0和Spring WebClient之间实现了内置集成。

HttpAsyncClientBuilder clientBuilder = HttpAsyncClients.custom();
clientBuilder.setDefaultRequestConfig(...);
CloseableHttpAsyncClient client = clientBuilder.build();
ClientHttpConnector connector = new HttpComponentsClientHttpConnector(client);

WebClient webClient = WebClient.builder().clientConnector(connector).build();

答案 1 :(得分:0)

使用org.apache.http.client.HttpClient很难,因为它不是为此而设计的,但是您可以做到这一点,但这将是一个安静的,杂乱无章的解决方案,需要您自己编写大量代码。 最好使用为HttpAsyncClient设计的东西(同样来自apache btw。)

在这里您可以找到一些信息和一个代码示例: https://hc.apache.org/httpcomponents-asyncclient-ga/quickstart.html

祝你好运