Apache camel 需要Apache Camel在后台每隔10分钟调用一个自定义处理器
在我们的项目中,我们正在使用ApacheCamel来满足REST、SFTP、SOAP等多个端点的需求。这是作为计划作业的一部分调用的,如果有太多记录需要处理,这些作业有时会运行数小时。 有时,我们的工作(或者更确切地说,流程)在任何一条驼峰路线上都会停滞数小时。 我们的要求是终止此类长时间运行/卡住的作业。 所以,我们要寻找的是,一旦我们使用context.start()启动一个作业,就可以创建一个自定义处理器,它可以每X分钟调用一次。 在该定制处理器中,我们将编写定制逻辑,以决定是继续还是终止作业等 我们在Camel中是否有这样的机制来编写定制处理器,该处理器可以在主运行Camel上下文中由Camel频繁触发?Apache camel 需要Apache Camel在后台每隔10分钟调用一个自定义处理器,apache-camel,background-process,Apache Camel,Background Process,在我们的项目中,我们正在使用ApacheCamel来满足REST、SFTP、SOAP等多个端点的需求。这是作为计划作业的一部分调用的,如果有太多记录需要处理,这些作业有时会运行数小时。 有时,我们的工作(或者更确切地说,流程)在任何一条驼峰路线上都会停滞数小时。 我们的要求是终止此类长时间运行/卡住的作业。 所以,我们要寻找的是,一旦我们使用context.start()启动一个作业,就可以创建一个自定义处理器,它可以每X分钟调用一次。 在该定制处理器中,我们将编写定制逻辑,以决定是继续还是终止
非常感谢您的帮助/指点。您可以添加另一条周期性触发的驼峰路由,并调用处理器。对于周期触发器,您可以从多个组件中进行选择
- >无依赖项,但最基本,基于JDK定时器)
- >无依赖项,更多选项,基于ScheduledExecutorService)
- >需要驼峰石英,选项加载,支持Cron表达式
- >仅在Camel 3中,支持Cron表达式