Для записи сообщения в очередь используется метод put экземпляра класса MQQueue.
public void put(MQMessage message) throws MQException;
В данный метод передается ссылка на объект MQMessage, содержащий передаваемое сообщение.
// запись сообщения в очередь через MQQueue (MQPUT)
MQQueueManager QM = new MQQueueManager("QM_test");
MQQueue Q = QM.accessQueue("MY.QUEUE", MQC.MQOO_OUTPUT);
MQMessage m = new MQMessage();
m.writeString("Hello, world!!!");
Q.put(m);
...
Для указания дополнительных параметров записи сообщения в очередь используется класс MQPutMessageOptions. Данный класс, в частности, позволяет настроить использование транзакций при передаче сообщения.
public void put(MQMessage message,
MQPutMessageOptions putMessageOptions)
throws MQException;
В данной лабораторной работе использовать опции MQPutMessageOptions не требуется.
В WebSphere MQ существует возможность отправлять сообщения без явного открытия очереди непосредственно через объект менеджера очередей. У класса MQQueueManager имеется метод put, который фактически выполняет три операции: открывает очередь, записывает в очередь сообщение и закрывает очередь.
public void put(String qName, MQMessage msg) throws MQException;
В данный метод передается ссылка на объект MQMessage и название очереди, в которую необходимо записать сообщение.
// запись сообщения через MQQueueManager (MQPUT1)
MQQueueManager QM = new MQQueueManager("QM_test");
MQMessage m = new MQMessage();
m.writeString("Hello, world!!!");
QM.put("MY.QUEUE",m);
...
Метод put класса менеджера очередей используют только в том случае, если планируется записать единственное сообщение в очередь. Если требуется записывать в процессе работы программы несколько сообщений в одну и ту же очередь, данный способ записи будет неэффективен, так как каждый раз при его вызове очередь будет снова открываться и закрываться, что будет требовать дополнительного времени.
Настройка и установка программ, построение СКС, ремонт компьютеров в Екатеринбурге и Свердловской области, а так же http://click-e.ru/2010-04-03-07-14-59.html. |