【发布时间】:2015-07-25 13:09:33
【问题描述】:
用例是从 REST Web 服务读取大量数据,百万对象列表,处理它们并将它们写回某处。问题是我不想一口气从 Web 服务中读取所有数据。我想从 web 服务中读取总结果的一个子集,一次读取几个记录/对象,这样我就不会冒着从 spring 批处理中一次性读取所有数据而耗尽内存的风险读者。有没有办法做到这一点? Spring Batch 提供ItemReaderAdapter 用于从外部服务读取(与从数据库或平面文件相反),但除了支持委派某些调用外,它没有什么特别之处。我想做一些JDBCCursorItemReader 读取的东西,或者更确切地说是从数据库中流式传输而不是一次读取所有内容。
http://forum.spring.io/forum/spring-projects/batch/73040-default-webservice-reader-implementation 这里他们谈到了缺乏网络服务阅读器。
https://stackoverflow.com/a/25025898/153940 还提到 Spring Batch 没有网络服务ItemReader
【问题讨论】:
标签: stream spring-batch batch-processing chunking