List of usage examples for org.springframework.util.concurrent ListenableFuture get
V get() throws InterruptedException, ExecutionException;
From source file:com.example.WebController.java
@GetMapping("/pull") public RedirectView pull(@RequestParam("subscription1") String subscriptionName) { Collection<AcknowledgeablePubsubMessage> messages = this.pubSubTemplate.pull(subscriptionName, 10, true); if (messages.isEmpty()) { return buildStatusView("No messages available for retrieval."); }/* w w w . j a v a2 s. co m*/ RedirectView returnView; try { ListenableFuture<Void> ackFuture = this.pubSubTemplate.ack(messages); ackFuture.get(); returnView = buildStatusView(String.format("Pulled and acked %s message(s)", messages.size())); } catch (Exception ex) { LOGGER.warn("Acking failed.", ex); returnView = buildStatusView("Acking failed"); } return returnView; }
From source file:com.example.WebController.java
@GetMapping("/multipull") public RedirectView multipull(@RequestParam("subscription1") String subscriptionName1, @RequestParam("subscription2") String subscriptionName2) { Set<AcknowledgeablePubsubMessage> mixedSubscriptionMessages = new HashSet<>(); mixedSubscriptionMessages.addAll(this.pubSubTemplate.pull(subscriptionName1, 1000, true)); mixedSubscriptionMessages.addAll(this.pubSubTemplate.pull(subscriptionName2, 1000, true)); if (mixedSubscriptionMessages.isEmpty()) { return buildStatusView("No messages available for retrieval."); }//ww w. j a v a 2s . com RedirectView returnView; try { ListenableFuture<Void> ackFuture = this.pubSubTemplate.ack(mixedSubscriptionMessages); ackFuture.get(); returnView = buildStatusView( String.format("Pulled and acked %s message(s)", mixedSubscriptionMessages.size())); } catch (Exception ex) { LOGGER.warn("Acking failed.", ex); returnView = buildStatusView("Acking failed"); } return returnView; }
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())); }// ww w. j av a 2s. co 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; } }
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 {/* 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:uk.ac.ebi.ep.ebeye.EbeyeRestService.java
private EbeyeSearchResult getEbeyeSearchResult(String url) throws InterruptedException, ExecutionException { HttpMethod method = HttpMethod.GET;/*from ww w .j ava 2s. c o m*/ // Define response type Class<EbeyeSearchResult> responseType = EbeyeSearchResult.class; // Define headers HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity<EbeyeSearchResult> requestEntity = new HttpEntity<>(headers); ListenableFuture<ResponseEntity<EbeyeSearchResult>> future = asyncRestTemplate.exchange(url, method, requestEntity, responseType); try { ResponseEntity<EbeyeSearchResult> results = future.get(); return results.getBody(); } catch (HttpClientErrorException ex) { LOGGER.error(ex.getMessage(), ex); } return null; }
From source file:org.apache.servicecomb.demo.springmvc.tests.SpringMvcIntegrationTestBase.java
@Test public void ableToQueryAtRootBasePath() throws Exception { ResponseEntity<String> responseEntity = restTemplate.getForEntity(baseUrl + "sayHi?name=Mike", String.class); assertThat(responseEntity.getStatusCode(), is(OK)); assertThat(responseEntity.getBody(), is("Hi Mike")); responseEntity = restTemplate.getForEntity(baseUrl + "sayHi?name={name}", String.class, "? "); assertThat(responseEntity.getStatusCode(), is(OK)); assertThat(responseEntity.getBody(), is("Hi ? ")); //integration test for AsyncRestTemplate ListenableFuture<ResponseEntity<String>> listenableFuture = asyncRestTemplate .getForEntity(baseUrl + "sayHi?name=Mike", String.class); ResponseEntity<String> futureResponse = listenableFuture.get(); assertThat(futureResponse.getStatusCode(), is(OK)); assertThat(futureResponse.getBody(), is("Hi Mike")); listenableFuture = asyncRestTemplate.getForEntity(baseUrl + "sayHi?name={name}", String.class, "? "); futureResponse = listenableFuture.get(); assertThat(futureResponse.getStatusCode(), is(OK)); assertThat(futureResponse.getBody(), is("Hi ? ")); }
From source file:org.apache.servicecomb.demo.springmvc.tests.SpringMvcIntegrationTestBase.java
@Test public void ableToQueryAtRootPath() throws Exception { ResponseEntity<String> responseEntity = restTemplate.getForEntity(baseUrl, String.class); assertThat(responseEntity.getStatusCode(), is(OK)); assertThat(responseEntity.getBody(), is("Welcome home")); ListenableFuture<ResponseEntity<String>> listenableFuture = asyncRestTemplate.getForEntity(baseUrl, String.class); ResponseEntity<String> futureResponse = listenableFuture.get(); assertThat(futureResponse.getStatusCode(), is(OK)); assertThat(futureResponse.getBody(), is("Welcome home")); }
From source file:org.apache.servicecomb.demo.springmvc.tests.SpringMvcIntegrationTestBase.java
@Test public void ableToQueryAtNonRootPath() throws Exception { ResponseEntity<String> responseEntity = restTemplate.getForEntity(baseUrl + "french/bonjour?name=Mike", String.class); assertThat(responseEntity.getStatusCode(), is(OK)); assertThat(responseEntity.getBody(), is("Bonjour Mike")); ListenableFuture<ResponseEntity<String>> listenableFuture = asyncRestTemplate .getForEntity(baseUrl + "french/bonjour?name=Mike", String.class); ResponseEntity<String> futureResponse = listenableFuture.get(); assertThat(futureResponse.getStatusCode(), is(OK)); assertThat(futureResponse.getBody(), is("Bonjour Mike")); }
From source file:org.apache.servicecomb.demo.springmvc.tests.SpringMvcIntegrationTestBase.java
@Test public void ableToPostMap() throws Exception { Map<String, User> users = new HashMap<>(); users.put("user1", userOfNames("name11", "name12")); users.put("user2", userOfNames("name21", "name22")); ParameterizedTypeReference<Map<String, User>> reference = new ParameterizedTypeReference<Map<String, User>>() { };//from w ww. j av a 2s. c o m ResponseEntity<Map<String, User>> responseEntity = restTemplate.exchange(codeFirstUrl + "testUserMap", POST, jsonRequest(users), reference); assertThat(responseEntity.getStatusCode(), is(OK)); Map<String, User> body = responseEntity.getBody(); assertArrayEquals(body.get("user1").getNames(), new String[] { "name11", "name12" }); assertArrayEquals(body.get("user2").getNames(), new String[] { "name21", "name22" }); ListenableFuture<ResponseEntity<Map<String, User>>> listenableFuture = asyncRestTemplate .exchange(codeFirstUrl + "testUserMap", POST, jsonRequest(users), reference); ResponseEntity<Map<String, User>> futureResponse = listenableFuture.get(); assertThat(futureResponse.getStatusCode(), is(OK)); body = futureResponse.getBody(); assertArrayEquals(body.get("user1").getNames(), new String[] { "name11", "name12" }); assertArrayEquals(body.get("user2").getNames(), new String[] { "name21", "name22" }); }
From source file:org.apache.servicecomb.demo.springmvc.tests.SpringMvcIntegrationTestBase.java
@Test public void ableToConsumeTextPlain() throws Exception { String body = "a=1"; String result = restTemplate.postForObject(codeFirstUrl + "textPlain", body, String.class); assertThat(jsonOf(result, String.class), is(body)); HttpEntity<?> entity = new HttpEntity<>(body); ListenableFuture<ResponseEntity<String>> listenableFuture = asyncRestTemplate .postForEntity(codeFirstUrl + "textPlain", entity, String.class); ResponseEntity<String> responseEntity = listenableFuture.get(); assertThat(jsonOf(responseEntity.getBody(), String.class), is(body)); }