QueueManager не подключается, исключение: MQJE001: - PullRequest
0 голосов
/ 05 февраля 2019

Я написал клиент Java MQ для написания и чтения сообщений после того, как посетил несколько сайтов, узнал немного о MQ.Когда я запускаю код клиента, он выдает ошибку, как показано ниже:

        MQJE001: Completion Code '2', Reason '2540'.

Я помещаю в журнал оператор, и он показывает исключение в указанном ниже месте

private void selectQMgr() throws MQException {
    logger.info("qMgrName in selectQMgr method: "+ qMgrName);       
    qMgr = new MQQueueManager(qMgrName, mqht);

mqht - ссылка на Hashtable, которая содержитимя хоста, порт и свойства канала, которые я передал из скрипта.

В моей системе установлен клиент VQ MQ версии 7.5, и я использовал все необходимые файлы jar для компиляции и запуска.

Также я перешел на /opt / mqm / samp / bin и запустите приведенную ниже команду

     •  $ amqsput TESTQ QMGR
     •  Sample AMQSPUT0 start
     •  MQCONN ended with reason code 2058
     •  $ MQCONN ended with reason code 2058 

, указанную выше ошибку, не уверен, что я пытаюсь исправить или нет.

Я новичок в MQ и немного растерялся послеЯ прочитал с сайта IBM, упомянутого ниже: • Группы администратора очередей не поддерживаются.• Не существует группы администраторов очередей с указанным именем.

Все необходимые свойства для соединения MQ, полученные от службы поддержки, не уверены, в чем проблема.Моя система не подключается или нет.

Пожалуйста, помогите в этом.Заранее спасибо

1 Ответ

0 голосов
/ 05 февраля 2019

Существует два типа моделей подключения:

  1. Режим привязок - когда приложение подключается к администратору очередей в режиме привязок, приложение ДОЛЖНО работать на том же сервере, что и очередьменеджер.Приложение также не указывает хост, номер порта и название канала.

  2. Режим клиента - означает, что приложение ДОЛЖНО указывать хост, порт # и имя канала, поскольку приложение НЕ находится на том же сервере, что и администратор очередей.

$ amqsput TESTQ QMGR

У IBM есть стандарт именования для исполняемых файлов:

  1. Если исполняемый файл НЕ заканчивается'c' (т.е. amqsput) затем компилируется и связывается для режима привязок.т.е. локальный администратор очередей

  2. Если исполняемый файл заканчивается на 'c' (т.е. amqsputc), то он компилируется и связывается для режима клиента.Следовательно, вам нужно использовать либо файл CCDT, задав переменные окружения MQCHLLIB & MQCHLTAB , либо установить переменную окружения MQSERVER .

Now onна удаленном сервере может быть запущен 1 или более администраторов очередей.Каждый администратор очередей будет иметь своего собственного прослушивателя MQ, прослушивающего порт.т. е. 1414. Если на сервере работают 3 администратора очередей, то используются следующие порты: 1414, 1415 и 1416 или 14001, 14002 и 14003. Вам нужно будет запросить у MQAdmin правильный номер порта для этого конкретного администратора очередей.

Код причины 2540 (MQRC_UNKNOWN_CHANNEL_NAME) означает, что вы используете имя канала, которое НЕ определено в администраторе очередей.Примечание. Все объекты чувствительны к регистру.то есть "Test.Chl" не то же самое, что "TEST.CHL".Кроме того, добавьте в закладки страницу MQ Reason Code , поскольку на нее часто нужно ссылаться.

Наконец, поскольку вы новичок в MQ, я настоятельно рекомендую вам посетить MQТехническая конференция (MQTC).MQTC - крупнейшая в мире конференция, посвященная исключительно IBM MQ.Это 3 дня технического обучения по супер дешевой цене.

...