此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Batch 文档 5.1.2! |
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Batch 文档 5.1.2! |
虽然概念简单,但 an 是提供来自许多
不同类型的输入。最常见的示例包括:ItemReader
-
平面文件:平面文件项读取器从平面文件中读取数据行,通常 描述其数据字段由文件中的固定位置定义或分隔的记录 通过一些特殊字符(如逗号)。
-
XML:独立于用于解析的技术的 XML 处理 XML, 映射和验证对象。输入数据允许验证 XML 文件 针对 XSD 架构。
ItemReaders
-
Database:访问数据库资源以返回可映射到 对象进行处理。默认的 SQL 实现调用 a 返回对象,如果需要重新启动,则跟踪当前行,存储 basic 统计信息,并提供一些事务增强功能,稍后将对此进行说明。
ItemReader
RowMapper
还有更多可能性,但本章我们将重点介绍基本的可能性。一个
所有可用实现的完整列表可在附录 A 中找到。ItemReader
ItemReader
是泛型
input 操作,如以下接口定义所示:
public interface ItemReader<T> {
T read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException;
}
该方法定义了 .调用它
返回一个项目,或者没有更多项目。一个项目可能表示
文件、数据库中的一行或 XML 文件中的元素。通常预期
这些对象被映射到可用的域对象(例如 、 或其他),但是
是合同中没有要求这样做的。read
ItemReader
null
Trade
Foo
预计接口的实现仅向前。
但是,如果底层资源是事务性的(例如 JMS 队列),则在回滚场景中,调用可能会在后续调用中返回相同的逻辑项。是的
另外值得注意的是,缺少要由 an 处理的项目不会导致
异常。例如,配置了
返回 0 个结果的查询在第一次调用 .ItemReader
read
ItemReader
ItemReader
null
read