Авторизация и доступ к объектам
В предыдущей лекции были рассмотрены примеры создания интерфейсов
передачи данных без учета вопросов авторизации и доступа. WebSphere
MQ имеет свой механизм предоставления прав доступа и аутентификации
пользователя [10]. Ограничения по доступу могут быть на уровне
удаленного управления менеджером очередей и на уровне доступа к
определенным объектам. Основной
командой, предоставляющей права доступа к объектам, является команда
setmqaut.
Синтаксис команды следующий:
setmqaut -m QMgrName -n Profile -t ObjectType
-s ServiceComponent -remove
-p PrincipalName [-g GroupName]
MQI authorizations [Administration
authorizations] [Generic authorizations]
-m QmgrName - имя менеджера
очередей.
-n Profile - имя объекта менеджера, к
которому применяется команда. В имени могут использоваться символы
групповой замены (?, *, **). Например,
если необходимо произвести авторизацию ко всем очередям,
начинающимся на PAY, то опция Profile будет выглядеть
-n PAY*
-t ObjectType - тип объекта
менеджера. Может иметь значения q или
queue для очередей, prcs или process
для процессов, nl или namelist для списков кластеров, authinfo для использования механизма SSL.
-s ServiceComponent - имя
установленного сервиса авторизации, с помощью которого будут
произведены изменения прав доступа. Параметр не является
обязательным.
-remove - лишает прав доступа к
объектам, указанным перед ним.
-p PrincipalName или -g GroupName - имя пользователя или группы,
для которой производится изменение прав доступа к объектам. Для
платформы Windows возможно указание доменной учетной записи в
формате userid@domain.
Рассмотрим опции авторизации: MQI
authorizations, Administration
authorizations и Generic
authorizations. Перед данными опциями должны указываться
символы "+" или "-", разрешающие или запрещающие
соответствующие действия.
MQI authorizations - опции команды
для авторизации MQI. Может принимать
значения:
- altusr - дает возможность
использовать имя другой учетной записи для функций MQOPEN и MQPUT1;
- browse - разрешает просмотр
сообщений в очереди функцией MQGET,
если очередь открыта на просмотр с опцией BROWSE;
- connect - разрешает подключение к
менеджеру очередей;
- get - разрешает считывание
сообщение из очереди;
- inq - разрешает считывание
значения атрибутов очереди;
- put - разрешает помещать сообщения
в очередь;
- set - разрешает изменять атрибуты
очереди.
Administration authorizations - опции
команды для авторизации на выполнение действий. Может принимать
значения:
- chg - изменение атрибутов объекта;
- clr - удаление сообщений из
очереди (доступно только для PCF команд);
- crt - создание объектов;
- dsp - просмотр атрибутов объекта
Generic authorizations - опции
авторизации для групповых операций. Может принимать значения:
- all - предоставляет все права на
объект;
- alladm - предоставляет все
административные права на объект;
- allmqi - предоставляет возможность
MQI вызова на объект;
- none - создает в своем механизме
аутентификации запись для профиля пользователя не предоставляя ему
никаких прав;
Опции команды setmqaut применяются не ко всем объектам
менеджера очередей. В таблице
5.1. указано соответствие между опциями и объектами.
Таблица 5.1. Соответствие между опциями
команды setmqaut и объектами менеджера очередей
| Authority |
Queue |
Process |
Queue manager |
Namelist |
Authentication information |
| all |
+ |
+ |
+ |
+ |
+ |
| alladm |
+ |
+ |
+ |
+ |
+ |
| allmqi |
+ |
+ |
+ |
+ |
+ |
| none |
+ |
+ |
+ |
+ |
+ |
| altusr |
- |
- |
+ |
- |
- |
| browse |
+ |
- |
- |
- |
- |
| chg |
+ |
+ |
+ |
+ |
+ |
| clr |
+ |
- |
- |
- |
- |
| connect |
- |
- |
+ |
- |
- |
| crt |
+ |
+ |
+ |
+ |
+ |
| dlt |
+ |
+ |
+ |
+ |
+ |
| dsp |
+ |
+ |
+ |
+ |
+ |
| get |
+ |
- |
- |
- |
- |
| put |
+ |
- |
- |
- |
- |
| inq |
+ |
+ |
+ |
+ |
+ |
| set |
+ |
- |
- |
- |
- |
Синтаксис команды имеет несколько особенностей. Если в названии
объекта присутствует символ "_", то
символы групповой замены (?, *, **)
использовать не рекомендуется. Если имя объекта разделено символом
".", то каждая часть имени, разделенная
точкой должна использовать свои символы групповой замены. Рассмотрим
примеры применения команды setmqaut к объектам менеджера QM_Win2000
для учетной записи (пользователя) test1.
Условиями выполнения команды является наличие учетной записи test1 и указанных в примерах очередей.
- Авторизация подключения к менеджеру QM_Win2000
setmqaut -m QM_Win2000 -t qmgr
-p test1 +connect
- Доступ на просмотр сообщений функцией MQGET, во всех очередях, начинающихся на
Win2000_HPUX. и заканчивающихся на
любой допустимый символ, если очередь открыта на просмотр с опцией
BROWSE
setmqaut -m QM_Win2000 -n Win2000_HPUX.?
-t queue -p test1 +browse
- Запрет на считывание сообщение из очередей, начинающихся на
Vip, имеющим в имени символ "." и заканчивающиеся любыми допустимыми
символами за исключением символов "_"
и "."
setmqaut -m QM_Win2000 -n Vip*.* -t queue
-p test1 -get
- Право на просмотр атрибутов и удаление очередей, начинающихся
на Win2000_HPUX. и имеющим после точки
два символа, причем левый символ может быть любым
setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q
-t queue -p test1 +dlt +dsp
- Предоставление всех прав на очередь A1
setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 +all
- Предоставление всех прав на очереди, состоящие из двух
символов, имеющие любой первый символ и второй символ "2"
setmqaut -m QM_Win2000 -n ?2 -t queue
-p test1 +all
- Предоставление всех прав на очереди, оканчивающиеся на .CQ и не имеющие перед символом "." символов "_"
и "."
setmqaut -m QM_Win2000 -n **.CQ -t queue
-p test1 +all
- Предоставление прав на считывание сообщений из очередей,
начинающихся на NO, имеющих в имени
символ "." и оканчивающихся на Q
setmqaut -m QM_Win2000 -n NO*.Q -t queue
-p test1 +get
- Предоставление прав на помещение, просмотр и удаление
сообщений в очереди DEAD_LETTER
setmqaut -m QM_Win2000 -n DEAD_LETTER
-t queue -p test1 +put +browse +get
- Удаление прав на помещение сообщений в очередь A1
setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 -put
С помощью команды setmqaut нельзя предоставлять доступ к
объектам кластера, которые физически расположены на удаленных
менеджерах.
Коды возврата команды setmqaut указаны в таблице
5.2.
Таблица 5.2. Коды возврата команды
setmqaut
| 0 |
Successful operation |
Ошибок нет |
| 36 |
Invalid arguments supplied |
Содержится неправильный аргумент |
| 40 |
Queue manager not available |
Менеджер очередей недоступен |
| 49 |
Queue manager stopping |
Менеджер очередей остановлен |
| 69 |
Storage not available |
Невозможно сохранить изменения |
| 71 |
Unexpected error |
Непредвиденная ошибка |
| 72 |
Queue manager name error |
Ошибка в имени менеджера |
| 133 |
Unknown object name |
Неизвестное имя объекта |
| 145 |
Unexpected object name |
Непредвиденное имя объекта |
| 146 |
Object name missing |
Отсутствует имя объекта |
| 147 |
Object type missing |
Отсутствует тип объекта |
| 148 |
Invalid object type |
Неправильный тип объекта |
| 149 |
Entity name missing |
Отсутствует имя объекта |
| 150 |
Authorization specification missing |
Отсутствует опция авторизации |
| 151 |
Invalid authorization specification |
Неправильная опция
авторизации |
Просмотреть права учетной записи (пользователя) к объекту на
локальном менеджере можно с помощью команды dspmqaut. Синтаксис
команды
dspmqaut -m QMgrName -n ObjectName
-t ObjectType -s ServiceComponent
-p PrincipalName [-g GroupName]
-m QmgrName - имя менеджера
очередей.
-n ObjectName - имя объекта
менеджера, к которому применяется команда.
-t ObjectType - тип объекта
менеджера. Может иметь значения q или
queue для очередей, prcs или process
для процессов, nl или namelist для списков кластеров, authinfo для использования механизма SSL.
-s ServiceComponent - имя
установленного сервиса авторизации, с помощью которого будет
произведен просмотр прав доступа. Параметр не является
обязательным.
-p PrincipalName или -g GroupName - имя пользователя или группы,
для которой производится просмотр прав доступа к объектам. Для
платформы Windows возможно указание доменной учетной записи в
формате userid@domain.
Опции команды dspmqaut также доступны не для всех
объектов менеджера очередей. В таблице 5.3. указано соответствие между опциями и объектами.
Таблица 5.3. Соответствие между опциями
команды dspmqaut и объектами менеджера очередей
| Authority |
Queue |
Process |
Queue manager |
Namelist |
Authentication information |
| all |
+ |
+ |
+ |
+ |
+ |
| alladm |
+ |
+ |
+ |
+ |
+ |
| allmqi |
+ |
+ |
+ |
+ |
+ |
| altusr |
- |
- |
+ |
- |
- |
| browse |
+ |
- |
- |
- |
- |
| chg |
+ |
+ |
+ |
+ |
+ |
| clr |
+ |
- |
- |
- |
- |
| connect |
- |
- |
+ |
- |
- |
| crt |
+ |
+ |
+ |
+ |
+ |
| dlt |
+ |
+ |
+ |
+ |
+ |
| dsp |
+ |
+ |
+ |
+ |
+ |
| get |
+ |
- |
- |
- |
- |
| inq |
+ |
+ |
+ |
+ |
+ |
| put |
+ |
- |
- |
- |
- |
| set |
+ |
+ |
+ |
- |
+ |
Рассмотрим некоторые примеры применения команды dspmqaut к объектам
менеджера QM_Win2000 для учетной записи test1. В скобках дана соответствующая команда
setmqaut из
рассмотренных выше примеров.
-
C:\>dspmqaut -m QM_Win2000 -t q -n A -p test1
Entity test1 has the following authorizations
for object A:
(К данному объекту учетная запись test1 не
имеет авторизации, так как не было
соответствующей команды setmqaut)
-
C:\>dspmqaut -m QM_Win2000 -t q
-n Win2000_HPUX.Q -p test1
Entity test1 has the following authorizations
for object Win2000_HPUX.Q:
browse
(setmqaut -m QM_Win2000 -n Win2000_HPUX.?
-t queue -p test1 +browse)
-
C:\>dspmqaut -m QM_Win2000 -t q
-n Win2000_HPUX.TQ -p test1
Entity test1 has the following authorizations
for object Win2000_HPUX.TQ:
dlt
dsp
(setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q
-t queue -p test1 +dlt +dsp)
-
C:\>dspmqaut -m QM_Win2000 -t q
-n Win2000_HPUX.RQ -p test1
Entity test1 has the following authorizations
for object Win2000_HPUX.RQ:
dlt
dsp
(setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q
-t queue -p test1 +dlt +dsp)
-
C:\>dspmqaut -m QM_Win2000 -t q -n A1 -p test1
Entity test1 has the following authorizations
for object A1:
get
browse
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 +all
setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 -put )
-
C:\>dspmqaut -m QM_Win2000 -t q -n A2
-p test1
Entity test1 has the following authorizations
for object A2:
get
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n ?2 -t queue
-p test1 +all)
-
C:\>dspmqaut -m QM_Win2000 -t q -n HPUX.CQ
-p test1
Entity test1 has the following authorizations
for object HPUX.CQ:
get
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n **.CQ -t queue
-p test1 +all)
-
C:\>dspmqaut -m QM_Win2000 -t q -n NOTEPAD.Q
-p test1
Entity test1 has the following authorizations
for object NOTEPAD.Q:
get
(setmqaut -m QM_Win2000 -n NO*.Q -t queue
-p test1 +get)
-
C:\>dspmqaut -m QM_Win2000 -t q
-n WIN2000_HPUX2.TQ -p test1
Entity test1 has the following authorizations
for object WIN2000_HPUX2.TQ:
put
(setmqaut -m QM_Win2000 -n WIN*.* -t queue
-p test1 +put)
-
C:\>dspmqaut -m QM_Win2000 -t q
-n WIN2000HPUX3.TQ -p test1
Entity test1 has the following authorizations
for object WIN2000HPUX3.TQ:
put
(setmqaut -m QM_Win2000 -n WIN*.* -t queue
-p test1 +put)
-
C:\>dspmqaut -m QM_Win2000 -t q
-n WIN2000hpux4.tq -p test1
Entity test1 has the following authorizations
for object WIN2000hpux4.tq:
put
(setmqaut -m QM_Win2000 -n WIN*.* -t queue
-p test1 +put)
-
C:\>dspmqaut -m QM_Win2000 -t q -n Vip2000.CQ
-p test1
Entity test1 has the following authorizations
for object Win2000.CQ:
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n **.CQ -t queue
-p test1 +all
setmqaut -m QM_Win2000 -n Vip*.* -t queue
-p test1 -get)
-
C:\>dspmqaut -m QM_Win2000 -t q
-n DEAD_LETTER -p test1
Entity test1 has the following authorizations
for object DEAD_LETTER:
get
browse
put
(setmqaut -m QM_Win2000 -n DEAD_LETTER
-t queue -p test1 +put
+browse +get )
Отметим, что к выполнению команды setmqaut, содержащей символы групповой
замены следует относиться с осторожностью и всегда проверять
результат выполнения командой dspmqaut.
Настройка служб WebSphere MQ под Windows
WebSphere MQ в своей работе оперирует как своими внутренними
данными, так и данными на уровне операционных систем. Так, например,
в процессе первичной установки создается группа mqm. Все
пользователи, входящие в эту группу имеют
все права на все объекты WebSphere MQ. То есть для полного
управления менеджером очередей достаточно того, чтобы учетная запись
была включена либо в группу mqm либо в группу администраторов.
В среде Windows часто встречается случай, когда прикладная
программа должна выполняться под нужной учетной записью
(пользователем). В процессе установки WebSphere MQ на платформе
Windows кроме группы mqm создается пользователь с учетной записью
MUSR_MQADMIN
под именем которого выполняются все процессы и все прикладные
программы, указанные в атрибуте Application
Identifier соответствующего процесса. Если удалить и создать
вновь данную учетную запись, то WebSphere MQ работать не будет.
Рассмотрим процедуру, позволяющую запускать сервис IBM MQSeries под
другой учетной записью.
- Установить тип запуска для IBM MQSeries Service в Manual.
- Перегрузить компьютер.
- Запустить dcomcnfg, и настроить форму, как
показано на рис.5.1.
 Рис.
5.1. Форма настройки dcomcnfg
- В закладке Security добавить пользователя mquser@alfa.moscow.net для параметров:
- Use custom access permissions (Allow access);
- Use custom launch permissions (Allow access);
- Use custom configuration permission (Full Control).
- Установить тип запуска для MQSeries в Automatic.
- Перегрузить компьютер.
- Убедиться, что сервис IBM MQSeries (рис.5.2)
стартовал от имени mquser@alfa.moscow.net.
 Рис.
5.2. Старт сервиса IBM MQSeries под учетной записью
mquser@alfa.moscow.net
Далее можно создавать службы сервиса WebSphere MQ Trigger Monitor
(см. лекцию 4). Создать данные службы можно также с помощью команды
amqmdain,
синтаксис которой имеет вид:
amqmdain crttrm QmgrName
InitQueue
где:
QmgrName - имя менеджера
очередей,
InitQueue - имя очереди
инициализации
После выполнения данной команды следует убедиться в появлении в
MQSeries Services нового Trigger Monitor с нужной очередью
инициализации (см. рис.4.11).
Управлять объектами удаленного менеджера можно с помощью
WebSphere MQ Explorer и с помощью команды runmqsc. Для удаленного управления
менеджером очередей необходимо:
- Создать трансмиссионные очереди на менеджере, с которого
производится управление и на удаленном менеджере;
- Создать и стартовать каналы в обе стороны между менеджерами;
- Выполнить команду runmqsc -w TimeOut
RemoteQmqrName где:
- TimeOut - время в секундах, в
течение которого от удаленного менеджера должен прийти
положительный ответ на подключение. Если время истекло, то
появится следующее сообщение
AMQ8416: MQSC timed out waiting for a
response from the command server.
- RemoteQmqrName - имя удаленного
менеджера.
Далее с помощью команд MQSC можно управлять объектами удаленного
менеджера.
Командный процессор MQSC. Основные команды
Как говорилось в предыдущих лекциях, управлять объектами
WebSphere MQ можно как с помощью команд, так и с помощью WebSphere
MQ Explorer. Работа и возможности, предоставляемые WebSphere MQ
Explorer были рассмотрены в предыдущих лекциях. Теперь рассмотрим
работу команд MQSC (MQSeries Commands). Команды WebSphere MQ
разделяются на внешние и внутренние. Внешние команды представляют собой программы,
откомпилированные под конкретную платформу. Некоторые из внешних команд и их назначение представлены в
таблице 5.4.
Таблица 5.4. Список внешних команд
WebSphere MQ
| Команда |
Назначение |
| amqmcert |
Управление сертификатами для использования
механизма SSL |
| amqmdain |
Создание WebSphere MQ services (только для
платформыWindows) |
| crtmqcvx |
Конвертация С кода в структуру WebSphere
MQ |
| crtmqm |
Создание локального менеджера очередей
|
| dltmqm |
Удаление локального менеджера
очередей |
| dmpmqaut |
Удаление (dump) авторизации к
объекту |
| dmpmqlog |
Преобразование лог-файлов менеджера в
"читаемый" вид |
| dspmq |
Просмотр состояния менеджера
очередей |
| dspmqaut |
Просмотр прав доступа к объектам |
| dspmqcap |
Просмотр количества процессоров |
| dspmqcsv |
Просмотр состояния командного
сервера |
| dspmqfls |
Вывод файловой структуры объектов |
| dspmqtrc |
Вывод трассировки в файл (только для
HP-UX, Linux, и Solaris) |
| dspmqtrn |
Просмотр незавершенных транзакций |
| endmqcsv |
Остановка командного сервера |
| endmqlsr |
Остановка службы listener |
| endmqm |
Остановка менеджера |
| endmqtrc |
Остановка режима трассировки (кроме AIX
платформы) |
| rcdmqimg |
Запись состояния объектов в файл |
| rcrmqobj |
Восстановление состояния объектов из
файла |
| rsvmqtrn |
Управление незавершенными
транзакциями |
| runmqchi |
Запуск службы channel
initiator |
| runmqchl |
Старт sender
или requester каналов |
| runmqdlq |
Восстановление сообщений из очереди
недоставленных сообщений |
| runmqlsr |
Запуск службы listener |
| runmqsc |
Запуск командного процессора внутренних
команд MQSC |
| runmqtmc |
Запуск trigger
monitor для клиентской части (только для AIX
платформы) |
| runmqtrm |
Запуск trigger
monitor |
| setmqaut |
Предоставление прав доступа к
объектам |
| setmqcap |
Установка количества процессоров |
| strmqcsv |
Запуск командного сервера |
| strmqm |
Запуск менеджера очередей |
| strmqtrc |
Запуск режима
трассировки |
Из таблицы 5.4 выделим команду runmqsc, которая является своего рода
командным процессором для выполнения внутренних
MQSC команд, позволяющих управлять объектами как локального,
так и удаленного менеджера. Синтаксис команды:
runmqsc -e / -v /-w QmgrName
где:
-e - исключение вывода результата
выполнения команд в отчет. Полезно для использования при вводе
команд в интерактивном режиме.
-v - проверка синтаксиса команд без
их выполнения. Если далее указана опция -w, то она игнорируется.
-w - время в секундах, в течение
которого от удаленного менеджера должен прийти положительный ответ
на подключение. С помощью данной опции возможно управление объектами
удаленного менеджера. Если время истекло, то появится следующее
сообщение:
AMQ8416: MQSC timed out waiting for a
response from the command server.
QmgrName - имя менеджера очередей.
Имя менеджера, являющегося менеджером по умолчанию указывать не
обязательно.
Кроме непосредственного ввода внутренних
команд из командной строки данная команда позволяет выполнять
командный файл, содержащий различные сценарии создания и управления
объектами. В таком случае синтаксис будет выглядеть
runmqsc QmgrName <
create_obj.txt
где:
create_obj.txt - файл, содержащий
внутренние команды MQSC.
Внутренние команды могут состоять из
нескольких операторов. На первом месте стоит оператор, указывающий
действие. На втором месте указывается тип объекта, к которому
применяется первый оператор. Типы объектов указываются следующими
операторами:
- CHANNEL - канал;
- CHSTATUS - состояние канала;
- CLUSQMGR - информация о кластерных
каналах менеджера;
- PROCESS - процесс;
- NAMELIST - список кластеров;
- QALIAS - очередь ALIAS;
- QCLUSTER - кластерная очередь;
- QLOCAL - локальная очередь;
- QMGR - менеджер;
- QMODEL - модельная очередь;
- QREMOTE - локальная удаленная
очередь.
Основные операторы, которые, как правило, стоят на первом месте
внутренней команды.
- ALTER - изменение свойств объекта;
- CLEAR - удаление сообщений из очереди;
- DEFINE - создание объекта;
- DELETE - удаление объекта;
- DISPLAY - вывод информации об объекте;
- END - выход из командного процессора
runmqsc;
- PING - проверка соединения;
- REFRESH - обновление информации;
- RESET -
- RESET CLUSTER - выводит менеджер
очередей из кластера WebSphere MQ;
- RESET CHANNEL - сбрасывает
счетчики сообщений у канала;
- RESOLVE - управление сообщениями с
признаком незавершенной транзакции;
- RESUME - оповещение кластера WebSphere
MQ о том, что менеджер очередей снова включен в данный кластер;
- START - оператор старта;
- STOP - оператор останова;
- SUSPEND - временное исключение
менеджера из кластера WebSphere MQ;
Подробный синтаксис команд можно узнать из документации [11].
Пример создания интерфейсов передачи данных в обе стороны между
двумя менеджерами QM_Win2000 и QM_HPUX с адресами 198.32.100.26 и 198.32.100.16(1421), причем на менеджере
QM_HPUX канал отправитель должен переходить в состояние running как только в соответствующей
трансмиссионной очереди появляется сообщение. Для этого создаются
объекты на менеджере QM_Win2000:
- HPUX_Win2000.Q - локальная
очередь, в которую будут приходить сообщения от менеджера QM_HPUX;
- HPUX_Win2000.CH - канал
получатель;
- Win2000_HPUX.TQ - трансмиссионная
очередь передачи;
- Win2000_HPUX.RQ - локальная
удаленная очередь;
- Win2000_HPUX.CH - канал
отправитель.
При создании объектов с помощью команды DEFINE следует
учитывать, что если имя объекта не "берется" в символы "'", то объект будет создан с именем,
содержащим только заглавные буквы. То же относится и к другим
командам.
Набор команд для создания объектов выглядит следующим
образом.
DEFINE QLOCAL ('HPUX_Win2000.Q')
DEFINE CHANNEL ('HPUX_Win2000.CH')
CHLTYPE(RCVR)
DEFINE QLOCAL ('Win2000_HPUX.TQ')
USAGE(XMITQ)
DEFINE QREMOTE ('Win2000_HPUX.RQ')
XMITQ('Win2000_HPUX.TQ') +
RNAME('Win2000_HPUX.Q')
RQMNAME('QM_HPUX')
DEFINE CHANNEL ('Win2000_HPUX.CH')
CHLTYPE(SDR) +
CONNAME('198.32.100.16(1421)')
DISCINT(999999) +
XMITQ('Win2000_HPUX.TQ')
Создадим объекты на менеджере QM_HPUX:
- Win2000_HPUX.Q - локальная
очередь, в которую будут приходить сообщения от менеджера
QM_Win2000;
- Win2000_HPUX.CH - канал
получатель;
- HPUX _Win2000.TQ - трансмиссионная
очередь передачи;
- HPUX _Win2000.RQ - локальная
удаленная очередь;
- HPUX _Win2000.CH - канал
отправитель.
Команды для создания этих объектов будут выглядеть следующим
образом.
DEFINE QLOCAL ('Win2000_HPUX.Q')
DEFINE CHANNEL ('Win2000_HPUX.CH')
CHLTYPE(RCVR)
DEFINE QREMOTE ('HPUX_Win2000.RQ') +
XMITQ('HPUX_Win2000.TQ') +
RNAME('HPUX_Win2000.Q') +
RQMNAME('QM_Win2000')
DEFINE QLOCAL ('HPUX_Win2000.TQ') +
USAGE(XMITQ) +
TRIGGER +
TRIGTYPE(FIRST) +
TRIGDPTH(1) +
TRIGDATA('HPUX_Win2000.CH') +
INITQ('SYSTEM.CHANNEL.INITQ')
DEFINE CHANNEL ('HPUX_Win2000.CH')
CHLTYPE(SDR) +
CONNAME('172.25.4.150') +
DISCINT(999999) +
XMITQ('HPUX_Win2000.TQ')
Эти команды можно поместить в два текстовых файла, а затем,
выполнив команду runmqsc на каждом менеджере с указанием
соответствующего файла, можно получить готовый интерфейс для
передачи данных между двумя платформами: UNIX и Windows. Кроме
этого, используя команды рестарта каналов, можно управлять их
состоянием. |