![](/img/trans.png)
[英]How to write multiple XML files for child beans in Spring Batch ItemWriter?
[英]Spring batch - write multiple files to multiple destinations
我是Spring批處理的新手,目前正在從事新的批處理工作。 我的批處理作業:
目前,我正在使用CompositeItemWriter編寫5個文件,並且可以正常工作。
<bean id="ComapanyWriter"
class="org.springframework.batch.item.support.CompositeItemWriter">
<property name="delegates">
<list>
<ref bean="CompanyAWriter" />
<ref bean="CompanyBWriter" />
<ref bean="CompanyCWriter" />
<ref bean="CompanyDWriter" />
<ref bean="ResignedEmpWriter" />
</list>
</property>
</bean>
但是,我意識到,如果讀取器從數據庫中檢索到5萬條記錄,則每個寫入器將循環所有記錄,搜索其各自的公司員工並寫入文件,這總共是5 x 5萬次,並且是多余的。 因此,我擔心性能。
我能想到的一些解決方案:
請告訴我如何實現上述方法或如何實現批處理作業目標。
ClassifierCompositeItemWriter
是必經之路。 Classifier
將對項目進行Classifier
並將其傳遞給指定的作者。 這樣,每個編寫器將只接收分配給它的類的項目,而不遍歷該塊的所有項目。
您可以在此處找到有關如何使用ClassifierCompositeItemWriter
的示例: https : //github.com/spring-projects/spring-batch/blob/master/spring-batch-infrastructure/src/test/java/org/springframework/batch /item/support/ClassifierCompositeItemWriterTests.java
有一個與此類似的問題,我在此添加以供參考: 讀取平面文件並寫入多個將寫入不同對象的寫入器 。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.