当前位置: 首页 > 知识库问答 >
问题:

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

柴凌
2023-03-14

我有3个单独运行的Spring Boot-Camel应用程序。我需要链接这些进程,例如在进程A完成后,它应该启动进程B,然后一旦进程B完成,它应该继续进程C。如果中间有任何进程失败,进程链应该重试失败的进程,并继续执行到下一个。此外,在进程A中,如果路由中的任何步骤有任何失败,那么我也需要重试并从中间步骤开始。有人能帮我实现这个场景吗?

共有1个答案

廉高邈
2023-03-14

你所描述的听起来像管道和过滤器模式。

在这种模式下,您的3个应用程序将是“过滤器”,如果您在游戏中添加了ActiveMQ这样的消息代理,您将在两者之间获得“管道”(消息队列),并实现了非常好的解耦。

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

 类似资料:
  • 在camel spring ws中,有没有办法将自定义主体(例如自定义bean)和http状态返回为500? 我试过了 然后在processor公共类ExceptionProcessor实现processor{ } 但是即使身体是我想要的,超文本传输协议状态总是200。 你能帮我吗? 更多信息:我正在使用camel 2.20.2版

  • 我正在尝试从目录中选取一个文件,拆分一个文件,并将每一个拆分行添加到ActiveMQ中。我在这个过程中遇到了异常处理的问题。假设目录中的文件是一个二进制文件(可执行文件),那么splitter会显示org.apache.camel.runtimeCamelException和java.nio.charset.MalFormedInputException异常。如果出现这种情况,那么我需要捕获这些异

  • 正如标题所说:是否可以在路由(-builder)的流程功能中启动一个驼峰endpoint?我刚接触apache camel,但已经做了一些项目。 情况如下:我正在使用apache camel和西门子Teamcenter RAC执行一个SavedQuery。结果是一个ModelObject[]和找到的元素。 对于这些元素中的每一个,我现在需要启动另一个endpoint,执行第二个搜索查询。我想到了这

  • 我试图创建一个Camel路由,它将并行处理传入的IMAP消息。邮件组件应该将传入的邮件分发到不同的线程(但是每个消息都应该按顺序通过两个处理步骤)。

  • 问题内容: 我正在尝试从骆驼路线中删除一些样板。 例如,让我们考虑两条路线,它们是相似的,并且它们的大部分内部物质都可以生成。我已经创建了一个组件“模板”,该模板创建了,并修改了XML配置以使用模板组件。 正在从中定义自定义方法(添加路线定义)。因此,在启动Camel上下文时,路由定义会出现在上下文中,但是框架不会为其创建路由服务,因此它们不会启动。 如何开始添加路线? 可能我遇到了XY问题,您可

  • 我已经为IntelliJ安装了Camel插件。 要开始调试,我们必须创建一个临时应用程序 您如何确切地知道本地加载的端口应用程序是什么?我怎样才能改变它?我没有找到关于。。。