Java 关于步骤间数据的Spring批处理最佳实践
我们有一个旧的代码库,我认为通过选择一个好的批处理框架可以大大改进它 我已经开始尝试SpringBatch,并决定(在阅读了文档、多本书和论坛后)了解SpringBatch的最好方法是实际使用它,因此我将我们现有的一些应用程序重新开发为SpringBatch 以下是我重新开发的简单应用程序:Java 关于步骤间数据的Spring批处理最佳实践,java,spring,design-patterns,spring-batch,Java,Spring,Design Patterns,Spring Batch,我们有一个旧的代码库,我认为通过选择一个好的批处理框架可以大大改进它 我已经开始尝试SpringBatch,并决定(在阅读了文档、多本书和论坛后)了解SpringBatch的最好方法是实际使用它,因此我将我们现有的一些应用程序重新开发为SpringBatch 以下是我重新开发的简单应用程序: 从表中读取行并将行解析为POJO 如果满足给定条件,则忽略列表中的项目 从解析列表中写入文件 将文件上载到FTP 如果FTP上载成功,则将已解析列表的元素标记为已在数据库中处理 现在,我所做的是创建了一
- 从表中读取行并将行解析为POJO
- 如果满足给定条件,则忽略列表中的项目
- 从解析列表中写入文件
- 将文件上载到FTP
- 如果FTP上载成功,则将已解析列表的元素标记为已在数据库中处理
我在这里是否正确使用了Spring批处理?这就是我将如何构造作业步骤的方法
我添加了一个步骤,以防止在执行下游步骤时DB发生变化。我一直在阅读“Spring Batch Esintentials”一书,他们想到使用“holder Bean”来保存数据。注入bean以设置和获取数据。是的,这可能比我的两个选项要好。:)但是,仍然需要遍历我以前创建的文件,因此速度会慢一些,而且有点浪费。你认为我处理Spring批处理的方法正确吗?还有一件事:我不会使用系统命令Tasklet,这会使我的代码依赖于它运行的服务器,我会编写自己的Tasklet来处理FTP上传。但这只是一个细节:)我唯一需要解决的是如何使此解决方案线程安全。:)