Parametry komunikatów

Autor: Marcin Kasiński
21.01.2011 13:24:00 +0200

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
Zachęcam do przedstawienia swoich uwag i opinii w polu komentarzy.

Komentarze

Dodaj Komentarz