Estoy intentando escribir una implementación multiproceso para el procesamiento de mensajes JMS desde una cola.Recepción de subprocesos JMS en Spring
He intentado con las clases DefaultMessageListenerContainer y SimpleMessageListenerContainer.
El problema que tengo es que parece que solo una instancia de la clase MessageListener se instancia alguna vez, sin importar cómo la configuro. Esto me obliga a escribir innecesariamente implementaciones de MessageListener sin estado o sin subprocesos, ya que tengo el ListenerContainer configurado para usar varios subprocesos (concurrentConsumers = 8).
¿Hay una solución obvia a esto que estoy pasando por alto?
No entiendo. Estoy haciendo mi MessageListener. Solo quiero aprovechar los múltiples núcleos de mi máquina para procesar cosas en paralelo. –
@Iker: Sí, y MessageListenerContainer generará múltiples hilos para hacer esto, con todos los hilos usando la misma instancia de su 'MessageListener'. Engendrar oyentes múltiples es ineficiente e innecesario. – skaffman
Ok, eso lo entiendo. Pero digamos que para cada mensaje JMS debe procesar un trabajo que lleva unos segundos. Quiero poder usar un conjunto de instancias completamente separadas para procesar cada uno de los mensajes. ¿Debería generar hilos del MessageListener entonces? –