Компания IBM
Опубликован: 14.12.2004 | Доступ: свободный | Студентов: 1531 / 139 | Оценка: 4.36 / 3.98 | Длительность: 16:32:00
ISBN: 978-5-9556-0031-4
Специальности: Системный архитектор
Лекция 9:

Программный интерфейс MQI. Основные функции

  • MQSET – функция, изменяющая атрибуты объекта, представленного своим идентификатором. Объектом может быть только очередь.

    Синтаксис (аналогичен MQINQ ):

    MQSET (Hconn, Hobj, SelectorCount, Selectors,
           IntAttrCount, IntAttrs,
           CharAttrLength, CharAttrs, 
           CompCode, Reason)

    где:

    Hconn - идентификатор связи с менеджером очередей, полученный от MQCONN
    Hobj - идентификатор объекта, полученный от MQOPEN
    SelectorCount - Счетчик атрибутов, которые должны быть установлены (от 0 до 256)
    Selectors - Массив значений атрибутов, т.е. чисел или символов, которые должны быть установлены
    IntAttrCount - Счетчик цифровых атрибутов
    IntAttrs - Массив цифровых атрибутов
    CharAttrLength - Длина буфера символьных атрибутов
    CharAttrs - Буфер значений символьных атрибутов
    CompCode - код завершения
    Reason - код ошибки, детализирующий код завершения.

    Комментарии. Буфер CharAttrs должен содержать значения символьных атрибутов для записи в том же порядке, как перечислены атрибуты в Selectors. Имена устанавливаемых атрибутов приведены в главе "MQSET – Set object attributes" [ 14 ] .

  • MQCONNХ – функция, которая обеспечивает подключение приложения к менеджеру очередей.

    Синтаксис:

    MQCONNХ (QMgrName, ConnectOpts, Hconn,
             CompCode, Reason)

    Функция MQCONNХ отличается от MQCONN наличием параметра ConnectOpts для контроля процесса подключения к менеджеру очередей и позволяет установить дополнительные опции. Опции MQCNO_STANDARD_BINDING и MQCNO_FASTPATH_BINDING служат для стандартного или быстрого установления связи. Опции MQCNO_HANDLE_SHARE_NONE, MQCNO_HANDLE_SHARE_BLOCK, MQCNO_HANDLE_SHARE_NO_BLOCK позволяют осуществлять управление идентификаторами связи при работе с разными процессами (threads).

    Опции SSLConfigPtr и SSLConfigOffset используются, когда приложение осуществляет вызов MQCONNХ через WebSphere MQ клиента по протоколу TCP/IP. Более подробно эти опции описаны в главе "MQCNO – Connect options" [ 14 ] .

  • MQPUT1 – функция, которая помещает одно сообщение в очередь, при этом очередь не должна быть открыта. Функция MQPUT1 по сравнению с MQPUT не требует команды MQOPEN и MQCLOSE .

    Синтаксис:

    MQPUT1 (Hconn, ObjDesc, MsgDesc, PutMsgOpts,
            BufferLength, Buffer, CompCode, 
            Reason)

    Как следствие такого определения функции вместо параметра Hobj для MQPUT в MQPUT1 используется параметр ObjDesc, как и в функции MQOPEN .

На этом обзор основных и дополнительных функций WebSphere MQ закончен. Теперь можно начинать писать первые приложения для WebSphere MQ, что и будет сделано в следующей лекции.

В заключении следует отметить, что разработчикам приложений необходимо выбирать язык программирования исходя из решаемой задачи и требований на создаваемое ПО. Если приложение должно работать с WebSphere MQ в режиме промышленной эксплуатации при достаточно высоких требованиях на производительность, то рекомендуется использовать С, С++. Если приложение работает с WebSphere MQ в тестовом режиме без ограничений на производительность, то вполне подойдут Visual Basic 6.0 или Power Builder 6.0. Известны случаи, когда приложение, написанное на Visual Basic 6.0 или Power Builder 6.0 и работающее постоянно с WebSphere MQ, начинало наращивать используемую оперативную память, и разработчики этих программ не могли понять причину ошибки и устранить ее. Приложение, написанное на С++ и реализующее тот же алгоритм, не имеет подобного дефекта. Красивые интерфейсы при работе с WebSphere MQ требуются не так часто. Кроме того, следует отметить, что приложение на C/С++ обеспечивает обработку более 400 Persistent сообщений/секунду при длине сообщения 1Кбайт, в то время как приложение с тем же алгоритмом обработки на Visual Basic - не более 150 сообщений/секунду на компьютере INTEL Pentium 1.8Ггц. Все это объясняет тот факт, что в данной книге примеры программ даются на языке С.