zoukankan      html  css  js  c++  java
  • Spring-Batch CSV文件读取时的注意点

    按照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>


  • 相关阅读:
    Android一些问题
    内存泄漏(Memory Leak)
    内存溢出OOM
    Android面试题集合
    Handler之同步屏障机制(sync barrier)
    IdleHandler 原理浅析
    OkHttp原理
    RxJava操作符
    Android电量优化全解析
    Android内存优化大盘点
  • 原文地址:https://www.cnblogs.com/csliwei/p/4796255.html
Copyright © 2011-2022 走看看