下面列出了怎么用org.springframework.http.client.HttpComponentsAsyncClientHttpRequestFactory的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
void syncNonBlockingApache() throws Exception {
final HttpComponentsAsyncClientHttpRequestFactory requestFactory =
new HttpComponentsAsyncClientHttpRequestFactory(HttpAsyncClientBuilder.create()
.setThreadFactory(threadFactory("io"))
.build());
try {
final ConfigurationStage stage = Http.builder()
.asyncRequestFactory(requestFactory);
test(stage, "main", "io", "io");
} finally {
requestFactory.destroy();
}
}
/**
* Factory for AsyncClientHttpRequest.
*
* @return AsyncClientHttpRequestFactory
*/
@Bean
public AsyncClientHttpRequestFactory getAsyncClientHttpRequestFactory() {
int timeout = 5000;
HttpComponentsAsyncClientHttpRequestFactory asyncClientHttpRequestFactory =
new HttpComponentsAsyncClientHttpRequestFactory();
asyncClientHttpRequestFactory.setConnectTimeout(timeout);
return asyncClientHttpRequestFactory;
}
@Bean
public NIORestClient restClient(){
HttpComponentsAsyncClientHttpRequestFactory rest = new HttpComponentsAsyncClientHttpRequestFactory();
rest.setConnectionRequestTimeout(connectionRequestTimeout);
rest.setReadTimeout(readTimeout);
rest.setConnectTimeout(connectTimeout);
return new NIORestClient(new AsyncRestTemplate(rest));
}
AsyncClientHttpRequestFactory configureClient(AsyncClientHttpRequestInterceptor interceptor) {
HttpComponentsAsyncClientHttpRequestFactory factory =
new HttpComponentsAsyncClientHttpRequestFactory(asyncClient);
factory.setReadTimeout(1000);
factory.setConnectTimeout(1000);
this.interceptor = interceptor;
return factory;
}
private AsyncClientHttpRequestFactory asyncHttpRequestFactory() throws Exception {
return new HttpComponentsAsyncClientHttpRequestFactory(
asyncHttpClient());
}