SpringBoot implementa un sondeo largo asincrónico de solicitudes http [2] -modos asincrónicos e interceptores.
Después de recibir la solicitud del servlet, el servidor libera los recursos del subproceso ocupados por el servlet. Inicie subprocesos asincrónicos para manejar operaciones que requieren mucho tiempo. Cuando se completa la operación que requiere mucho tiempo, los resultados se devuelven al cliente.
Nota: Durante este período, el enlace http entre el cliente y el servidor no se desconectará y el cliente seguirá esperando datos de respuesta;
Si no utiliza HandlerInterceptor , puede utilizar la interfaz AsyncHandlerInterceptor Implementado para interceptar solicitudes que implican procesamiento asincrónico.
Se recomienda implementar HandlerInterceptorAdapter, que está adaptado a AsyncHandlerInterceptor y HandlerInterceptor.
Como se mencionó anteriormente, los subprocesos de Servlet son liberados y procesados por el grupo de subprocesos designado, entonces, ¿cómo definir el grupo de subprocesos designado?
Nota: Este método devuelve Invocable.
El efecto de ejecución se muestra en la siguiente figura:
spring MVC: utilice AsyncHandlerInterceptor para interceptar solicitudes de procesamiento asincrónico