Haz todo lo posible por comprender el código bien previamente a usarlo a tu proyecto y si tdeseas aportar algo puedes comentarlo.
Solución:
Tienes que devolver un Callable<>
si tu quieres spring.mvc.async.request-timeout=5000
trabajar.
@RequestMapping(method = RequestMethod.GET)
public Callable getFoobar() throws InterruptedException
return new Callable()
@Override
public String call() throws Exception
Thread.sleep(8000); //this will cause a timeout
return "foobar";
;
los @Transactional
La anotación toma un parámetro de tiempo de espera donde puede especificar el tiempo de espera en segundos para un método específico en el @RestController
@RequestMapping(value = "/method",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
@Transactional(timeout = 120)
Le sugiero que eche un vistazo al iniciador Spring Cloud Netflix Hystrix para manejar llamadas remotas potencialmente poco confiables o lentas. Implementa el patrón Circuit Breaker, que está diseñado precisamente para este tipo de cosas.
Consulte los documentos oficiales para obtener más información.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)