Spring Boot - Camel, как обрабатывать несколько процессов - PullRequest
0 голосов
/ 27 июня 2018

У меня есть 3 приложения Spring Boot - Camel, которые запускаются индивидуально. Мне нужно связать эти процессы, скажем, по завершении процесса A он должен инициировать процесс B, а затем, как только процесс B будет завершен, он должен продолжить процесс C. Если между процессами произойдет сбой, цепочка процессов должна повторить сбойный процесс и продолжить выполнение до следующего. Кроме того, в рамках процесса A, если на каком-либо из этапов маршрута есть какой-либо сбой, необходимо также повторить попытку и начать с промежуточного этапа. Может ли кто-нибудь помочь мне с реализацией этого сценария?

1 Ответ

0 голосов
/ 28 июня 2018

То, что вы описываете, звучит как шаблон Pipes and Filters .

Ваши 3 приложения будут «фильтрами» в этом шаблоне, если вы добавите в игру брокер сообщений , как ActiveMQ , вы получите «каналы» (очереди сообщений) в между и очень хорошей развязкой.

Это будет означать, что ваши приложения потребляют из очереди для обработки новых сообщений и выводят в другую очередь для передачи сообщений на следующий этап обработки. Для повторных попыток вы можете использовать Обработка ошибок верблюда (повтор шага неудачного маршрута) или повторную доставку брокера с локальными транзакциями JMS (повтор всего маршрута).

...