Je développe une API REST au printemps Boot que je fournirai la réponse dans la plupart 1-3 Controller sec.My est comme ci-dessous:Comment vous assurer que tous les appels d'API sont servis (appels d'API Queuing Rest)?
@RestController
public class ApiController {
List<ApiObject> apiDataList;
@RequestMapping(value="/data",produces={MediaType.APPLICATION_JSON_VALUE},method=RequestMethod.GET)
public ResponseEntity<List<ApiObject>> getData(){
List<ApiObject> apiDataList=getApiData();
return new ResponseEntity<List<ApiObject>>(apiDataList,HttpStatus.OK);
}
@ResponseBody
public List<ApiObject> getApiData(){
List<ApiObject> apiDataList3=new List<ApiObject>();
//do the processing
return apiDataList3;
}
}
J'ai 300 utilisateurs chargement simultanément la API.I effectuées le test de charge avec JMeter et c'était ok.Mais encore il y avait quelques échecs (pas tous les appels API ont été servis) .So comment puis-je surmonter cela? Comment imlement toute file d'attente sur les appels API qui arrive ou d'autres méthodes pour assurer chaque Appel API est répondu avec des données?
Oui Je veux que toutes les demandes retournent les données. Pouvez-vous expliquer un peu ce qui se passe réellement dans le cas de @Async? Il serait utile si vous fournissez un exemple – Ricky
Je crois que cet exemple est clair à partir du printemps: https://spring.io/guides/gs/async-method/. Mais en Java 8, nous avons le CompletableFuture qui est meilleur que Future. L'échantillon à appliquer est ici: https://www.javacodegeeks.com/2016/04/spring-async-javas-8-completablefuture.html –