В весенней партии есть шесть “слушателей” для перехвата выполнения шага, я считаю, что имя класса должно быть понятным.
- Пошаговый список действий
- Средство для чтения элементов
- Список элементов
- Составитель статей
- Блоклистер
- Скиплистер
1. Пример слушателя
Три примера слушателя: ничего не делайте, только распечатайте сообщение.
package com.mkyong.listeners; import org.springframework.batch.core.ExitStatus; import org.springframework.batch.core.StepExecution; import org.springframework.batch.core.StepExecutionListener; public class CustomStepListener implements StepExecutionListener { @Override public void beforeStep(StepExecution stepExecution) { System.out.println("StepExecutionListener - beforeStep"); } @Override public ExitStatus afterStep(StepExecution stepExecution) { System.out.println("StepExecutionListener - afterStep"); return null; } }
package com.mkyong.listeners; import org.springframework.batch.core.ItemReadListener; import com.mkyong.Domain; public class CustomItemReaderListener implements ItemReadListener{ @Override public void beforeRead() { System.out.println("ItemReadListener - beforeRead"); } @Override public void afterRead(Domain item) { System.out.println("ItemReadListener - afterRead"); } @Override public void onReadError(Exception ex) { System.out.println("ItemReadListener - onReadError"); } }
package com.mkyong.listeners; import java.util.List; import org.springframework.batch.core.ItemWriteListener; import com.mkyong.Domain; public class CustomItemWriterListener implements ItemWriteListener{ @Override public void beforeWrite(List extends Domain> items) { System.out.println("ItemWriteListener - beforeWrite"); } @Override public void afterWrite(List extends Domain> items) { System.out.println("ItemWriteListener - afterWrite"); } @Override public void onWriteError(Exception exception, List extends Domain> items) { System.out.println("ItemWriteListener - onWriteError"); } }
2. Пакетные Задания
Пакетное задание, прикрепленное над тремя слушателями.
Предположим, загружены 3 записи из csv-файла и запишите их куда-нибудь, вот вывод консоли:
StepExecutionListener - beforeStep ItemReadListener - beforeRead ItemReadListener - afterRead ItemWriteListener - beforeWrite ItemWriteListener - afterWrite ItemReadListener - beforeRead ItemReadListener - afterRead ItemWriteListener - beforeWrite ItemWriteListener - afterWrite ItemReadListener - beforeRead ItemReadListener - afterRead ItemWriteListener - beforeWrite ItemWriteListener - afterWrite StepExecutionListener - afterStep
Скачать Исходный Код
Рекомендации
- Перехват Выполнения Шага
- Пошаговый список javadoc
- Средство для чтения элементов Явадок
- Список элементов Явадок
- Составитель статей Явадок
- Список блоков javadoc
- Скиплистер javadoc
Оригинал: “https://mkyong.com/spring-batch/spring-batch-listeners-example/”