Ну, на самом деле JBoss отправляет сообщение, но только когда текущая транзакция, запущенная EJB, завершена.
У нас есть эта проблема с JBoss 4.0.3 и Spring JmsTemplate. EJB отправляет сообщение в очередь с временной очередью в качестве поля reply_to. Затем внутри той же транзакции мы слушаем ответ, полученный первым MDB. Проблема в том, что метод JMSTemplate "send" не выполняется после завершения транзакции. Таким образом, к тому времени, когда сообщение отправляется в очередь и обрабатывается MDB, прослушиватель временной очереди исчезает.
Это называется "Синхронный прием"
Две вещи меняют это поведение, но вызывают некоторые опасения:
Измените тип транзакции EJB на BMT. (Концерн: BMT отстой)
Создайте поток, который все, что он делает, это вызывает метод JmsTemplate.send ().
В качестве примечания следует, что это EJB-компонент, который корректно работает в среде weblogic, и сообщение отправляется, когда это необходимо, в середине транзакции, а не после ее завершения.
Спасибо за любую помощь.