Spring Batch:如何使用 Spring Batch 从 sftp 服务器读取文件并将其保存到数据库中?

cyb*_*lex 5 spring sftp spring-integration spring-batch

我当前的项目是基于 Spring Batch 和 Spring 集成。

我的目标是使用 Spring Batch 执行作业流程步骤:

  1. 从 SFTP 服务器读取文件(步骤 1)。
  2. 解密文件(步骤2)。
  3. 将文件保存到数据库中(步骤3)。

我想将其分为步骤队列(从 sftp 读取、解密、写入数据库)。我还需要将文件、传输开始时间、传输结束时间、文件大小保存到数据库中。

几天前,我使用 Spring 集成从 sftp 服务器轮询文件,然后将其发送到 Spring 批处理来完成额外的工作。我也无法获得传输开始时间。

但现在我的项目主要基于Spring Batch,而不是Spring Integration。

你能给我一些建议吗?

或者,您能否向我展示如何使用 Spring Batch 驱动 Spring Integration 来读取 SFTP 文件。

我怎样才能得到传输开始时间?

谢谢。:)

Gar*_*ell 5

第一步添加一个tasklet;让 tasklet 调用 Spring Integration 流,可能使用文件的sftp 出站网关。GET

sftp 示例中有一个如何使用网关的示例。

“传输开始时间”将是您调用网关的时间。