Mule 3: Kontrolowanie, czy przepływ może być wykonywany

Moja obecna sytuacja:

Obecnie mam aplikację Mule ESB z trzema przepływami, które przetwarzają komunikaty pochodzące z dwóch różnych źródeł, te trzy przepływy są powiązane ze sobą za pomocą kolejki maszyn wirtualnych.

Przepływ # 1:

Przychodzące (punkt końcowy # 1) -> (Wykonaj przetwarzanie komunikatów i transformacje) -> Wychodzące (punkt końcowy # 3)

Przepływ # 2:

Przychodzące (punkt końcowy # 2) -> (Wykonaj przetwarzanie komunikatów i transformacje) -> Wychodzące (punkt końcowy # 3)

Przepływ # 3

Przychodzące (punkt końcowy 3) -> (Wykonaj przetwarzanie komunikatów i transformacje, wykonaj czynności) -> Wychodzące

Problem / problem:

Teraz chcę wprowadzić czwarty przepływ, Flow # 4, który pobiera informacje o stanie z przychodzącego punktu końcowego i na podstawie tych informacji może uniemożliwić wykonanie Flow # 3 / uniemożliwić mu przetwarzanie wiadomości przychodzących.

Innymi słowy, najlepiej byłoby, gdyby Flow # 4 był uruchamiany przy uruchamianiu aplikacji ESB (tak jak wszystkie przepływy wydają się automatycznie) i na podstawie informacji o stanie, które otrzymuje z wiadomości przychodzącej, zapobiegaj / zezwalaj lub włącz / wyłącz Flow # 3 przed przetwarzaniem wiadomości z punktu końcowego # 3.

Oto, czego najlepiej wymagam:

Wymagania:

Musi być w stanie osiągnąć wyłącznie za pomocą XML przepływu mułów, żadnych dodatkowych obiektów POJO / niestandardowych Java.Przepływ # 4 musi być wykonywany podczas uruchamiania aplikacji ESB i tylko pierwsza wiadomość przychodząca musi być kiedykolwiek przetworzona.W idealnej sytuacji nie chcę, aby Flow # 3 miał złożone źródło przychodzące lub musiał oceniać każdy komunikat przychodzący jako stan jakiejś zmiennej globalnej.

Jaki jest najlepszy sposób na osiągnięcie tego, co chcę zrobić?

Jeśli nie ma naprawdę dobrego rozwiązania, to jeśli muszę pominąć wymaganie # 3, to jaki jest najlepszy sposób na osiągnięcie takiej zmiennej globalnej, która jest współdzielona między dwoma niezależnymi przepływami, które nie są powiązane przez jakiś wychodzący -> przychodzący punkt końcowy w Konfiguracja XML? Próbowałem użyć właściwości sesji, ale wymagają one powiązania przepływów jako podprzepływów lub punktów końcowych.

Dzięki.

questionAnswers(1)

yourAnswerToTheQuestion