Tengo un servlet que se utiliza para obtener los datos desde muchos puntos de datos REST terceras partes, integrar todos los datos e informar los datos en un formato HTML. También tengo un filtro que tiene el siguiente flujo -cómo actualizar filtros para apoyar Servlet 3.0 servlet asíncrono
- Cree un registro de eventos cuando la solicitud golpea el filtro y añadir el objeto eventrecord a la solicitud
- realizar chain.doFilter - que permite al servlet para añadir más detalles en el registro de eventos
- En el camino de regreso al navegador, filter obtiene el objeto eventrecord y lo registra.
Ahora si uso servlet asíncrono utilizando AsyncContext context = request.getAsyncContext();
, que hable con los mismos puntos de datos REST, pero a medida que los datos están listos, se escribirá a la secuencia de respuesta en lugar de esperar a que todos los puntos de datos REST para responder, ¿Cómo volvería a escribir mi filtro? ¿Se adjuntará al hilo que es responsable de eliminar los datos de los puntos de datos REST para que una vez que todos los datos se procesen y se vacíen, se registre el registro de eventos? ¿Hay algún patrón común que pueda estudiar para comprender cómo se pueden manejar estos casos de uso con los servlets asíncronos de Servlet 3.0? Estoy usando JDK 6.0, Tomcat 7.0.