Няма причина да стартирате нишка, за да създадете потребител на JMS и да зададете неговия слушател на съобщения. Целият смисъл на слушателя на JMS съобщения е да получава съобщение асинхронно (функционалност, която изглежда се опитвате да дублирате по някаква причина).
Просто трябва да създадете потребител на JMS и да настроите слушателя на съобщения и след това да се уверите, че потребителят не е затворен. В зависимост от това как е написано приложението понякога е необходимо да има while
цикъл, за да се уверите, че програмата няма да се прекрати и следователно да затвори потребителя. Вашата нишка не прави това. Това позволява на потребителя да излезе извън обхвата, след като изчака съобщенията в продължение на 5 секунди, което означава, че ще бъде събран боклук и очаквам за повечето реализации на JMS това да означава, че ще бъде затворен. Все пак може да е по-лошо от това. Като не затворите изрично потребителя и просто го оставите да изпадне извън обхвата, можете да изтечете потребители, което в крайна сметка ще затъне във вашия брокер на съобщения. Това е не само небрежно програмиране, но и потенциално проблематично за други потребители, които се опитват да приемат съобщения.