Рубрики
Без рубрики

Пример пакета задач Spring Batch

– Пример пакета задач Spring Batch

В пакете Spring Tasklet представляет собой интерфейс, который будет вызываться только для выполнения одной задачи, например, очистки или настройки ресурсов до или после выполнения любого шага. В этом примере мы покажем вам, как использовать Tasklet для очистки ресурса (папок) после завершения пакетного задания.

P.S То Задача создания файла приведенный ниже пример взят из Образцы весенней партии проект.

1. Пример набора задач

Класс Java для реализации Tasklet интерфейса и удаления всех файлов в данном каталоге.

package com.mkyong.tasklet;

import java.io.File;

import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.UnexpectedJobExecutionException;
import org.springframework.batch.core.scope.context.ChunkContext;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.repeat.RepeatStatus;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.core.io.Resource;
import org.springframework.util.Assert;

public class FileDeletingTasklet implements Tasklet, InitializingBean {

  private Resource directory;

  @Override
  public void afterPropertiesSet() throws Exception {
	Assert.notNull(directory, "directory must be set");
  }

  @Override
  public RepeatStatus execute(StepContribution contribution, 
               ChunkContext chunkContext) throws Exception {

	File dir = directory.getFile();
	Assert.state(dir.isDirectory());

	File[] files = dir.listFiles();
	for (int i = 0; i < files.length; i++) {
	  boolean deleted = files[i].delete();
	  if (!deleted) {
		throw new UnexpectedJobExecutionException(
                       "Could not delete file " + files[i].getPath());
	  } else {
	        System.out.println(files[i].getPath() + " is deleted!");
	  }
	}
	return RepeatStatus.FINISHED;
  }

  public Resource getDirectory() {
	return directory;
  }

  public void setDirectory(Resource directory) {
	this.directory = directory;
  }

}

2. Пакетные Задания

Пакетное задание для выполнения следующих шагов:

Шаг 1 – Прочитать несколько файлов из csv/входов/ и записать их куда-нибудь. Шаг 2 – После завершения шага 1 запустите fileDeletingTasklet , чтобы удалить все файлы из каталога csv/входные данные/ .

  
	
	  
		
	  
	
	
		
	
  
	
  
	
  
	
  
	
	
  
	

Скачать Исходный Код

Рекомендации

  1. Шаг задания весенней партии
  2. Тасклет JavaDoc
  3. Образцы весенней партии

Оригинал: “https://mkyong.com/spring-batch/spring-batch-tasklet-example/”