ActiveMQ & Camel - Как создать зависимость в путях маршрутизации - PullRequest
2 голосов
/ 19 апреля 2010

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

Если, например, у меня есть Data_A, в котором есть Task_A и Task_B, которые необходимо выполнить. Принимая во внимание, что Data_B имеет только Task_B для выполнения.

Здесь каждая задача имеет очередь, обслуживаемую потребителями.

Если Задача_A должна выполняться только после Задачи_B, если Задача_B запрашивается для данных, как мне настроить такие зависимости?

1 Ответ

4 голосов
/ 23 апреля 2010

Вы можете использовать несколько маршрутов для расширения рабочего процесса, например,

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");
...