domingo, 2 de junio de 2013

Ejercicios de clase. Clase 5: servlets asíncronos.

En el siguiente enlace podrás descargar un proyecto web que cuenta con una sencilla página de inicio con un enlace a un servlet. Dicho servlet simula una tarea de 10 segundos de duración antes de producir la salida ¡HOLA, MUNDO! Este hecho provoca que, de cara al usuario, parezca que el servlet no responde debido a algún posible fallo cuando, en realidad, está en pleno proceso. Para evitar esta situación, a partir de la versión 3.0 se pueden crear servlets asíncronos que generen nuevos hilos de ejecución para evitar que los accesos lentos a algún recurso interfieran en la interacción con el usuario.



Modifica el servlet para que se comporte de forma asíncrona, creando un hilo que atienda la tarea lenta mientras el hilo principal del servlet atiende de inmediato la interacción con el usuario, tal y como se muestra en el siguiente diagrama:



Modifica el servlet para que cuando termine la tarea asíncrona capture un evento que le permita comunicarle este hecho al usuario, tal y como se muestra en la siguiente figura (simbólicamente, sólo mostraremos un mensaje en la consola de salida cuando se complete la tarea)


Consola del servidor



No hay comentarios:

Publicar un comentario