ActiveMQ и верблюд - как создать зависимость в пути маршрутизации
-
28-09-2019 - |
Вопрос
У меня есть маршрутизация сообщений для реализации, у которых есть маршруты, которые варьируются в зависимости от содержимого сообщения. Некоторые пряди маршрута зависят от других.
Если, например, у меня есть data_a, который имеет task_a и task_b для его выполнения. Принимая во внимание, что data_b есть только task_b для его выполнения.
Здесь у каждой задачи есть очередь, обслуживаемая потребителями.
Если task_a должна выполняться только после task_b, если task_b запрашивается на данные, как я могу настроить такие зависимости?
Решение
Вы можете использовать несколько маршрутов для разветвления рабочего процесса, как это
from("queue:start").
choice().xpath("//foo")).to("queue:taskB").
otherwise().to("queue:taskA");
from("queue:taskB").process(new DoTaskB()).to("queue:taskA");
from("queue:taskA").process(new DoTaskA()).to("queue:done");
Не связан с StackOverflow