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

我目前的项目基于Spring Batch和Spring集成 .

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

  • 从SFTP服务器读取文件(步骤1) .

  • 解密文件(步骤2) .

  • 将文件保存到数据库中(步骤3) .

我想把它分成步骤队列(从sftp读取,解密,写入db) . 我还需要保存文件,传输开始时间,传输结束时间,文件大小到DB .

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

但是现在我的项目主要基于Spring批处理,而不是Spring Integration .

你能给我一些建议吗?

或者,您能告诉我如何使用Spring Batch来驱动Spring Integration来读取SFTP文件 .

我怎样才能获得转移开始时间?

谢谢 . :)

回答(1)

2 years ago

添加一个tasklet作为第一步;让tasklet调用Spring Integration流程,可能使用sftp outbound gatewayGET 该文件 .

有一个如何在sftp sample中使用网关的示例 .

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