Esencialmente tan pronto como cree el AQjmsQueueReceiver y establezca su detector de mensajes en receive() el método saldrá y el AQjmsQueueReceiver quedará fuera del alcance. Supongo que se invoca desde el main método que también significa que el programa saldrá. Necesitas:
- Modifique su aplicación para que sus objetos JMS no queden fuera del alcance (porque se recolectarán basura).
- Evite que su programa se cierre mientras espera mensajes.