Asynchrone RESTE client
Comment écrire asynchrone client REST?
Mon contrôleur (pas sûr si c'est assez pour être async):
@RequestMapping(method = RequestMethod.GET, value = "/get/all")
@ResponseBody
public Callable < CustomersListDTO > getAllCustomers() {
return new Callable < CustomersListDTO > () {
@Override
public CustomersListDTO call() throws Exception {
Thread.sleep(2000);
return customerService.getAllCustomers();
}
};
}
Mon synchrone RESTE client méthode:
public Response get_all_customers() {
ResponseEntity < CustomersListDTO > response;
try {
response = restTemplate.getForEntity(
getMethodURI(ServiceExplanation.GET_ALL_CUSTOMERS),
CustomersListDTO.class
);
message = "Customers obtained successfully!";
} catch (HttpServerErrorException ex) {
message = "ERROR: " + ex.getMessage() + " - " + ex.getResponseBodyAsString();
} catch (HttpClientErrorException ex) {
message = "ERROR: " + ex.getMessage() + " - " + ex.getResponseBodyAsString();
} catch (RestClientException ex) {
message = checkIfServerOrInternetDown();
}
return formResponse(message, response);
}
Comment puis-je faire asynchrone? Comment le CLIENT peut-il continuer à faire d'autres tâches pendant que le SERVEUR est l'obtention de données et, plus tard, de retour trouvé de données?
- Lisez à propos de la simultanéité. docs.oracle.com/javase/tutorial/essential/concurrency
- regardez le lien suivant adayinthelifeof.nl/2011/06/02/asynchronous-operations-in-rest
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à la recherche pour le REPOS asynchrone mise en œuvre du client, vous pouvez prendre un coup d'oeil à Jersey asynchrone client API. Il peut être facilement intégré avec le Printemps.
Je suggère d'ajouter le support de groovy dans votre application de sorte que vous pouvez utiliser AsyncHTTPBuilder qui est ce que vous essayez de faire. Il utilise essentiellement des FutureTask sous le capot.
Vérifier Ning " asynchrone client http: https://github.com/AsyncHttpClient/async-http-client
aussi eBay " RESTE commandant en parallèle reste asynchrone client prêt à l'emploi: http://www.restcommander.com/