Настройка программ выхода API

Программа выхода API - это модуль (файл .dll), код которого вы создаете самостоятельно и запускаете непосредственно до или после вызовов MQI.

Об этой задаче

Когда IBM® MQ получает от программы вызов к одной из точек входа его API, IBM MQ вызывает вашу программу выхода API. В зависимости о того, как настроена эта программа выхода API, она выполняется или перед, или после выполнения MQI.

Можно настроить одну или несколько программ выхода (или не настраивать ни одной), а также задать порядок, в котором они должны вызываться. В Windows и Linux® (x86 и x86-64) программы выхода API можно настроить с помощью IBM MQ Explorer. Данные конфигурации хранятся в файлах .ini.

  1. Настройка программы выхода API в IBM MQ Explorer.
  2. Переопределение общей программы выхода API локальной программой выхода API.
Существуют три типа программ выхода API:
Общие (ApiExitCommon)
Один набор определений на компьютер. Программы выхода API, которые определены (если они есть), считываются и применяются к администратору очередей при его запуске. Для настройки общих программ выхода API применяется окно свойств IBM MQ. Общие программы выхода отображаются в таблице Локальные программы выхода API в окнах свойств локальных администраторов очередей.
Шаблоны (ApiExitTemplate)
Один набор определений на компьютер. При создании администратора очередей определенные таким образом программы выхода API (если они есть) копируются в этот администратор очередей как локальные программы выхода. Для настройки шаблонов программ выхода API применяется окно свойств IBM MQ.
Локальные (ApiExitLocal)
Один набор определений на администратор очередей. В ходе запуска администратора такие точки выхода API переопределяют общие точки выхода с совпадающими атрибутами Имя. В случае переопределения заменяются все атрибуты общих программ выхода API даже в том случае, если необязательный атрибут Данные содержит значение. Для настройки локальных программ выхода API применяется окно свойств администратора очередей.
При настройке программ выхода API в окнах свойств IBM MQ и администратора очередей значения атрибутов добавляются в разделы ApiExitCommon, ApiExitTemplate и ApiExitLocal файлов конфигурации или реестра Windows.
Табл. 1. Атрибуты программ выхода API
Атрибут Назначение Ключ раздела
Имя Описательное имя программы выхода API, передаваемое ей в поле ExitInfoName структуры MQAXP. Имя длиной не более 48 символов должно быть уникальным и содержать только символы, допустимые для имен объектов IBM MQ, таких как имена очередей. Имя
Тип Тип программы выхода: общая, шаблон, локальная или переопределить. (Нет отдельного ключа раздела.)
Sequence Числовое значение без знаков, определяющее последовательность, в которой данная программа выхода API вызывается по сравнению с другими программами выхода API. Программа выхода API с низким значением последовательности вызывается до программы выхода API с высоким значением. Порядок вызова программ выхода API с одинаковыми значениями последовательности не определен. В порядковых номерах программ выхода API, определенных для администратора очередей, допускаются промежутки. Sequence
Модуль Указывает модуль, который содержит исходный код для выхода API. Если в этом поле указан полный путь к модулю, он используется, как есть. Если там указано только имя модуля, его поиск осуществляется с помощью того же метода, что используется для программ выхода канала, т.е. с помощью значения в поле Путь по умолчанию к программе выхода на странице Программы выхода. Модуль
Функция Указывает имя точки входа функции в модуль, который содержит исходный код для выхода API. Эта точка входа является функцией MQ_INIT_EXIT. Длина этого поля ограничена значением MQ_EXIT_NAME_LENGTH. Функция
Данные Если этот атрибут задан, то начальные и конечные пробелы удаляются, остальная строка ограничивается 32 символами и результат передается в точку выхода в поле ExitData структуры MQAXP. Если он не указан, программе выхода в поле ExitData структуры MQAXP передается значение по умолчанию из 32 пробелов. Данные

Процедура

  • [СПОСОБ 1] Настройте программу выхода API в IBM MQ Explorer.
    1. Откройте подходящее окно свойств:
    2. На странице Программы выхода нажмите кнопку Добавить.... Откроется окно Добавить программу выхода API.
    3. Введите необходимую информацию в полях окна Добавить программу выхода API.
    4. Нажмите кнопку OK для создания программы входа и закрытия окна Добавить программу выхода API.
    Свойства новой программы выхода API будут показаны в таблице на странице Программы выхода.
  • [СПОСОБ 2] Переопределите общую программу выхода API локальной программой выхода API.

    Если имя локальной программы выхода API, определенной в администраторе очередей, совпадает с именем общей программы выхода, то последняя переопределяется. То есть, вызывается не общая программа выхода, а локальная. В пользовательском интерфейсе предусмотрены ограничения, позволяющие избежать случайного переопределения; например, невозможно добавить новую программу выхода, имя которой совпадает с именем существующей программы выхода, так же как невозможно изменить имя программы выхода на имя существующей программы выхода. Однако, в администратор очередей может потребоваться добавить локальную программу выхода API, чтобы она использовалась вместо общей программы выхода API. В этом случае необходимо переопределить общую программу выхода API с помощью локальной программы выхода API.

    1. Откройте страницу Программы выхода в окне свойств администратора очередей.
    2. Щелкните на нужной программе выхода в таблице Локальные программы выхода API.
    3. Нажмите кнопку Переопределить.
      Откроется окно Изменить программу выхода API, содержащее имя показанной общей программы выхода API.
    4. Введите сведения о локальной программе выхода API в окне Изменить программу выхода API и нажмите кнопку OK для сохранения изменений.
    Общая программа выхода будет переопределяться локальной программой выхода с тем же именем.