Każdy komunikat wysyłany, czy też odbierany z kolejki posiada, poza blokiem danych aplikacji,
blok nagłówkowy. Zawiera on parametry związane z charakterystyką komunikatu. Do najważniejszych z nich należą:
MessageId
Pole oznacza identyfikator komunikatu.
CorrelationId
Pole oznacza identyfikator skorelowanego komunikatu. Wykorzystywane w komunikacji REQUES-RESPONSE.
W przypadku adaptera odpowiadającego pole powinno być ustawione na indeks zapytania i tak wysłane do adaptera
pytającego, aby ten z kolei mogł ustalić na jakie zapytanie jest to odpowiedź.
Expiry
Pole określa kiedy komunikat traci ważność. Jest ono wykorzystywane bardzo często, kiedy wiemy, że po
jakimś upływie czasu informacja zawarta w komunikacie się przedawni lub kiedy odpowiedzi na zadane przez nas
pytanie oczekujemy przez ściśle określony czas.
Persistence
Pole to często jest wykorzystywane wspólnie z poprzednim polem. Określa ono, czy komunikat ma być trwały,
czy nie. Trwałość rozumie się przez to, że komunikat w przypadku restartu menadżera kolejek, jeśli przed
restartem znajdował się w kolejce, to i po nim też tam się będzie znajdował dopóki jakiś adapter go
stamtąd nie pobireze. Komunikaty nietrwałe takiej operacji nie przetrwają i w takiej sytuacji zostają
utracone. Sens wykorzystania komunikatów nietrwałych wiąże się z wydajnością. W związku z tym jeśli nie ma
takiej potrzeby, to nie jest zalecane aby wszystkie wysyłane komunikaty były trwałe.
ReplyToQueue
Pole to jest wykorzystywane w komunikacji REQUES-RESPONSE. Ustawiane jest ono przez adapter odpytujący i
określa do jakiej kolejki powinna być wysłana odpowiedź, tak aby z tej kolejki adapter ten mógł ja odczytać.
Powrót
|