sql >> Databáze >  >> RDS >> Oracle

Správný přístup k inicializaci asynchronního naslouchacího modulu JMS a nechat jej běžet nekonečně

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.




  1. Datatables - Výstup Json - PostgreSQL - Vrací hodnotu null

  2. Jak importovat soubor DBF na SQL Server

  3. Spuštění více instancí PostgreSQL na jednom hostiteli

  4. Podpora prostorové databáze MySQL VS Postgres/POSTGIS