Копирование сообщения IBM MQ в новую очередь - PullRequest
1 голос
/ 14 июля 2020

У меня есть требование копировать сообщение в реальном времени из одной очереди в другую в течение определенного c периода времени. Как мы можем это настроить? Ручное переключение возможно с IBM MQ. вариант использования похож на .. Моя основная очередь подключена к основному приложению. когда основное приложение выходит из строя, мне нужно обрабатывать данные через вторичное приложение, используя вторичную очередь. как только основное приложение будет запущено, оно выберет данные из основной очереди и повторно обработает их.

Итак, здесь переключатель MQ должен реплицировать / копировать данные из основной очереди во вспомогательную во время простоя. чтобы вторичное приложение могло выполнять обработку.

Я просмотрел документацию и понимаю, что репликация возможна, но не знаю, как это сделать с ручным переключением (ВКЛ / ВЫКЛ) на определенный c период.

Ценю вашу помощь.

1 Ответ

2 голосов
/ 14 июля 2020

Вы просите MQ знать об инфраструктуре вашего приложения. Это невозможно.

Решение № 1:

Почему бы вам не скопировать / реплицировать все сообщения во вторичную очередь, тогда ваше вторичное приложение будет обрабатывать сообщения ТОЛЬКО ЕСЛИ IPPROCS первичной очереди НУЛЬ. Как только IPPROCS первичной очереди НЕ равен нулю, отбросьте сообщения во вторичной очереди.

Решение № 2:

Создайте третье приложение, которое контролирует IPPROCS первичной очереди. Когда он равен нулю, начните копировать сообщения во вторичную очередь. Примечание. Когда третье приложение открывает первичную очередь, IPPROCS будет 1. Следовательно, когда IPPROCS первичной очереди равно 2 (или больше), прекратите копирование сообщений и закройте первичную очередь.

Решение # 3:

Может потребоваться стороннее решение. Вы можете использовать MQ Message Replication (MQMR) для копирования / репликации сообщений из первичной очереди во вторичную очередь. Настройте MQMR по мере необходимости, но сделайте его неактивным. Когда основное приложение отключается / отключается, немедленно измените MQMR на активное. Когда основное приложение снова будет запущено, переключите MQMR обратно в неактивное состояние.

Решение 4:

Это решение представляет собой комбинацию решения №1 и №3. Используйте MQMR , чтобы скопировать / реплицировать все сообщения из первичной очереди во вторичную очередь. Ваше вторичное приложение должно обрабатывать сообщения ТОЛЬКО, ЕСЛИ IPPROCS первичной очереди - НУЛЬ. Как только IPPROCS первичной очереди НЕ равен нулю, отбрасывайте сообщения во вторичной очереди.

...