2010-02-15 15 views

Respuesta

12

No, un MessageProducer/QueueSender no es seguro para subprocesos.

O más específicamente: El Session no es seguro para subprocesos. El Javadoc para Session menciona explícitamente esta en su primera frase:

un objeto de sesión es un contexto de un solo subproceso para producir y consumir mensajes.

Y como un MessageProducer/QueueSender está unido a un Session no hay que utilizarlo desde más de un hilo al mismo tiempo. ¡De hecho, tampoco debes usarlo desde dos hilos diferentes en diferentes momentos!

+0

Muchas gracias por su respuesta rápida – mebada

9

siguiente captura de pantalla es de especificaciones JMS2

enter image description here

Como se puede ver objeto de sesión no admite el uso de hilos concurrentes. La sesión no es un objeto seguro. Lo mismo ocurre con todos los objetos creados a partir de esa instancia de sesión como Messages,Producers,Consumers. Por lo tanto, estos objetos no deben ser compartidos por dos subprocesos y esto es algo de lo que el cliente debe ocuparse en lugar de los proveedores de JMS.

Cuestiones relacionadas