¿Sería tan amable de compartir cualquier manual de hasta a la fecha o explicar aquí la forma de aplicar un criterio de valoración de sondeo de descanso largo con la última primavera (primavera de arranque)?
Todo lo que he encontrado en ese momento es bastante anticuado y se publicó hace un par de años.
Por lo tanto, he criado a una pregunta de sondeo es largo todavía un enfoque bien? Sé que se utiliza en chess.com
Durante mucho tiempo tirando petición se puede utilizar DeferredResult
. cuando regrese respuesta DeferredResult, subproceso de solicitud será libre y este mango solicitud de subproceso de trabajo. Aquí está un ejemplo:
@GetMapping("/test")
DeferredResult<String> test(){
Long timeOutInMilliSec = 100000L;
String timeOutResp = "Time Out.";
DeferredResult<String> deferredResult = new DeferredResult<>(timeOutInMilliSec,timeOutResp);
CompletableFuture.runAsync(()->{
try {
//Long pooling task;If task is not completed within 100 sec timeout response retrun for this request
TimeUnit.SECONDS.sleep(10);
//set result after completing task to return response to client
deferredResult.setResult("Task Finished");
}catch (Exception ex){
}
});
return deferredResult;
}
En esta solicitud dar respuesta después de esperar 10 seg. si se espera más de 100 segundos obtendrá el tiempo de espera de respuesta.
Mira esto .