¿Cómo detener el procesamiento de mensajes antes de la implementación?

Dado

Una cola de mensajes JMS.Un servicio de temporizador que coloca mensajes en esa cola periódicamente (desde una base de datos). Un bean controlado por mensajes JEE6 que lee desde la cola.El servicio de temporizador y el bean controlado por mensajes son parte de diferentes unidades de implementación.

Problema

El bean controlado por mensajes no se puede desplegar sin romper el estado del flujo de trabajo, siempre que los mensajes estén en proceso. Debido a eso, primero detenemos el servicio del temporizador y esperamos hasta que todos los mensajes hayan terminado.

¿Hay alguna forma de automatizar ese comportamiento? ¿O es posible evitar el despliegue si el servicio del temporizador aún se está ejecutando? Actualmente estamos utilizando JBoss 4.2.3.

No soluciones:

Refactorizando las unidades de despliegue, porque involucraría a varios departamentos. Sé que un bloqueo del sistema no se cubrirá y que una solución a prueba de balas debe incluir una estrategia de recuperación.

Respuestas a la pregunta(1)

Su respuesta a la pregunta