Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Prawidłowe podejście do inicjalizacji asynchronicznego nasłuchiwania JMS i umożliwienia mu nieskończonego działania

Nie ma powodu, aby uruchamiać wątek w celu utworzenia konsumenta JMS i ustawienia jego nasłuchiwania komunikatów. Celem nasłuchiwania komunikatów JMS jest asynchroniczne odbieranie komunikatów (funkcja, którą z jakiegoś powodu próbujesz zduplikować).

Wystarczy utworzyć konsumenta JMS i ustawić nasłuchiwanie komunikatów, a następnie upewnić się, że konsument nie jest zamknięty. W zależności od tego, jak aplikacja jest napisana, czasami konieczne jest posiadanie while pętla, aby upewnić się, że program nie zakończy działania, a zatem nie zamknie konsumenta. Twój wątek tego nie robi. Pozwala konsumentowi wyjść poza zakres po oczekiwaniu na wiadomości przez 5 sekund, co oznacza, że ​​będzie zbierany śmieci i spodziewam się, że w przypadku większości implementacji JMS oznacza to, że zostanie zamknięty. Mogło być jednak gorzej. Nie zamykając konsumenta w sposób jawny i po prostu pozwalając mu wyjść poza zakres, możesz przeciekać konsumentów, co ostatecznie ugrzęźnie w twoim brokerze wiadomości. Jest to nie tylko niechlujne programowanie, ale potencjalnie problematyczne dla innych użytkowników próbujących konsumować wiadomości.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dołącz do podzielonych kolumn ciągów w Oracle

  2. Jak uzyskać dni robocze lub godziny między dwiema datami?

  3. jak zmodyfikować istniejące ograniczenie sprawdzania?

  4. GetOracle Wyciek pamięci dziesiętnej

  5. Jak uzyskać typ danych kolumny w Oracle z PL-SQL z niskimi uprawnieniami?