| Połączenie do menadżera komunikatów |
Połączenie serwerowe
Za połączenie serwerowe uznajemy takie połączenie, w którym aplikacja podłączająca się do menadżera
kolejek znajduje się na tym sąmym serwerze. W takim przypadku połączenie odbywa się lokalnie nie
poprzez protokoły sieciowe, tylko poprzez dedykowaną pamięć dzielona.
W celu podłączenia się do lokalnego menadżera kolejek należy utworzyć obiekt MQQueueManager.
MQQueueManager qmgr= new MQQueueManager("nazwa_menadżera");
Połączenie Klienckie
W przypadku połączeń klienckich mamy do czynienia z połączeniem aplikacji z menadżerem poprzez protokoły
sieciowe (TCP/IP lub inne) w związku, z czym podczas połączenia poza nazwą menadżera musimy podać dodatkowe
informacje. Te dodatkowe informacje to:
-Nazwa maszyny, na której stoi menadżer
-Nazwa kanału, poprzez który ma nastąpić połączenie oraz port, na którym uruchomiony jest proces
nasłuchujący (listener).
Konfiguracji takiego połączenia można dokonać na dwa sposoby. Pierwszy z nich to poprzez klasę MQEnvironment.
MQEnvironment.hostname="nazwa_serwera";
MQEnvironment.port=1414;
MQEnvironment.channel="nazwa_kanalu";
MQQueueManager qmgr= new MQQueueManager("nazwa_menadżera");
W tym przypadku w zmiennych statycznych klasy MQEnvironment umieściliśmy informacje o położeniu menadżera,
a jego nazwę podaliśmy identycznie, jak to ma miejsce w przypadku połączenia serwerowego.
Wadą tego rozwiązania jest to, ze w przypadku, kiedy w aplikacji łączymy się do więcej niż jednego
menadżera to możemy mieć kłopoty z taką aplikacją ze względu na to, ze informacje o połączeniu zapisąne są
w zmiennych statycznych, wiec współdzielonych w ramach aplikacji.
Rozwiązaniem tego problemu jest drugi sposób połączenia, w którym informacje o połączeniu podawane są jako
kolejny parametr w konstruktorze klasy MQQueueManager.
Hashtable conn= new Hashtable();
conn.add(MQC.HOST_NAME_PROPERTY,"nazwa_serwera");
conn.add(MQC.PORT_PROPERTY,1414);
conn.add(MQC.CHANNEL_PROPERTY,nazwa_kanalu);
MQQueueManager qmgr= new MQQueueManager("nazwa_menadżera",conn);
Powrót
|