Otwieranie kolejki

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

Aby móc dokonywać dowolnych operacji na kolejkach, czytaniu, czy też zapis komunikatów należy taką kolejkę otworzyć. Dokonuje się tego poprzez metode accessQueue obiektu reprezentującego menadzer. Metoda ta przyjmuje dwa parametry. Pierwszy określa nazwę kolejki, drugi natomiast parametry otwarcia kolejki. Parametry te są opisane w klasie MQC. Najciekawsze z nich to:

  • MQC.MQOO_BROWSEOtwarcie kolejki do przeglądu bez usuwania komunikatu z kolejki
  • MQC.MQOO_OUTPUTOtwarcie kolejki do zapisu (wkładanie komunikatu do kolejki)
  • MQC.MQOO_INPUT_AS_Q_DEFOtwarcie kolejki do czytania ze trybem otwarcia (EXCLUSIVE lub SHARED) okresloym przez kolejkę w atrybucie DefInputOpenOption
  • MQC.MQOO_INPUT_EXCLUSIVEOtwarcie kolejki do czytania z wyłącznością (inne aplikacje juz nie mogą otworzyć tej samej kolejki)
  • MQC.MQOO_INPUT_SHAREDOtwarcie kolejki do czytania bez wyłączności (inne aplikacje również mogą otworzyć tą kolejkę i czytać z niej komunikaty)
  • MQC.MQOO_FAIL_IF_QUIESCINGParametr ten oznacza, że jeśli menadżer kolejek w czasie otwierania kolejki będzie w trakcie zatrzymywania, to do aplikacji zostanie zwrócony błąd

Przykład kodu otwierającego kolejkę QUEUE.OUT do odczytu i zapisu może mieć postać:

int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT ;


MQQueue queue = qMgr.accessQueue("QUEUE.OUT",openOptions);



powrót
Zachęcam do przedstawienia swoich uwag i opinii w polu komentarzy.

Komentarze

Dodaj Komentarz