Чтобы иметь возможность отправлять и читать сообщения, необходимо открыть определенную очередь.
Для открытия очереди используется метод accessQueue экземпляра класса MQQueueManager.
public MQQueue accessQueue(String queueName, int openOptions)
throws MQException
В метод accessQueue передается название очереди queueName и опции открытия очереди openOptions.
Для определения опций открытия очереди используются константы MQOO_* интерфейса MQC:
• MQC.MQOO_OUTPUT – запись сообщений
• MQC.MQOO_BROWSE – просмотр сообщений
• MQC.MQOO_INPUT_EXCLUSIVE – извлечение сообщений (эксклюзивный режим, только один процесс может читать сообщения из очереди)
• MQC.MQOO_INPUT_SHARED – извлечение сообщений (режим общего доступа)
• MQC.MQOO_INPUT_AS_Q_DEF – извлечение сообщений (режим по умолчанию)
• MQC.MQOO_SET – установка атрибутов очереди
• MQC.MQOO_INQUIRE – чтение атрибутов очереди
На основе данных констант необходимо сформировать целочисленное значение openOptions, используя побитовую логическую операцию «или».
Например, если мы хотим открыть очередь для чтения и просмотра сообщений, в качестве параметра openOptions можно указать следующее значение: MQC.MQOO_INPUT_EXCLUSIVE | MQC.MQOO_BROWSE.
В случае успешного выполнения метод accessQueue возвращает экземпляр класса MQQueue.
Перед завершением работы с очередью ее следует закрыть при помощи метода close ( public void close() throws MQException )
MQQueueManager QM = new MQQueueManager("QM_test");
...
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF |
MQC.MQOO_OUTPUT;
MQQueue Q = QM.accessQueue("MY.QUEUE", openOptions);
...
Q.close();
QM.disconnect
|