Как проверить, какой момент является причиной проблемы с MQ?
-
23-09-2019 - |
Вопрос
Я использую MQ для отправки/получения сообщения между моей системой и другой системой. Иногда я обнаружил, что в очереди ответа нет ответа в очереди, но другая система уже помещала сообщение ответа в очередь ответа (проверьте из журнала). Итак, как проверить, какая точка является причиной проблемы, как доказать, что сообщение не попадает в мою очередь ответа.
Кроме того, когда сообщение прибудет в мою очередь, оно будет записано в файл журнала.
Нет правильного решения
Другие советы
Вы можете просмотреть это в режиме реального времени, используя интерфейс Qstats. А MO71 SupportPac это настольный клиент, который вы можете настроить для подключения, аналогичного Websphere MQ Explorer. Один из вариантов, которые у него есть, - это статистика очереди. Каждый раз, когда вы просматриваете статистику очереди, WMQ сбрасывает их до нуля. Итак, процедура такова:
- Начните MO71 и просмотрите очереди.
- Фильтр на одну очередь интереса.
- Посмотреть статистику очереди пару раз.
- Вы увидите, как они сбрасываются на ноль.
- Теперь запустите свой тест.
- Посмотреть статистику очереди снова.
Если удаленная программа фактически разместит сообщение, вы увидите, что в очереди показывается одно или несколько сообщений.
Если ваша программа успешно выполнила получение сообщения, вы увидите, что количество получений, равное количеству пунктов пута.
Если получить и поместить оба ноля, удаленная программа никогда не ставит ответное сообщение.
Есть несколько других подходов к этому, но это самый простой. Противоположный конец спектра Поддержка PAC MA0W который покажет вам каждый призыв API против этой очереди, или по PID, или что -то в этом роде. Он показывает все варианты, поэтому, если программа пытается открыть очередь с неправильными параметрами (то есть откройте удаленную очередь для ввода), это показывает это. Но MA0W установлен в качестве выхода и требует, чтобы QMGR отскочил, чтобы он был немного инвазивным.