|
对于最新稳定版本,请使用Spring Batch Documentation 6.0.0! |
ItemReader
虽然这是一个简单的概念,但ItemReader是提供来自众多数据的手段
不同类型的输入。最一般的例子包括:
-
平面文件:平面文件项目读取器读取平面文件中通常的数据行 描述记录,其数据字段由文件中固定位置定义或分隔 通过某些特殊字符(如逗号)进行。
-
XML:XML
ItemReader能够独立于解析技术处理 XML, 映射和验证对象。输入数据允许对XML文件进行验证 对抗XSD模式。 -
数据库:访问数据库资源以返回可映射为 的结果集 用于处理的对象。默认SQL
ItemReader实现调用行图仪返回对象时,如果需要重启,请跟踪当前行,存储 Basic 统计数据,并提供了一些交易改进,后面会详细说明。
还有许多其他可能性,但本章我们重点介绍基本的。一个
所有可用的完整列表ItemReader相关实现可见附录A。
ItemReader是通用的基础接口
输入作,如下接口定义所示:
public interface ItemReader<T> {
T read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException;
}
这读方法定义了ItemReader.叫它
返回一项物品或零如果没有剩余物品。一个项可能代表
文件、数据库中的一行,或XML文件中的元素。一般来说,期望
这些对象被映射到一个可用的域对象(例如贸易,福,或其他),但确实存在
合同中没有要求这样做。
预期实现ItemReader接口仅为前向。
然而,如果底层资源是事务型的(如JMS队列),那么调用读在回滚场景中,后续调用可能会返回相同的逻辑项。是的
还值得注意的是,缺乏需要处理的物品ItemReader不会导致
例外,被抛出。例如,数据库ItemReader配置为
返回0结果的查询返回零关于首次祈求读.