Parametry te są opisane w klasie MQC. Najciekawsze z nich to:
MQC.MQGMO_FAIL_IF_QUIESCING : Parametr ten oznacza, że jeśli menadżer kolejek w czasie zapisu do kolejki będzie w trakcie zatrzymywania, to do aplikacji zostanie zwrócony błąd
MQC.MQGMO_WAIT : Parametr określa, że pobieranie komunikatu z koleki bedzie operacją blokującą. Okres oczekiwania określony jest w parametrem waitInterval klasy MQGetMessageOptions.
MQC.MQGMO_NO_WAIT : Parametr określa, że pobieranie komunikatu z koleki nie bedzie operacją blokującą
MQC.MQGMO_SYNCPOINT_IF_PERSISTENT
MQC.MQGMO_SYNCPOINT
MQC.MQGMO_NO_SYNCPOINT
MQC.MQGMO_BROWSE_FIRST
MQC.MQGMO_BROWSE_NEXT
MQC.MQGMO_BROWSE_MSG_UNDER_CURSOR
MQC.MQGMO_MSG_UNDER_CURSOR
MQC.MQGMO_LOCK
MQC.MQGMO_UNLOCK
MQC.MQGMO_ACCEPT_TRUNCATED_MSG
MQC.MQGMO_CONVERT
MQC.MQGMO_LOGICAL_ORDER
MQC.MQGMO_COMPLETE_MESSAGE
MQC.MQGMO_ALL_MSGS_AVAILABLE
MQC.MQGMO_ALL_SEGMENTS_AVAILABLE
Przykład kodu odczytującego komunikat z kolejki może mieć postać:
...
MQGetMessageOptions gmo = new MQGetMessageOptions();
gmo.options = MQC.MQGMO_FAIL_IF_QUIESCING | MQC.MQGMO_WAIT | MQC.MQGMO_CONVERT;
//gmo.waitInterval=MQC.MQWI_UNLIMITED;
gmo.waitInterval = 10000;
MQMessage retrievedMessage = new MQMessage();
retrievedMessage.characterSet = this.CCSID;
queueIN.get(retrievedMessage, gmo);
String data = retrievedMessage.readString(responseMessage.getDataLength());
Powrót
|