Example usage for org.springframework.http.client Netty4ClientHttpRequestFactory setConnectTimeout

List of usage examples for org.springframework.http.client Netty4ClientHttpRequestFactory setConnectTimeout

Introduction

In this page you can find the example usage for org.springframework.http.client Netty4ClientHttpRequestFactory setConnectTimeout.

Prototype

public void setConnectTimeout(int connectTimeout) 

Source Link

Document

Set the underlying connect timeout (in milliseconds).

Usage

From source file:com.bodybuilding.argos.discovery.ClusterListDiscovery.java

public ClusterListDiscovery() {
    super(UPDATE_INTERVAL, TimeUnit.MILLISECONDS);
    Netty4ClientHttpRequestFactory requestFactory = new Netty4ClientHttpRequestFactory();
    requestFactory.setConnectTimeout(10_000);
    requestFactory.setReadTimeout(10_000);
    this.restTemplate = new RestTemplate(requestFactory);
}

From source file:NNIOEngine.java

@Override
public ResponseEntity<String> submit(JCurlRequestOptions requestOptions) throws Exception {
    int ioWorkerCount = Runtime.getRuntime().availableProcessors() * 2;
    NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(ioWorkerCount);

    try {/*from   ww w  . j a  v  a 2s  . co  m*/
        final Netty4ClientHttpRequestFactory netty4ClientHttpRequestFactory = new Netty4ClientHttpRequestFactory(
                eventLoopGroup);
        netty4ClientHttpRequestFactory.setConnectTimeout(2000);
        netty4ClientHttpRequestFactory.setReadTimeout(2000);
        /*
                    SslContext sslContext = SslContextBuilder
        .forClient()
        .sslProvider(SslProvider.JDK)
        .build()
                    ;
        */
        if (requestOptions.getUrl().toLowerCase().startsWith("https://")) {
            SslContext sslContext = new DefaultClientSslContext();
            netty4ClientHttpRequestFactory.setSslContext(sslContext);
        }
        netty4ClientHttpRequestFactory.afterPropertiesSet();

        ResponseEntity<String> stringResponseEntity = null;
        for (int i = 0; i < requestOptions.getCount(); i++) {
            final HttpHeaders headers = new HttpHeaders();
            for (Map.Entry<String, String> e : requestOptions.getHeaderMap().entrySet()) {
                headers.put(e.getKey(), Collections.singletonList(e.getValue()));
            }

            final HttpEntity<Void> requestEntity = new HttpEntity<>(headers);

            AsyncRestTemplate template = new AsyncRestTemplate(netty4ClientHttpRequestFactory);
            final ListenableFuture<ResponseEntity<String>> exchange = template.exchange(requestOptions.getUrl(),
                    HttpMethod.GET, requestEntity, String.class);
            stringResponseEntity = exchange.get();
            System.out.println(stringResponseEntity.getBody());
        }
        return stringResponseEntity;
    } finally {
        eventLoopGroup.shutdownGracefully(100, 500, TimeUnit.MILLISECONDS);
    }
}