Je configurer traitement par lots de printemps qui est lu une élément de base de données, faire un processus de base et comme résultat devrait créer un fichier csv:Spring Batch: FlatFileItem Writer
<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>
Mais ce fichier CSV est créé, même lorsque le lecteur se de la base de données 0 articles. Donc, comme le résultat est créé fichier CSV vide.
Comment est-ce que je pourrais faire cela quand le lecteur n'a pas trouvé d'articles dans la base de données alors ne pas créer le dossier vide (pas l'auteur d'appel)?