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_BROWSE : Otwarcie kolejki do przeglądu bez usuwania komunikatu z kolejki
MQC.MQOO_OUTPUT : Otwarcie kolejki do zapisu (wkładanie komunikatu do kolejki)
MQC.MQOO_INPUT_AS_Q_DEF : Otwarcie kolejki do czytania ze trybem otwarcia (EXCLUSIVE lub SHARED) okresloym przez kolejkę w atrybucie DefInputOpenOption
MQC.MQOO_INPUT_EXCLUSIVE : Otwarcie kolejki do czytania z wyłącznością (inne aplikacje juz nie mogą otworzyć tej samej kolejki)
MQC.MQOO_INPUT_SHARED : Otwarcie kolejki do czytania bez wyłączności (inne aplikacje również mogą otworzyć tą kolejkę i czytać z niej komunikaty)
MQC.MQOO_FAIL_IF_QUIESCING : Parametr 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
|