簡體   English   中英

Spring 批處理:這是一個小任務還是塊?

[英]Spring Batch: is this a tasklet or chunk?

我有點困惑!

Spring Batch 提供了兩種不同的方式來實現作業:使用小任務和塊。

所以,當我有這個時:

<tasklet>
  <chunk 
    reader = 'itemReader'
    processor = 'itemProcessor'
    writer = 'itemWriter'
    />
</tasklet>

這是一個什么樣的實現? 小任務? 塊?

這是一個塊類型的步驟,因為在<tasklet>元素內部是一個<chunk>元素,它定義了讀取器、寫入器和/或處理器。

下面是一個作業的示例,該作業首先執行一個塊,然后執行一個 tasklet 步驟:

<job id="readMultiFileJob" xmlns="http://www.springframework.org/schema/batch">
  <step id="step1" next="deleteDir">
    <tasklet>
      <chunk reader="multiResourceReader" writer="flatFileItemWriter"
        commit-interval="1" />
    </tasklet>
  </step>
  <step id="deleteDir">
    <tasklet ref="fileDeletingTasklet" />
  </step>
</job>

<bean id="fileDeletingTasklet" class="com.mkyong.tasklet.FileDeletingTasklet" >
  <property name="directory" value="file:csv/inputs/" />
</bean>

<bean id="multiResourceReader"
class=" org.springframework.batch.item.file.MultiResourceItemReader">
  <property name="resources" value="file:csv/inputs/domain-*.csv" />
  <property name="delegate" ref="flatFileItemReader" />
</bean>

因此,您可以看到區別實際上是在步驟級別上,而不是整個工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM