Spring / Java恢复方法/作业

时间:2019-02-27 09:28:50

标签: spring-batch workflow jobs quartz spring-retry

我有一个方法,它由五个命令组成,其中一些是对外部系统的rest调用,一些正在计数某些值,有些只是将某些内容保存在数据库中。

这种方法可能会失败并引发异常。 每个步骤都会引发唯一的异常,因此我可以获得一个信息,说明哪个步骤失败了,以及以后是否可以继续执行流程(例如,我始终可以继续执行)。 我有一个主要对象,可以将其视为执行上下文,因此在发生错误的情况下,我可以将该对象与信息一起保存,从哪个步骤继续执行,并且可以轻松地恢复该上下文。

恢复将稍后,手动或从某些工作中完成,这些工作将读取我的对象并决定是否应恢复。

因为我有很多这样的复合/可恢复命令,所以我在寻找库,这将有助于我以一般方式进行管理。

我发现的可能性是:

  • Spring Retry(和许多类似的库)-无法恢复,只能重新启动
  • 使用工作流框架-它们通常很繁重且相当复杂
  • Spring Batch-也很繁琐,但支持恢复
  • Jobs框架,例如Quartz-似乎不支持恢复

还有其他想法吗?

0 个答案:

没有答案