Настройка программ выхода API
Программа выхода API - это модуль (файл .dll), код которого вы создаете самостоятельно и запускаете непосредственно до или после вызовов MQI.
Об этой задаче
Когда IBM® MQ получает от программы вызов к одной из точек входа его API, IBM MQ вызывает вашу программу выхода API. В зависимости о того, как настроена эта программа выхода API, она выполняется или перед, или после выполнения MQI.
Можно настроить одну или несколько программ выхода (или не настраивать ни одной), а также задать порядок, в котором они должны вызываться. В Windows и Linux® (x86 и x86-64) программы выхода API можно настроить с помощью IBM MQ Explorer. Данные конфигурации хранятся в файлах .ini.
- Настройка программы выхода API в IBM MQ Explorer.
- Переопределение общей программы выхода 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.
Атрибут | Назначение | Ключ раздела |
---|---|---|
Имя | Описательное имя программы выхода 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 пробелов. | Данные |