package com.aol.micro.server.rest.client.nio;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.HttpComponentsAsyncClientHttpRequestFactory;
import org.springframework.web.client.AsyncRestTemplate;
@Configuration
public class SpringConfig {
@Value("${nio.rest.connection.request.timeout:10000}")
private int connectionRequestTimeout;
@Value("${nio.rest.connection.read.timeout:0}")
private int readTimeout;
@Value("${nio.rest.connection.connect.timeout:2000}")
private int connectTimeout;
@Bean
public NIORestClient restClient(){
HttpComponentsAsyncClientHttpRequestFactory rest = new HttpComponentsAsyncClientHttpRequestFactory();
rest.setConnectionRequestTimeout(connectionRequestTimeout);
rest.setReadTimeout(readTimeout);
rest.setConnectTimeout(connectTimeout);
return new NIORestClient(new AsyncRestTemplate(rest));
}
}