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

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

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

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

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

Существуют три типа программ выхода API:

Общие (ApiExitCommon)
Один набор определений на компьютер. Программы выхода API, которые определены (если они есть), считываются и применяются к администратору очередей при его запуске. Для настройки общих программ выхода API применяется окно свойств IBM MQ. Общие программы выхода отображаются в таблице Локальные программы выхода API в окнах свойств локальных администраторов очередей.
Шаблоны (ApiExitTemplate)
Один набор определений на компьютер. При создании администратора очередей определенные таким образом программы выхода API (если они есть) копируются в этот администратор очередей как локальные программы выхода. Для настройки шаблонов программ выхода API применяется окно свойств IBM MQ.
Локальные (ApiExitLocal)
Один набор определений на администратор очередей. В ходе запуска администратора такие точки выхода API переопределяют общие точки выхода с совпадающими атрибутами Имя. В случае переопределения заменяются все атрибуты общих программ выхода API даже в том случае, если необязательный атрибут Данные содержит значение. Для настройки локальных программ выхода API применяется окно свойств администратора очередей.

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

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

Для настройки программы выхода API выполните следующие действия:

Процедура

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

Результаты

Свойства новой программы выхода API будут показаны в таблице на странице Программы выхода.

Переопределение общей программы выхода API локальной программой выхода

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

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

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

Для переопределения общей программы выхода API с помощью локальной программы выхода API:

Процедура

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

Результаты

Общая программа выхода будет переопределяться локальной программой выхода с тем же именем.

Атрибуты программ выхода API

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

При настройке программ выхода API в окнах свойств IBM MQ и администратора очередей значения атрибутов добавляются в разделы ApiExitCommon, ApiExitTemplate и ApiExitLocal файлов конфигурации или реестра Windows.
Атрибут Назначение Ключ раздела
Имя Описательное имя программы выхода 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 пробелов. Данные

Задача Задача

Комментарии

Системное время Последнее обновление: Wednesday, 14 February 2018
http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.explorer.doc/com.ibm.mq.explorer.doc/e_exits_configuring.htm