Mula 3: Controlando se um fluxo pode ser executado

Minha situação atual:

Eu tenho atualmente um aplicativo Mule ESB com três fluxos que processam mensagens originadas de duas fontes diferentes, esses três fluxos são amarrados juntos usando uma fila de VM.

Fluxo 1:

Entrada (Terminal # 1) -> (Executar processamento de mensagens e transformações) -> Saída (Terminal 3)

Fluxo 2:

Entrada (Terminal 2) -> (Executar processamento de mensagens e transformações) -> Saída (Terminal 3)

Fluxo # 3

Entrada (Endpoint # 3) -> (Executa processamento de mensagens e transformações, faça coisas) -> Saída

Problema / Problema:

Agora, o que quero fazer é introduzir um quarto fluxo, o Fluxo 4, que obtém informações de estado de um ponto de extremidade de entrada e, com base nessas informações, evitar que o Fluxo 3 seja executado / impedir que ele processe suas mensagens de entrada.

Em outras palavras, o ideal seria que o Flow # 4 fosse executado na inicialização do aplicativo ESB (como todos os fluxos parecem fazer automaticamente) e, com base nas informações de estado obtidas de sua mensagem de entrada, impedir / permitir ou habilite / desabilite o Fluxo 3 de processar mensagens do Ponto de Extremidade # 3.

A seguir, o que eu de preferência requer:

Requisitos:

Deve ser capaz de realizar somente através do XML de fluxo de mula, sem objetos Java / POJO personalizados adicionais.O fluxo nº 4 deve ser executado na inicialização do aplicativo ESB e somente a primeira mensagem de entrada precisa ser processada.Idealmente, não quero que o Flow # 3 tenha uma origem de entrada composta ou tenha que avaliar cada mensagem de entrada no estado de alguma variável global.

Qual é a melhor maneira de realizar o que eu quero fazer?

Se não houver uma solução realmente boa, então, se eu precisar omitir o requisito nº 3, qual é a melhor maneira de realizar uma variável global que seja compartilhada entre dois fluxos independentes que não estão ligados por algum ponto de extremidade outbound -> inbound no Configuração XML? Eu tentei usar as propriedades da sessão, mas elas exigem que os fluxos sejam amarrados juntos como subfluxos ou por um nó de extremidade.

Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion