ActiveMQ и верблюд - как создать зависимость в пути маршрутизации

StackOverflow https://stackoverflow.com/questions/2670133

Вопрос

У меня есть маршрутизация сообщений для реализации, у которых есть маршруты, которые варьируются в зависимости от содержимого сообщения. Некоторые пряди маршрута зависят от других.

Если, например, у меня есть 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");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top