JMS pytanie

0

Cześć, w temacie JMS jestem nowy i mam takie pytania odnośnie modelu publish/subscribe:

  1. Czy tylko jeden wydawca może publikować wiadomości na jeden temat, czy może być ich wiele tak jak subkrybetnów?
  2. Czy jeśli subskrybent jest nieaktywny to wiadomość przepada i już nie można się do niej dostać z poziomu subskrybenta?
  3. Czy w modelu publish/subscribe jest możliwe ack po przetworzeniu wiadomości przez subskrybenta?
0

Dawno nie korzystałem z JMS, ale

  1. tak
  2. to zależy jaki jest twój JMS provider i czy wspiera retained publication
  3. niby można, ale pytanie co to daje (w zasadzie ma sens w związku z punktem 2 tylko).

Z jakiego roku przybywasz z tym JMSem ?

0

Rozwinę trochę odpowiedź na punkt 2, czy można odczytać wiadomość z okresu, kiedy nie było się podłączonym.

Są 2 metody podłączenia się do kolejki: zwykły (bez nazwy) i durable. W trybie zwykłym czytasz tylko to, co w danej chwili się pojawia i tu odpowiedź na Twoje pytanie byłaby: "nie".

Odpowiedź "tak", daje tryb durable (createDurableConnectionConsumer). W tym trybie serwer przechowuje listę wszystkich stałych odbiorców oraz pamięta, które wiadomości otrzymali, a które należy im jeszcze dostarczyć.

Tryb durable jest częścią specyfikacji java EE, więc każdy serwer powinien to obsługiwać. Każdy serwer może mieć do tego jeszcze swoje rozszerzenia spoza implementacji. Bardzo rozbudowany jest system IBM Message Queue.

Tę wiedzę nabyłem drogą własnych badań. Nie wiem, czy stosuje się to w praktyce. Na pewno w praktyce stosuje się kafkę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1