2017-08-27 110 views
0

我配置它讀取數據庫中的一些項目Spring Batch的工作,做一些基本的過程和結果,應該創建CSV文件:Spring Batch的:FlatFileItem作家

<batch:job id="testJob" job-repository="jobRepository" parent="jobParent"> 
    <batch:step id="testStep" allow-start-if-complete="true"> 
     <batch:tasklet> 
      <batch:chunk 
        reader="testReader" 
        processor="testProcessor" 
        writer="testFileItemWriter" 
        commit-interval="1" 
      /> 
     </batch:tasklet>  
    </batch:step> 
</batch:job> 

<bean id="testReader" ...> 

<bean id="testProcessor" ...> 

<bean id="testFileItemWriter" class="org.springframework.batch.item.file.FlatFileItemWriter" scope="step"> 
    <property name="resource" value="file:test.csv" /> 
    <property name="lineAggregator"> 
     <bean class="org.springframework.batch.item.file.transform.DelimitedLineAggregator"> 
      <property name="delimiter" value=", "/> 
      <property name="fieldExtractor"> 
       <bean class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor"> 
        <property name="names" value="testId, firstName, lastName, addressLine1, addressLine2, city, stateProvince, postalCode, 
        country" /> 
       </bean> 
      </property> 
     </bean> 
    </property> 
</bean> 

但是,即使讀者得到這個CSV文件被創建從數據庫0項目。 因此結果是創建空的CSV文件。

我怎麼能做到這一點,當讀者沒有發現數據庫中的任何項目,然後不創建空文件(不稱呼作家)?

回答

1

在您的作者中,請在下面添加屬性,如果由作者創建,這將刪除一個空文件。

<property name="shouldDeleteIfEmpty" value="true" /> 
相關問題