Para el siguiente escenario estoy en busca de sus consejos y sugerencias sobre las mejores prácticas:¿Cómo aprovechar Spring Integration en una arquitectura distribuida JMS del mundo real?
En un sistema distribuido (principalmente basado en Java) con:
- muchos (diferentes) aplicaciones cliente (web-app Herramientas de línea de comandos REST API)
- un agente de mensajes JMS central (actualmente a favor del uso de ActiveMQ)
- nodos de procesamiento independientes múltiples (que se ejecutan en varias máquinas remotas, calculan costosas operaciones de diferentes tipos según lo especificado por la carga útil del mensaje JMS)
¿Cómo se puede aplicar mejor el soporte JMS proporcionado por el marco Spring Integration para desacoplar los clientes de los nodos de trabajador? Al leer la documentación de referencia y algunos primeros experimentos, parece que la configuración de un adaptador de entrada JMS requiere intrínsecamente el uso de un suscriptor, que en un escenario desacoplado no existe.
Nota pequeña: la comunicación debe realizarse a través de mensajes de texto JMS (utilizando una estructura de datos JSON para futuras ampliaciones).
Gracias, Camel es, por supuesto, también una opción, pero ¿no requeriría más sobrecarga de configuración o es factible? – ngeek
No creo que sea demasiada configuración. He actualizado mi respuesta con un ejemplo. –
Cierto, esto se ve de hecho muy conciso. Gracias por publicar más detalles. – ngeek