Spring 批处理:ItemReader 还是 ItemStream?

Spring Batch: ItemReader or ItemStream?

我正在创建一个新的 Spring 批处理服务。

阅读文档时遇到一些问题:

  1. 我不清楚使用 ItemReader 还是 ItemStream 更好?
  2. 我可以使用存储库而不是使用 JdbcTemplate 吗?

我需要将数据从 mssql 导入到 solr。

  1. It's not clear to me if it's preferible to use ItemReader or ItemStream?

ItemStream 用于有状态、可重启的项目 readers/writers。大多数内置 readers/writers 是可重启的(实现 ItemStream)。如果你打算实现一个自定义项 reader/writer 并希望它可以重新启动(意味着你需要 save/load 来自执行上下文的状态),你应该实现 ItemStream 除了ItemReader/ItemWriter(或实施 ItemStreamReader/ItemStreamWriter,将两者结合起来)。否则,您只能实施 ItemReader/ItemWriter.

  1. Can I use Repositories instead of uing JdbcTemplate?

是的,您可以检查RepositoryItemReader and RepositoryItemWriter