Pregunta

Esto puede sonar como una pregunta tonta. En mi aplicación, tengo un programador que programa el trabajo y la interfaz de usuario web donde el usuario interactúa y monitorea el estado del trabajo. Hay un mecanismo de procesamiento de trabajo que ejecuta un hilo cada 5 minutos para verificar el estado del hilo. Actualmente todo se está ejecutando bajo un JVM. Quiero implementar la parte de programación y la parte de la interfaz de usuario web en diferentes JVM para que la interfaz de usuario web no se atasque cuando los trabajos se programen y se enciendan en el backend.

Mi pregunta es - ¿Cómo puedo implementar parte de la aplicación (interfaz de usuario web) en un JVM y otra parte de la aplicación (programación y ejecución del trabajo) en otro JVM?

Otra pregunta que tengo es sobre la arquitectura del mecanismo de programación. Mi arquitectura propuesta es que tenemos una capa de programador y una capa de interacción web de interfaz de usuario. Desde allí, colocamos trabajos en JMS Queue o ActivemQ y luego tenemos diferentes procesos de Java (diferentes JVM en ejecución) que elegirán el trabajo del ActivemQ y lo procesarán y tenemos que asegurarnos de que el estado de trabajos se comunique correctamente entre diferentes JVMS. ¿Esta idea tiene sentido? Si es así, ¿el cuarzo sería una herramienta apropiada aquí? ¿Cuáles son las soluciones alternativas teniendo en cuenta mis requisitos?

¡Gracias!

¿Fue útil?

Solución

Tiene sentido querer mantener la pieza del planificador separada de la interfaz de usuario web. Suponiendo que tenga dos archivos de oído o guerra diferentes, debería ser relativamente fácil de realizar. Configure otro JVM, implementa solo el archivo de oído de interfaz de usuario/guerra y debería estar listo para comenzar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top