Oracle
 sql >> база данни >  >> RDS >> Oracle

Правилен подход за инициализиране на асинхронен JMS слушател и оставянето му да работи безкрайно

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

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранявайте данните за дата-час като числа

  2. Как да деактивирате PL/SQL в Oracle заявки

  3. 2 начина да получите броя на дните в месеца в Oracle

  4. TNS:слушателят в момента не знае за услугата, поискана в дескриптора за свързване

  5. Конвертиране на Oracle Reports (.rdf) в BIRT отчети