MQRC_OBJECT_ALREADY_EXISTS при передаче WMQ FTE через ANT-скрипт

#ant #websphere #ibm-mq #websphere-mq-fte

#ant #websphere #ibm-mq #websphere-mq-fte

Вопрос:

При попытке вызвать передачу с помощью ANT-скрипта я получил приведенную ниже ошибку :

«Произошла внутренняя ошибка. Данные о сбое продукта были записаны в файл «FFDC.FTE.log».»

«Попытка создать очередь ответов для получения результата передачи завершилась неудачей».

Не могли бы вы, пожалуйста, выяснить, в чем причина этого?

 com.ibm.wmqfte.wmqiface.WMQApiFailureException: 
  cc=2 rc=2100 op=openTemporaryQueue - MQOPEN (Queue Manager: QUEUEK, 
  Temporary Queue Model: SYSTEM.DEFAULT.MODEL.QUEUE, 
  Dynamic Queue Prefix: REPLY., 
  Open Options: 8196) 
  

Комментарии:

1. «Не могли бы вы, пожалуйста, выяснить, в чем причина этого?» — Да, с некоторой дополнительной информацией. Возможно, если бы вы поделились с нами содержимым… ФАЙЛ ЖУРНАЛА?

2. Причина: com.ibm.wmqfte.wmqiface. Исключение WMQApiFailureException: cc=2 rc=2100 op=openTemporaryQueue — MQOPEN (Диспетчер очередей: QUEUEK, модель временной очереди: SYSTEM.DEFAULT.MODEL. ОЧЕРЕДЬ, динамический префикс очереди: ОТВЕТИТЬ., Открыть параметры: 8196) com.ibm.wmqfte.wmqiface. Исключение WMQApiFailureException: cc=2 rc=2100 op=openTemporaryQueue — MQOPEN (Диспетчер очередей: QUEUEK, модель временной очереди: SYSTEM.DEFAULT.MODEL. ОЧЕРЕДЬ, динамический префикс очереди: ОТВЕТИТЬ., Открытые параметры: 8196)

3. @ Taspeotis . Приведенное выше сообщение об ошибке отображалось в файле журнала.

Ответ №1:

Мнемоническое значение ошибки является MQRC=2100 MQRC_OBJECT_ALREADY_EXISTS , что означает, что при открытии очереди модели было разрешено имя для очереди, которая уже определена. Здесь есть несколько возможностей.

Первый вопрос заключается в том, к какому администратору очередей вы были подключены, когда была предпринята попытка открыть очередь ответов? Если вы не были подключены к вызываемому QMgr QUEUEK , то open будет разрешен для очереди передачи, которая отправляется в QUEUEK , и которая уже существовала бы.

Другая возможность заключается в том, что SYSTEM.DEFULT.MODEL.QUEUE было установлено значение DEFTYPE(PERMDYN) , в этом случае очереди могут не удаляться, и, поскольку существует конечное число возможных имен временных очередей и пространство имен будет постоянно сокращаться, произошла коллизия.

Другая возможность, которая является второй по сравнению с первыми двумя, заключается в том, что в WMQ есть ошибка, которая вызвала коллизию в именах двух временных очередей.

Чтобы разобраться в этом, необходимо будет знать, к какому QMgr вы подключаетесь, когда происходит это событие. Кроме того, DIS Q(SYSTEM.DEFAULT.MODEL.QUEUE в том же QMgr. Затем, DIS Q(REPLY*) чтобы увидеть, сколько постоянных динамических очередей (если таковые имеются) находится в наличии. Наконец, посмотрите на файл FDC, который был вырезан, чтобы узнать имя динамической очереди и посмотреть, существует ли оно в выходных данных предыдущего шага. Если после всего этого у вас все еще нет основной причины, тогда пришло время обратиться в службу поддержки IBM.

Комментарии:

1. Я получаю вышеуказанную ошибку, когда задача отмены fte вызывается через Ant-скрипт. Задача отмены также завершается неудачей. Несмотря на отправку запроса на отмену fte , задачи ftecopy копируют весь файл.

2. @Rob Не могли бы вы, пожалуйста, предложить несколько ссылок, чтобы узнать больше об архитектуре mq….

3. Выполнено. Смотрите ответ на ваш предыдущий вопрос. Я воздержался от ответа на этот вопрос, поскольку все ссылки относятся к IBM docs, за исключением ссылок на мой собственный сайт и статьи. Надеялся, что кто-нибудь другой подключится с альтернативными ссылками или информацией.