C/C++ / CGI / Sieć Novell / PHP / Java / SQL / Oracle / WebSphere MQ / WebSphere Message Broker / JavaScript / Humor / IT Quiz

Kolejki MQ

Rozróżniamy następujące typy kolejek:

Kolejka lokalna
Jak sama nazwa wskazuje jest to standardowa kolejka znajdująca się lokalnie na menadżerze. Aplikacja podłączona do danego menadżera może do takiej kolejki czytać i pisać.

Komenda tworząca taką kolejkę może mieć postać:

DEFINE QLOCAL(QUEUE.IN)

gdzie:
QUEUE.IN : nazwa kolejki lokalnej

Kolejka zdalna
Kolejka ta określa lokalny wskaźnik do kolejki znajdującej się na innym "zdalnym" menadżerze kolejek. Pozwala ona na stworzenie na menadżerze obiektu wskazującego na inną kolejkę na zdalnym menadżerze. Do takiej kolejki można tylko zapisywać. Jako, że fizycznie kolejka ta znajduje się na innym menadżerze odczyt z niej jest niemożliwy. Po wrzuceniu komunikatu do takiej kolejki jest on przenoszony do kolejki transmisyjnej z nią związaną a następnie poprzez proces MCA i związaną z daną kolejką transmisyjna parą kanałów jest on przenoszony na kolejkę docelową na zdalnym menadżerze.

Komenda tworząca taką kolejkę może mieć postać:

DEFINE QREMOTE(QUEUE.OUT) RNAME(QUEUE.IN) RQMNAME(QM2) XMITQ(QM2_TRANS)

gdzie:
QUEUE.OUT : nazwa kolejki zdalnej
QUEUE.IN : nazwa kolejki docelowej znajdującej się na zdalnym menadżerze
QM2 : nazwa zdalnego menadżera kolejek
QM2_TRANS : nazwa kolejki transmisyjnej

Kolejka aliasowa
Kolejka modelowa

Kolejka dynamiczna
Kolejka dynamiczna jest to specjalna kolejka, która jest tworzona dynamicznie przez aplikacje. Rozróżniamy kolejki dynamiczne tymczasowe i trwałe. Kolejka tymczasowa jest usuwana zaraz po zakończeniu aplikacji i odłączeniu się od menadżera kolejek. Kolejka trwała przetrwa zakończenie aplikacji.
To czy stworzona kolejka dynamiczna będzie trwała, czy nie zależy od parametru DEFTYPE kolejki modelowej na podstawie której stworzona zostanie kolejka dynamiczna.

Parametr ten może przyjmować następujące wartości:
PERMDYN : Tworzona kolejka dynamiczna będzie trwała
TEMPDYN : Tworzona kolejka dynamiczna będzie tymczasowa


Przykładowy kod:

                String dynamicQueueName="dynam*";
                String myQueueManagerName="QM1";

                int myOpenOptions=MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;

                qMgr= new MQQueueManager (myQueueManagerName);
                MQQueue dynamicQueue=qMgr.accessQueue(
                "SYSTEM.DEFAULT.MODEL.QUEUE", myOpenOptions,myQueueManagerName,dynamicQueueName,null);
                ...
                mqmessage.replyToQueueName=dynamicQueue.name;



Kolejka klastrowa
Kolejka transmisyjna
Kolejka inicjalizacyjna

Powrót


  Autorem serwisu jest Marcin Kasiński
Wszelkie prawa zastrzeżone. All rights reserved.
powered by technology... linux eclipse java php