【问题标题】:Spring batch or Spring core libraries for building file operation process用于构建文件操作流程的 Spring Batch 或 Spring 核心库
【发布时间】:2018-05-01 20:47:38
【问题描述】:

我正在涉足微服务,spring boot 批处理是否适用于以下要求?

  1. 从 Linux 中的特定目录读取一个或多个文件。
  2. 几个操作,如正则表达式、构建新文件、写入文件和 ftp 到某个位置
  3. 在进程中发送电子邮件失败

确认使用spring boot,现在问题来了

  1. 我应该使用 Spring Batch 还是只使用核心 Spring 框架?
  2. 我需要与 Control-M 集成以触发作业。使用 Spring 批处理库可以完全删除 Control-M 吗?因为我们不知道什么时候可以期待目录中的文件。

我还没有见过有这些要求的 POC。有人会提供一个示例 POC 或确认这可以通过 Spring 批处理实现吗?

【问题讨论】:

  • 春季批处理可能是解决方案的一部分,具体取决于正在处理的文件的大小和数量。如果这些参数不足以证明批处理的合理性,我认为 Spring Integration 将是一个实现解决方案的简单工具。配置使用轮询器检查应该触发处理的条件的集成流,并将输入路由到适当的端点。

标签: spring-boot spring-batch batch-processing


【解决方案1】:

我会为那个用例使用 Spring Batch。它不仅为读取、处理和写入文件提供了开箱即用的组件,它还为错误处理、可伸缩性等增加了更多功能。如果没有这些东西,你最终可能会自己组装春季批次。

至于通过 Control-M 启动,是的,许多大客户使用 Control-M 启动他们的工作。不幸的是,我自己从未做过,所以我无法提供任何有关机制的详细信息,但如果 Control-M 可以启动脚本或调用 REST API,那么您可以使用它启动作业。

【讨论】:

    【解决方案2】:

    我建议您选择 Spring Batch,因为它具有许多内置功能,可提供给您用于文件读取和写入所需位置的功能。即使您将能够处理记录跳过要求。您的邮件触发要求将由 Control M 处理。您只需为已处理的异常确定一个退出代码,并根据该退出代码将邮件触发给相应的成员。如果您选择春季批次,还有许多其他功能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2021-08-24
      • 2012-05-23
      • 2014-05-06
      • 1970-01-01
      • 2012-10-02
      • 1970-01-01
      • 1970-01-01
      • 2021-04-13
      • 2016-05-30
      相关资源
      最近更新 更多