Spring Batch 与 Web 应用程序的集成

Integration of Spring Batch with a web application

我正在开发一个接受 csv 文件、解析其内容并将其存储在数据库中的 Web 应用程序。 我正在使用 spring 引导。

我阅读了 this 关于 spring 批处理的教程。

问题 #1
Spring Batch 的目的是仅实现独立程序,还是可以有效地集成到 Web 应用程序中?
我想知道,对于我的用例,FileInputStreamInputStreamReader 的组合来解析文件是否更简单直接,而使用 Spring Batch 可能有点矫枉过正。

问题 #2
我没有找到任何示例、教程或文档页面来解释如何从 Web 应用程序调用 (运行) "batch job"控制器的一种方法)。在前面提到的教程中,作业是来自应用程序的 "hooked",没有什么像 job.run(),它只是在批处理演示应用程序是 运行 时执行。它是怎么做出来的?有什么地方可以解释像我的特定用例这样的东西吗?

问题 #1

从 Web 应用程序使用 Spring Batch 可能是个好主意,因为您可以从 Spring Batch 中获得所有好处。

问题 #2

注入 JobLauncher 实例。 JobLauncher 是用于 运行 批处理作业的 class。

请阅读文档:

https://docs.spring.io/spring-batch/docs/current/reference/html/job.html#runningJobsFromWebContainer