春季批处理,记录跳过的记录/行

男爵

为了能够记录所有跳过的记录/行(来自Flat文件),我FieldSet.getValues()FieldSetMapper<T>实现中链接了Item(数据模型)

record是我的数据模型。

public void loadRecord(FieldSet fieldSet){
    record.setFieldSet(fieldSet.getValues());
}

SB提供记录/线用于onSkipInReadFlatFileParseException要为onSkipInWrite和提供相同的功能onSkipInProcess,我想出了上述解决方案。另外,record它不存储平面文件中的所有字段,因此我不能仅使用数据模型来每一行。

  1. 这是实现这一目标的好方法吗?
  2. 还有其他方法吗?
  3. 记录/行对应于某个项目是否存储在任何上下文中?

谢谢您的帮助 !

卢卡·巴索·里奇(Luca Basso Ricci)

现在,我可以更好地理解您的问题了:)
将整行保存到您的域对象中,而不是FieldSet使用custom LineMapper
LineMapperjavadoc:

用于将线(字符串)映射到域对象的接口,通常用于将每行从文件读取的线映射到域对象。此接口的实现执行解析行的实际工作,而不必处理如何获取行。

因此,使用委托很容易解决您的问题:

class StoreLineLineMapper implements LineMapper<DomainObject> {
  private LineMapper<DomainObject> delegate;

  public DomainObject mapLine(java.lang.String line, int lineNumber) throws java.lang.Exception {
    DomainObject record = delegate.mapLine(line, lineNumber);
    record.setLineInfo(new LineInfo(line, lineNumber));
    return record;
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

春季批处理,记录跳过的记录/行

来自分类Dev

春季批处理:一次处理多个记录

来自分类Dev

遍历记录并分批处理

来自分类Dev

Codeigniter批处理更新以前的记录状态

来自分类Dev

选择记录进行循环批处理

来自分类Dev

在插入 spring 批处理之前删除记录

来自分类Dev

批处理文件FOR命令跳过行

来自分类Dev

如何:跳过 .csv 中的标题记录,并使用命令提示符或批处理将记录复制到另一个 csv 文件

来自分类Dev

春季批处理:NotSerializableException

来自分类Dev

春季批处理框架

来自分类Dev

春季批处理StoredProcedureItemReader

来自分类Dev

春季启动日志记录

来自分类Dev

批处理文件成功和错误记录

来自分类Dev

使用Odoo创建方法创建批处理记录

来自分类Dev

使用Azure Functions Python在批处理中运行记录循环

来自分类Dev

如何查看使用批处理操作删除的记录

来自分类Dev

使用批处理文件准确记录日期和时间

来自分类Dev

kafka 中记录 vs 请求 vs 批处理的概念

来自分类Dev

如何:获取批处理脚本以记录多个 robocopies

来自分类Dev

启用日志记录到批处理文件命令

来自分类Dev

Tortoisesvn跳过记录mergeinfo

来自分类Dev

TwiML中的记录被跳过

来自分类Dev

跳过子表中的记录

来自分类Dev

春季批处理步骤失败

来自分类Dev

春季批处理-运行JobLauncher

来自分类Dev

使用Datastax Cassandra CSharp LINQ批处理时,是否可以创建未记录的批处理?

来自分类Dev

使用Datastax Cassandra CSharp LINQ批处理时,是否可以创建未记录的批处理?

来自分类Dev

寻找循环我记录的宏,根据条件跳过行并结束

来自分类Dev

批处理-跳过空行的命令

Related 相关文章

热门标签

归档