spring-boot - Spring Batch 与 Web 应用程序的集成
问题描述
我正在开发一个接受 csv 文件、解析其内容并将它们存储在数据库中的 Web 应用程序。我正在使用弹簧靴。
我阅读了有关 Spring Batch 的本教程。
问题 #1
Spring Batch 的目的是仅实现独立程序,还是可以有效地将其集成到 Web 应用程序中?
我想知道,对于我的用例,是否结合FileInputStream
和InputStreamReader
来解析文件可能更简单直接,而使用 Spring Batch 可能有点矫枉过正。
问题 #2
我没有找到任何示例、教程或文档页面来解释如何从 Web 应用程序(例如从控制器的方法)调用(运行) “批处理作业” 。在前面提到的教程中,作业是从应用程序中“挂钩”的,没有什么类似于 a job.run()
,它只是在运行批处理演示应用程序时执行。怎么可能做出来?有什么地方可以解释我的特定用例吗?
解决方案
问题 #1
从 Web 应用程序中使用 Spring Batch 可能是一个好主意,因为您可以从 Spring Batch 中获得所有好处。
问题2
注入JobLauncher
实例。JobLauncher 是用于运行批处理作业的类。
请阅读文档:
https://docs.spring.io/spring-batch/docs/current/reference/html/job.html#runningJobsFromWebContainer
推荐阅读
- ruby-on-rails - Rails:在 Rails 6 中使用绝对路径
- javascript - 如何使用 javascript onclick 事件调用 php 函数?
- c# - “使用类”和“调用类”有什么区别
- javascript - 如何将内联块列表项中的第一项水平居中
- javascript - 如何将按钮文本颜色动态更改为 LinearGradient 滚动视图的背景颜色?
- omnet++ - 创建不同类型节点的完整图
- reactive-programming - Spring Cloud Gateway 基于请求体内容的路由
- node.js - 未找到授权令牌 - Express-JWT 和 Auth0
- python - Python:如何使用 for 循环合并两个列表,如 zip
- c# - 如何从具有自己的 API(它具有 API 搜索端点)的第三方数据库加载数据以使用我的 azure Web 应用程序机器人实现?