Mule 3: Управление разрешением выполнения потока

My current situation:

В настоящее время у меня есть приложение Mule ESB с тремя потоками, которые обрабатывают сообщения, поступающие из двух разных источников, эти три потока связаны вместе с помощью очереди виртуальных машин.

Flow #1:

Входящий (конечная точка № 1) - & gt; (Выполнять обработку сообщений и преобразования) - & gt; Исходящий (конечная точка № 3)

Flow #2:

Входящий (конечная точка № 2) - & gt; (Выполнять обработку сообщений и преобразования) - & gt; Исходящий (конечная точка № 3)

Flow #3

Входящий (конечная точка № 3) - & gt; (Выполнять обработку сообщений и преобразования, делать вещи) - & gt; Исходящий

Problem/ Issue:

Теперь я хочу представить четвертый поток, поток № 4, который получает информацию о состоянии от входящей конечной точки и на основе этой информации может предотвратить выполнение потока № 3 или предотвратить его обработку входящих сообщений.

Другими словами, в идеале мне хотелось бы, чтобы поток # 4 запускался при запуске приложения ESB (как, по-видимому, автоматически выполняются все потоки), и на основе информации о состоянии, которую он получает из входящего сообщения, запретить / разрешить или включите / отключите поток № 3 от любой обработки сообщений от конечной точки № 3.

Вот что мне идеально нужно:

Requirements:

Must be able to accomplish solely through the mule flow XML, no additional POJO/ custom Java objects. Flow #4 must be performed at startup of the ESB application and only the first inbound message needs to ever be processed. Ideally, I don't want Flow #3 to have a composite inbound source or have to evaluate every inbound message the state of some global variable.

Как лучше всего выполнить то, что я хочу сделать?

Если нет действительно хорошего решения, то, если я должен опустить требование # 3, то каков наилучший способ для достижения такой глобальной переменной, которая совместно используется двумя независимыми потоками, которые не связаны друг с другом каким-то исходящим потоком - & gt; входящая конечная точка в конфигурации XML? Я пытался использовать свойства сеанса, но они требуют, чтобы потоки были связаны как подпотоки или как конечная точка.

Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос