Není důvod spouštět vlákno za účelem vytvoření spotřebitele JMS a nastavení jeho posluchače zpráv. Celým smyslem posluchače zpráv JMS je přijímat zprávy asynchronně (funkce, kterou se z nějakého důvodu pokoušíte duplikovat).
Jednoduše musíte vytvořit spotřebitele JMS a nastavit posluchače zpráv a poté zajistit, aby spotřebitel nebyl uzavřen. V závislosti na tom, jak je aplikace napsána, je někdy nutné mít while
smyčka, abyste se ujistili, že se program neukončí, a proto neuzavře spotřebitele. Vaše vlákno to nedělá. Nechává spotřebitele vypadnout z rozsahu po čekání na zprávy po dobu 5 sekund, což znamená, že bude shromažďován odpad a očekávám, že u většiny implementací JMS to znamená, že bude uzavřen. Mohlo by to však být horší. Tím, že spotřebitele explicitně neuzavřete a necháte ho vypadnout z rozsahu, můžete uniknout spotřebitelům, což by nakonec uvázlo vašeho zprostředkovatele zpráv. Toto není jen nedbalé programování, ale potenciálně problematické pro ostatní uživatele, kteří se snaží konzumovat zprávy.