Saltar al contenido

Spring Boot REST API: ¿solicitar tiempo de espera?

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *