Тестирование JMS Тематического Абонента в Tibco
Я хотел бы протестировать процесс в Tibco Designer, который начинается с подписчика тем JMS. Я бы вызвал этот процесс и затем вызвал JMS Topic Publisher. Проблема заключается в том, что действие "Процесс вызова" не может вызвать процесс, который начинается с подписчика темы JMS.
Есть ли что-то подобное для того, чего я хочу достичь?
Я знаю, что можно загрузить и запустить два разных процесса, но я искал более автоматизированное решение. Так что, если я начну один процесс, он позаботится и запустит все остальное.
2 ответа
Итак, если вы хотите протестировать процесс "Стартер" (подписчик JMS-темы), вам нужно создать тестовый процесс, нажав на сообщение в теме.
Например, мой основной процесс - модуль процесса подписчика тем JMS. Действительно, как вы упомянули, этот процесс нельзя назвать подпроцессом, поскольку он является инициатором процесса. Я слушаю на TOPIC_TEST
Затем, если вы хотите протестировать этот процесс, вы можете создать тестовый процесс, который отправит сообщение в теме TOPIC_TEST
Теперь вы можете запустить Test_MyProcess для тестирования MyProcess
В BW 2.*/5.* вы ДОЛЖНЫ решить заранее, является ли ваша (единичная) стартовая деятельность простым инициатором процесса (в который можно передать параметр XML) или y специальным стартером процесса, таким как JMS-подписчик, таймер или тому подобное (отмечен с зеленым кружком в палитрах). Когда вы перетаскиваете любой из них в ваш процесс, вы конвертируете этот процесс из простого процесса (по умолчанию) (который вызывается только из другого процесса или тестировщика-конструктора) в специальный процесс, который затем может вызываться с помощью соответствующего условия запуска, например, JMS подписчику темы требуется соответствующее сообщение темы JMS, чтобы начать работу даже в конструкторе.
Если вы хотите, чтобы у "базового процесса" было два или более стартера, вам нужно разделить стартеры и базовый процесс (всего не менее 3 процессов) и вызвать базовый процесс в любом из стартеров (очевидная схема). Если вы хотите "вернуть" результаты или ошибки, вы можете сделать это таким же образом (или любое другое межпроцессное взаимодействие с использованием уведомлений, дополнительных сообщений, токенов БД...). Пожалуйста, подумайте "сначала дизайн", чтобы обозначить структуру вашего процесса, а не "стиль простого кодирования" (во всяком случае, плохой дизайн) словами "что я могу делать дальше". Переупорядочение слоев процесса является неудобным, громоздким и подверженным ошибкам. Вот почему вы должны нести свой мозг 7x24 ...