Как я могу продолжить процесс Drools Flow при получении сообщения JMS? - PullRequest
1 голос
/ 19 июля 2010

У меня очень простой поток, JMS-сообщение запускает процесс, который получает список объектов.Каждый элемент foreach просматривает этот список и отправляет JMS-сообщение компоненту для обработки объекта в списке.Этот компонент должен отправить уведомление о завершении обратно процессу потока, чтобы он мог продолжить работу.Кто-нибудь имеет представление о том, как это может быть достигнуто?

Спасибо.

1 Ответ

1 голос
/ 20 июля 2010

Как вы реализуете отправку этого сообщения? Используя пользовательский узел рабочего элемента? Я вижу два варианта:

  • если вы всегда ожидаете результирующего сообщения JMS, ваш обработчик рабочих элементов может отправить сообщение JMS при запуске узла рабочего элемента, но завершить рабочий элемент только после получения ожидаемого сообщения о результате. заставить поток продолжаться только в том случае, если получено сообщение с результатом (и вы можете, например, отправить идентификатор рабочего элемента в качестве некоторого параметра контекста в вашем сообщении, чтобы вы знали, какой рабочий элемент нужно выполнить, если результат возвращается) 1006 *

  • если вы также хотите обрабатывать более неожиданные сообщения JMS (не обязательно результат сообщения JMS первого запроса), вы можете использовать для этого узел события и иметь прослушиватель JMS, который преобразует входящие сообщения JMS (из вызовом signalEvent (..) определенного типа), который затем продолжит поток от узла события вперед.

Kris

...