【发布时间】:2015-08-16 04:18:54
【问题描述】:
正如标题所说,整个批处理作业究竟如何使用 Spring Batch?我了解(当然,如果我错了,请纠正我)有一个存储作业的存储库,然后每个作业都有步骤,每个步骤要么是一个 tasklet,要么是 ItemReaders 和 ItemProcessors 的组合,然后是 ItemWriter一大块已经被填满。
我不明白这一切在实际代码中的样子;我一直在阅读文档并查看示例,但我迷路了。我什至如何确切地告诉作业在我想要的时间/地点运行?大约有一百万个以“作业”开头的类,我如何将它们中的最少量一起使用来存储我定义的作业,然后在何时/何地运行它们?此外,我看到的所有示例要么完全/大部分基于 XML,但我想尽可能少地使用 XML。
另一个令我困惑的大问题是,ItemReader/Processor/Writers 究竟是如何知道他们正在使用的项目/项目块的?想象我自己实现了一个 ItemProcessor 并不太牵强,为此,我显然需要访问它正在处理的项目来处理它,或者对于一个 ItemWriter,我想访问该块它想写的项目。
【问题讨论】:
-
何时执行 不是 Spring Batch 的一部分,例如使用计时器或石英库。我还想知道您是否真的查看了
ItemReader、ItemWriter和ItemProcessor的 javadoc,它们向您展示了 API 并回答了您的问题。 -
是的,我从实际答案中知道,这些课程的文档回答了我的部分问题。文档似乎仍然没有向我说明如何使用 tasklet 作为步骤传递和访问具有作业的对象。
标签: java spring spring-batch