码迷,mamicode.com
首页 > 编程语言 > 详细

Spring-Batch CSV文件读取时的注意点

时间:2015-09-10 00:28:13      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

按照Spring Batch 之 Sample(CSV文件操作)(四)

的方式配置好csvItemReader,

发现读入的数据很是奇怪,通过修改配置文件发现,

 commit-interval="1" 的时候,例程是没有问题的.如果大于1,例如设为50,则会把第50条数据,读50遍进来.


跟踪代码
org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper
的getBean()方法后发现,当配置文件如下时
                <bean:property name="fieldSetMapper">
<bean:bean
class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
<bean:property name="prototypeBeanName" value="student"></bean:property>
</bean:bean>
</bean:property>

prototypeBeanName会导致Chunk读取的数据会设置到唯一的指定Bean内,所以只有Chunk读取的最后一行数据能够保留在Bean中。

修改方式,采用targetType代替prototypeBeanName。
                        <!-- property name="prototypeBeanName" value="mongoDataHistory"></property-->
                        <property name="targetType" value="实体Bean的类名"></property>


Spring-Batch CSV文件读取时的注意点

标签:

原文地址:http://www.cnblogs.com/csliwei/p/4796255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!