Менеджер очередей
Менеджер очередей – совокупность объектов WebSphere MQ (различных видов очередей, каналов, процессов, сервисов или служб). Он осуществляет контроль и управление всеми его объектами и обрабатывает поступающие запросы от прикладных программ.
Для создания любого объекта WebSphere MQ, и менеджера очередей в частности, существует два основных способа: на основе команд и графический, работающий в среде Windows. Создание объектов и работа с ними на основе команд является универсальным способом, работающим на различных платформах с одним и тем же синтаксисом этих команд. Поэтому создание менеджера очередей рассмотрим прежде всего с помощью команды crtmqm.
Итак, для платформы NT необходимо ввести в командной строке:
crtmqm /u DEAD_LETTER QM_Win2000
где:
/u или -u – опция, говорящая о том, что далее будет создана очередь недоставленных сообщений (подробнее см. лекцию 7);
DEAD_LETTER – имя очереди недоставленных сообщений;
QM_Win2000 – имя менеджера очередей.
Подробное описание утилиты runmqsc и работы с основными командами MQSC будет рассмотрено ниже. Имя менеджера очередей не является уникальным в пределах сети, но на одном компьютере не может быть двух менеджеров с одинаковым именем.
Для платформы UNIX синтаксис команды выглядит следующим образом:
crtmqm -u DEAD_LETTER QM_HP_UNIX
Данная команда, как и опция –u должна быть введена в нижнем регистре и именно со знаком "-" (-U работать не будет).
Также для успешного создания/изменения любого объекта необходимо обладать соответствующими правами. Так, например, WindowsNT пользователь, от имени которого вводится команда, должен быть членом группы mqm. Подробнее о вопросах авторизации см. в лекции 5.
Полный синтаксис команды crtmqm имеет вид:
crtmqm –c Text –d DefaultTransmissionQueue –h MaximumHandleLimit –lc(или -ll) –ld LogPath –lf LogFileSize –lp LogPrimaryFiles –ls LogSecondaryFiles –q –g ApplicationGroup –t IntervalValue –u DeadLetterQueue –x MaximumUncommittedMessages –z MQMName
Опции команды crtmqm означают следующее.
–c Text - Описание (description) или комментарий, можно ввести до 64 символов.
–d DefaultTransmissionQueue - Транспортная (transmission) очередь по умолчанию. В эту очередь будут попадать сообщения, для которых значение Transmission Queue явно не определено и это имеет свой смысл. При возникновении данной ситуации выгоднее получить сформировавшееся сообщение в DEAD_LETTER, так как имеется ряд способов извлечения или повторной отправки сообщений из DEAD_LETTER по назначению.
–h MaximumHandleLimit - Максимальное количество открытых объектов (командой MQOPEN). Значение может быть в пределах от 1 до 999 999 999, по умолчанию 256 (если не планируется работа одного приложения с более чем 256 объектами на одном менеджере, а авторы настоятельно не рекомендуют этого делать за исключением работы с distribution list, то следует оставить значение по умолчанию, т.е. 256);
–lc - Используется "круговое" логирование. При этом восстановление состояния менеджера очередей в определенный период невозможно, то есть если "упал" сервер, то сохраняются только те объекты и сообщения, которые существовали в момент "падения".
Данное значение (lc) используется по умолчанию.
–ll - Используется "линейное" логирование. При данном типе логирования возможно восстановление данных. Указав тип логирования при создании менеджера в дальнейшем нельзя его изменить.
–ld LogPath - Указывается путь, где будут создаваться файлы логирования. Для UNIX по умолчанию это var/mqm/log. Пользователь и группа mqm должны иметь соответствующие права в этом каталоге. Соответственно, при изменении пути необходимо также предоставить соответствующие права для вышеуказанных пользователей.
Для NT по умолчанию – C:\Program Files\IBM\WebSphere MQ\log
–lf LogFileSize - Размер файла логирования. Файл будет создан с размером в 4 раза большим указанного числа. Значение может быть в диапазоне между 32 и 4095 для NT, OS/2 Warp и между 64 и 16384 для UNIX. Значение по умолчанию для NT и OS/2 Warp равно 256 для UNIX – 1024.
–lp LogPrimaryFiles - Количество первичных файлов логирования. Может быть в пределах от 2 до 62. Значение по умолчанию – 3.
–ls LogSecondaryFiles - Количество вторичных файлов логирования. Может быть в пределах от 1 до 61. Значение по умолчанию – 2.
Следует соизмерять размеры файлов с возможностями операционных систем.
–q - Если указана опция –q, то созданный менеджер очередей будет создан как менеджер по умолчанию.
–g ApplicationGroup - Опция применима только для AIX, Sun-Solaris и HP-UX. Указывается имя группы, которой разрешается запускать MQI приложения, работать с файловой системой менеджера очередей.
–t IntervalValue - Определяет время интервала триггеринга очередей в миллисекундах. Значение может быть в пределах от 0 до 999 999 999 (более 11 дней). Подробнее о триггеринге см. в лекции 4.
–u DeadLetterQueue - Имя очереди недоставленных сообщений.
–x MaximumUncommittedMessages - Максимальное количество сообщений, которые могут находиться в очередях и транзакции по их отправке еще не завершились. Значение может быть в пределах от 0 до 999 999 999. По умолчанию – 10000.
–z - Запрещает появление сообщений об ошибках. Настоятельно не рекомендуется использовать данную опцию, т.к. при возникновении проблем не будет достаточной информации об ошибках
MQMName - Имя менеджера.
Queue manager created | Менеджер очередей создан |
Queue manager already exists | Менеджер очередей уже существует |
Queue manager stopping | Менеджер очередей останавливается |
Storage not available | Устройство записи недоступно |
Queue space not available | Недоступно пространство для создания очереди |
Unexpected error | Непредвиденная ошибка |
Queue manager name error | Ошибочное имя менеджера очередей |
Log location invalid | Неверное расположение лог-файла |
Queue manager created. However, there was a problem processing the default queue manager definition in the product configuration file. The default queue manager specification may be incorrect | Менеджер очередей создан, однако имеется проблема с обработкой менеджера по умолчанию в конфигурационном файле. Описание менеджера по умолчанию может быть неверным. |
Invalid log size | Неверный размер лог-файла. |
Возможные ошибки при создании менеджера очередей отражены в документации [7]. Этой книгой " WebSphere MQ. Messages" рекомендуется пользоваться всегда, как только будет получен код ошибки AMQxxxx.
Существует еще один важный параметр CCSID – кодовая страница менеджера. При создании менеджеров на разных серверных платформах и в разных операционных системах кодовые страницы могут отличаться. Для того чтобы исключить процедуру конвертации при передаче сообщений между менеджерами с разными кодовыми страницами рекомендуется на всех менеджерах установить одну и ту же кодовую страницу, например 1251. У WebSphere MQ существует множество таблиц перекодировки, с помощью которых осуществляется конвертация сообщений. Данные таблицы находятся в каталоге C:\Program Files\IBM\WebSphere MQ\conv\table. Если нет соответствующей таблицы перекодировки, то существует вероятность, что соединение между менеджерами очередей будет невозможно.
Просмотреть и изменить текущую кодовую страницу можно с помощью утилиты runmqsc.exe и соответствующих команд в ней, например, alter qmgr force ccsid(1251). Итак, используя простейший синтаксис :
crtmqm /u DEAD_LETTER QM_Win2000
можно создать менеджер QM_Win2000. Затем следует его активизировать (стартовать).
Для этого существует утилита strmqm:
strmqm –c –z MQMName
где:
-c - При указании этой опции менеджер стартует, пересоздает все системные объекты с параметрами по умолчанию и затем останавливается.
-z - Запрещает появление сообщений об ошибках. Использовать ее не рекомендуется.
MQMName - Имя менеджера.
Для простого старта менеджера по умолчанию достаточно набрать в командной строке:
strmqm
Queue manager started | Менеджер очередей стартовал |
Queue manager being created | Менеджер очередей создается |
Queue manager running | Менеджер очередей уже работает |
Queue manager does not exist | Менеджер очередей не существует |
Log not available | Лог-файл не доступен |
Queue manager stopping | Менеджер очередей останавливается |
Storage not available | Устройство записи недоступно |
Unexpected error | Непредвиденная ошибка |
Queue manager name error | Ошибочное имя менеджера очередей |
Log location invalid | Неверное расположение лог-файла |
Для остановки менеджера очередей существует утилита endmqm:
endmqm –c/-w/-i/-p –z MQMName
где:
-c - Менеджер остановится только после того, как все приложения, работающие с объектами WebSphere MQ "отсоединятся" от самих объектов, то есть ни один объект не будет "захвачен" приложениями. Причем менеджер будет ждать, пока не выполнятся все запросы (действия) приложений. При выполнении команды с этой опцией управление сразу же передается командной строке и не выдается никаких сообщений об остановке.
-w - Практически то же, что и с опцией –с, за исключением того, что пока менеджер останавливается, управление не передается командной строке, а выводится сообщение "Waiting for queue manager MQMName to end".
-i - Менеджер выполнит все текущие запросы приложений и остановится. Если в процессе остановки появятся новые запросы и необработанные транзакции, то при последующем старте менеджера произойдет откат незавершенных транзакций. Управление передается командной строке после остановки менеджера.
-p - Немедленная остановка. Менеджер остановится, не обрабатывая все текущие транзакции и запросы приложений. Остановка с данной опцией может привести к непредсказуемым результатам. Все процессы WebSphere MQ, которые не могут быть корректно остановлены в течение 30 секунд после начала работы endmqm будут отключены.
Перед остановкой менеджера необходимо остановить все приложения, работающие с WebSphere MQ, несмотря на то, что WebSphere MQ в процессе остановки менеджера будет пытаться их отключить.
Queue manager ended | Менеджер очередей остановлен |
Queue manager being created | Менеджер очередей создается |
Queue manager does not exist | Менеджер очередей не существует |
Queue manager not available | Менеджер очередей не доступен |
Queue manager stopping | Менеджер очередей останавливается |
Storage not available | Устройство записи недоступно |
Unexpected error | Непредвиденная ошибка |
Queue manager name error | Ошибочное имя менеджера очередей |
И последняя команда – удаление менеджера:
dltmqm –z MQMName
где:
-z - Запрещает появление сообщений об ошибках. Использовать ее не рекомендуется.
MQMName - Имя менеджера.
При выполнении этой команды удаляется не только менеджер, но и все его объекты. Перед удалением менеджера следует его остановить с помощью команды endmqm. Важно, чтобы в момент удаления менеджера, каталог с содержимым менеджера (для WindowsNT это - C:\Program Files\IBM\WebSphere MQ\Qmgrs\QM_Win2000) не был никем "захвачен", иначе удалить менеджер невозможно.
Queue manager deleted | Менеджер очередей удален |
Queue manager being created | Менеджер очередей создается |
Queue manager running | Менеджер очередей уже работает |
Queue manager does not exist | Менеджер очередей не существует |
Queue manager stopping | Менеджер очередей останавливается |
Storage not available | Устройство записи недоступно |
Unexpected error | Непредвиденная ошибка |
Queue manager name error | Ошибочное имя менеджера очередей |
Log location invalid | Неверное расположение лог-файла |
Queue manager deleted. However, there was a problem processing the default queue manager definition in the product configuration file. The default queue manager specification may be incorrect. | Менеджер очередей удален, однако в конфигурационном файле осталось его имя, как имя менеджера по умолчанию. Описание менеджера по умолчанию может быть неверным. |
Процесс создания менеджера:
- Запустить WebSphere MQ Explorer.
- Щелкнуть правой кнопкой мыши по "Queue Managers".
- Выбрать из контекстного меню пункт "New" => "Queue Manager".
- Заполнить появившуюся форму (рис.2.7) Create Queue Manager (Step 1).
увеличить изображение
Рис. 2.7. Создание менеджера очередей (Шаг 1)
В этой форме:
Queue Manager – имя менеджера;
Make this the default queue manager – флажок, определяющий будет ли этот менеджер менеджером по умолчанию;
Def. Transmission Queue – имя трансмиссионной очереди по умолчанию рекомендуется оставить пустым во избежание ошибок передачи данных;
Dead Letter Queue – очередь недоставленных сообщений;
Max Handle Limit – количество открытых объектов WebSphere MQ одним приложением (одна программа не сможет работать одновременно более чем с 256 очередями);
Trigger Interval – значение интервала времени, через который опрашивается состояние очереди триггерными процессами;
Max Uncommitted Msgs – максимальное количество сообщений, которые могут находится в очередях и транзакции по их отправке еще не завершились;
- Нажать кнопку "Next" и заполнить форму (рис.2.8) Create Queue Manager (Step2)
увеличить изображение
Рис. 2.8. Создание менеджера очередей (Шаг 2)
В этой форме:
Use circular/linear logging - с помощью данного флажка можно выбрать тип логирования на вновь создаваемом менеджере;
Log Path – указывает путь, где будут созданы лог-файлы;
Log File Size - размер файла логирования, размер созданного файла будет в 4 раза превышать указанное число;
Log Primary Files – количество первичных файлов логирования;
Log Secondary Files – число вторичных файлов логирования.
- Нажать кнопку "Next" и заполнить форму (рис.2.9) Create Queue Manager (Step3)
увеличить изображение
Рис. 2.9. Создание менеджера очередей (Шаг 3)
В этой форме:
Start Queue Manager – при установленном флажке менеджер очередей будет активизирован непосредственно сразу после создания;
Create Server Connection Channel – установка данного флажка позволит создать канал (SYSTEM.ADMIN.SVRCONN) для удаленного управления объектами менеджера через протокол TCP/IP.
- Нажать кнопку "Next" и заполнить форму (рис.2.10) Create Queue Manager (Step4)
увеличить изображение
Рис. 2.10. Создание менеджера очередей (Шаг 4)
В этой форме:
Create listener configured for TCP/IP – создает listener для удаленного подключения к менеджеру;
Listen on port number – номер порта для работы listener (по умолчанию - 1414).
После нажатия на кнопку "Finish" менеджер с именем QM_Win2000 будет создан и произведен его старт. На оснастке консоли WebSphere MQ Explorer с левой стороны должно появиться имя менеджера, как это показано на рис. 2.6.
Для удаления менеджера очередей через WebSphere MQ Explorer нужно вызвать контекстное меню из имени менеджера и выполнить команду "Stop". Следует напомнить, что перед этим нужно остановить все receiver- каналы, а также все программы, помещающие или считывающие сообщения из очередей. Способ остановки можно выбрать "Immediate" (незамедлительно). После того как менеджер будет остановлен, опять же с помощью контекстного меню выполнить команду "Delete". После этого менеджер очередей будет удален вместе со всеми своими объектами, и его восстановление будет невозможно.
В заключении можно добавить, что все эти процессы не представляют особой сложности. Процесс установки WebSphere MQ на NT-платформу занимает около получаса и решающим обстоятельством является мощность или скорость дисковых ресурсов. На процесс создания менеджера после ввода всех параметров уйдет не более минуты. Время остановки менеджера зависит от количества объектов. Для примера можно сказать, что на компьютере Pentium III с тактовой частотой 700 MHz и оперативной памятью 512Mb, менеджер, содержащий 1000 очередей, останавливается меньше чем за 30 секунд.
© 2003-2007 INTUIT.ru. Все права защищены. |