gpt4 book ai didi

spring - 如何获取 itemProcessor - Spring Batch 中的行数和文件名

转载 作者:行者123 更新时间:2023-12-02 19:03:43 26 4
gpt4 key购买 nike

我正在使用 Spring Batch 来解析我的文件。在 ItemProcessor 中,我验证传入字段是否正确。如果不是,我想抛出 ValidationException 并将具有不正确字段的相应行记录到文件中。那么,如何找到 ItemProcessor 中的行数和文件名呢?

最佳答案

没有看到你的 ItemReader 配置,我真的不能确定,但​​如果你使用像 FlatFileItemReader 这样的东西来解析 csv,如果在严格模式下,它将验证列数。

假设你的读者看起来像这样,那就是:

<bean id="iItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
<property name="linesToSkip" value="1"/>
<property name="comments" value="#" />
<property name="encoding" value="UTF-8"/>
<property name="lineMapper" >
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
<property name="lineTokenizer">
<bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="delimiter" value=","/>
<property name="names">
<list >
<value>First_Field</value>
<value>Second_Field</value>
</list>
</property>
<property name="strict" value="true"/>
</bean>
</property>
<property name="fieldSetMapper">
<bean class="uk.co.package.FieldSetMapper">
<property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"/>
</bean>
</property>
</bean>
</property>

</bean>

对于任何无法处理的行,它将抛出 FlatFileParseException。这包括行号,可以在监听器中处理。

关于spring - 如何获取 itemProcessor - Spring Batch 中的行数和文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14956762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com