javax.jms.MessageListener: ¿Qué problemas adicionales de subprocesos deben solucionarse?

En este bonito artículo sobre JMS, Bruce Snyder (Autor de "ActiveMQ en acción") menciona:

[una] de las opciones para implementar un escucha de mensajes que se utilizará con Spring DMLC es usar javax.jms.MessageListener: es una interfaz estandarizada de la especificación JMS, pero el manejo de subprocesos depende de usted .

No habla de subprocesos en las otras dos opciones: Spring SessionAwareMessageListener y MessageListenerAdapter.

Mi pregunta es: ¿Qué problemas de subprocesos adicionales deben abordarse con el uso de javax.jms.MessageListener, en comparación con los otros dos enfoques?

Estoy pensando que, independientemente de la opción que elija de las 3 anteriores, si mi escucha recibirá mensajes en varios hilos, la implementación de mi escucha debe ser segura para los hilos.

Revisé los ejemplos que Bruce había creado en github para las tres opciones. No vi ningún manejo específico para hilos en ningún caso. Los xmls de los consumidores simples y conscientes de la sesión son casi iguales.

Respuesta 1

Me gustaría descubrir todas las implementaciones de una interfaz durante el tiempo de ejecución en una aplicación Java y cargar esas clases dinámicamente desde archivos JAR que el usuario puede agregar a una carpeta. Es un sistema enchufable, ...

Necesito ejecutar este sql: select * from (select nt. *, Rank () over (partición por feld0 orden por feld1 desc) como clasificación de (seleccione bla de prueba) nt) donde clasificación <3 orden por 1,2. ..

Tengo una aplicación de arranque de primavera y quiero leer algunas variables de mi archivo application.properties. De hecho, los siguientes códigos hacen eso. Pero creo que hay un buen método para esta alternativa. Propiedades ...

Tengo varios archivos de texto que contienen información sobre la popularidad de diferentes lenguajes de programación en diferentes países basados ​​en las búsquedas de Google. Tengo un archivo de texto para cada año desde 2004 ...