Spring Boot-骆驼如何处理多个进程

时间:2018-06-27 16:20:03

标签: spring-boot apache-camel spring-camel multiple-processes

我有3个Spring Boot-Camel应用程序,它们分别运行。我需要链接这些流程,例如,在流程A完成后,它应该启动流程B,然后一旦流程B完成,就应该继续进行流程C。如果任何一个流程在两者之间失败,则流程链应该重试失败的流程,然后继续执行下一个。另外,在过程A中,如果路由中的任何步骤都失败,那么我还需要重试并从中间步骤开始。有人可以帮助我实现这种情况吗?

1 个答案:

答案 0 :(得分:0)

您所描述的听起来像Pipes and Filters pattern

按照这种模式,您的3个应用程序将成为“过滤器”,如果您向游戏中添加像ActiveMQ之类的消息代理,则会在两者之间获得“管道”(消息队列)和非常好的去耦。

这意味着您的应用程序从队列中消费以处理新消息,并生成另一个队列以将消息移交给下一个处理步骤。对于重试,您可以对本地JMS事务使用 Camel错误处理(重试失败的路由步骤)或经纪人重新交付机制(重试整个路由)。