List of usage examples for org.springframework.web.client AsyncRestTemplate exchange
@Override public <T> ListenableFuture<ResponseEntity<T>> exchange(URI url, HttpMethod method, @Nullable HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType) throws RestClientException
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 w ww .j a v a2 s . 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); } }
From source file:HCNIOEngine.java
@Override public ResponseEntity<String> submit(JCurlRequestOptions requestOptions) throws Exception { ResponseEntity<String> stringResponseEntity = null; try (CloseableHttpAsyncClient hc = createCloseableHttpAsyncClient()) { 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())); }// w w w. j a v a 2 s. c o m final HttpEntity<Void> requestEntity = new HttpEntity<>(headers); AsyncRestTemplate template = new AsyncRestTemplate( new HttpComponentsAsyncClientHttpRequestFactory(hc)); final ListenableFuture<ResponseEntity<String>> exchange = template.exchange(requestOptions.getUrl(), HttpMethod.GET, requestEntity, String.class); stringResponseEntity = exchange.get(); System.out.println(stringResponseEntity.getBody()); } return stringResponseEntity; } }