pausar el envío y recepción de mensajes desde una aplicación web java

Necesita ayuda para diseñar una aplicación web que pueda enviar y recibir mensajes. debe tener una función de pausa. Tengo problemas para pensar cómo puedo pausar el envío y la recepción (los hilos me asustan T_T). el extremo receptor son clientes / servidores (usando netty)

cualquier sugerencia es más que bienvenida. ¡¡Gracias!!

preguntado el 09 de enero de 11 a las 06:01

¿Cuál es el objetivo exacto de pausar el envío y la recepción? ¿Por qué necesita esa funcionalidad? ¿Podrías explicarme por favor? -

Creo que necesitamos más contexto sobre lo que está haciendo la aplicación web. Necesita comunicarse con un back-end utilizando un protocolo de mensajes ... ¿flujos síncronos o asincrónicos? ¿O estos dos clientes web se comunican entre sí (por ejemplo, una aplicación de chat)? -

lo siento chicos ... la aplicación web es para enviar mensajes iso8583 recibidos ... así que pausar simula (o fuerza) el tiempo de espera ... ellos también querían ejecutarlo en un período de tiempo determinado ... pensé que si sabía cómo hacer una pausa, tendrá una idea de cómo enviar / recibir mensajes en un período de tiempo determinado. La aplicación web puede ser ejecutada por varios usuarios al mismo tiempo. todos los usuarios pueden ejecutar envío / recepción simultáneos ... Realmente no tengo una idea concreta todavía sobre el diseño, pero alguien sugirió usar JMS .. -

1 Respuestas

Estoy de acuerdo con Greg / Harry en que se necesita más información, pero permítanme decir que los hilos se volvieron mucho menos atemorizantes en Java 5 y 6 con la introducción de java.util.concurrent, que es un nivel más alto de abstracción que se ocupa de muchas situaciones de enhebrado del mundo real fuera de la caja. Si entiendo lo que quiere hacer correctamente, comience por mirar BlockingQueue.

Sin embargo, si simplemente desea un mecanismo de envío / recepción que pueda pausarse, configure un máquina de estados finitos que tiene estados para INIT, ROUTE y PAUSE. INIT es para iniciarse antes de que esté listo para hacer su trabajo, ROUTE es para cuando está esperando recibir mensajes para enviarse, y PAUSE es para cuando recibe un comando PAUSE, y espera un comando RESUME.

Puede ejecutar este proceso (y cualquier otro) en un hilo separado dentro de su aplicación web usando java.util.concurrent.Executor.

Respondido el 09 de enero de 11 a las 10:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.