Spring batch 春季批量生产是一种过度生产吗
我需要每周将CSV加载到数据库中一次。由于CSV文件包含两个表的数据,因此需要进行一些数据处理。因此,我将不得不处理一点CSV文件,可能会将其转换为2个不同的CSV文件,并将其加载到数据库中Spring batch 春季批量生产是一种过度生产吗,spring-batch,Spring Batch,我需要每周将CSV加载到数据库中一次。由于CSV文件包含两个表的数据,因此需要进行一些数据处理。因此,我将不得不处理一点CSV文件,可能会将其转换为2个不同的CSV文件,并将其加载到数据库中 我已经将石英配置到位。你认为使用SpringBatch来完成这项工作会有点过分吗?我想知道什么时候我应该使用它,什么时候我应该放弃quartz bean自己进行处理。Spring Batch非常适合这类工作,因为它减少了您需要关心的部件。在本例中,您所关心的只是对数据进行处理,然后插入到两个不同的表中。您可
我已经将石英配置到位。你认为使用SpringBatch来完成这项工作会有点过分吗?我想知道什么时候我应该使用它,什么时候我应该放弃quartz bean自己进行处理。Spring Batch非常适合这类工作,因为它减少了您需要关心的部件。在本例中,您所关心的只是对数据进行处理,然后插入到两个不同的表中。您可以使用
FileItemReader
读取数据。然后使用ItemProcessor
更改任何传入数据,并输出正确的数据,并进行适当的处理。您提供itemProcessor
,因为它是您的自定义Java逻辑。然后您可以使用JdbcItemWriter
,或者只需插入您自己的
这其中最美妙的部分是它的
[a]非常普遍,因此有很多很多的例子(请参阅:或Spring batch中的样本,以获取灵感)和
[b]它主要是声明性的。你不必担心那些你不关心的事情——你不需要弄清楚如何正确解析CSV文件,甚至不知道如何以可伸缩的方式读取文件。您只需要确保数据有效,并确保它在应该结束的地方结束。Spring Batch增加了额外的要求和维护难度:
- 您需要以字符串批处理惯用方式构造代码(实现它们的接口)
- 您需要编写一些XML或Java配置—需要学习一个额外的DSL
- 您需要管理工具来启动/停止/监视执行。Spring Batch Admin已正式弃用且未维护
- 您需要维护
表,定义索引策略(默认情况下缺失),定义周期表清理批处理
- 我通过调试会话和源代码学习了SpringBatch,因为文档只涉及简单的案例(如CSV->DB)