Spring Batch: это тасклет или кусок? - PullRequest
0 голосов
/ 01 ноября 2019

Я немного растерялся!

Spring Batch предоставляет два разных способа реализации задания: использование тасклетов и чанков.

Итак, когда у меня есть это:

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

Что это за реализация? Тасклет? Кусок

1 Ответ

0 голосов
/ 12 ноября 2019

Это шаг типа чанка, потому что внутри элемента <tasklet> находится элемент <chunk>, который определяет устройство чтения, записи и / или процессора.

Ниже приведен пример задания, выполняющего сначала чанк и второй шаг тасклета:

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

Таким образом, вы можете видеть, что различие действительно на уровне шагов, а не для всего задания.

...